maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
[gnulib.git] / ChangeLog
1 2012-09-17  Jim Meyering  <meyering@redhat.com>
2
3         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
4         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
5         all uses of #define, not just those that start in column 1.
6         Richard W.M. Jones reported a false positive in
7         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
8
9 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10
11         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
12         * lib/localcharset.c (locale_charset) [DARWIN7]:
13         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
14         as these two values are incompatible.  Problem reported by Max Horn.
15         For more discussion, please see
16         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
17
18         doc: document sticky-EOF issue
19         * doc/posix-functions/fgetc.texi (fgetc):
20         * doc/posix-functions/fgets.texi (fgets):
21         * doc/posix-functions/fread.texi (fread):
22         * doc/posix-functions/fscanf.texi (fscanf):
23         * doc/posix-functions/getc.texi (getc):
24         * doc/posix-functions/getchar.texi (getchar):
25         * doc/posix-functions/scanf.texi (scanf):
26         Mention that glibc and default Solaris do not conform to
27         C99 and POSIX-2001 or later, with respect to how getchar
28         etc. behave when feof reports nonzero.
29
30 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
31
32         poll: fix poll(0, NULL, msec)
33         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
34         but nfd is 0.  In that case poll should behave like select.
35
36 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
37             Paolo Bonzini <bonzini@gnu.org>
38
39         poll: fix for systems that can't recv() on a non-socket
40         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
41         is readable.  In this case POLLHUP will not be supported.
42         * doc/posix-functions/poll.texi: Document this.
43
44 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
45
46         poll/select: document portability problems not fixed by Gnulib.
47         * doc/posix-functions/poll.texi: poll does not work well on
48         pipes under Windows.  It has the same limitations as select on
49        BeOS.
50         * doc/posix-functions/select.texi: select does not work well
51        on pipes under Windows.
52
53 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
54
55         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
56         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
57         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
58         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
59
60 2012-09-06  Eric Blake  <eblake@redhat.com>
61
62         net_if: give more details about the bug being fixed
63         * doc/posix-headers/net_if.texi: Add clarification.
64
65 2012-09-05  Eric Blake  <eblake@redhat.com>
66
67         net_if: new module
68         * modules/net_if: New module, borrowing ideas from netinet_in.
69         * m4/net_if_h.m4: New file.
70         * lib/net_if.in.h: Likewise.
71         * doc/posix-headers/net_if.texi (net/if.h): Document it.
72         * MODULES.html.sh (lacking POSIX:2008): Likewise.
73         * tests/test-net_if.c: Make function checks conditional.
74         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
75
76 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
77
78         readutmp: fix non-portable UT_PID use
79         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
80         Use `UT_PID (u) > 0' as absolute condition.
81
82 2012-09-04  Jim Meyering  <meyering@redhat.com>
83
84         fts: reduce two or more trailing spaces to just one, usually
85         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
86         or more slashes, trim all but the final one.  But if a name consists
87         solely of two slashes, don't modify it.  If it consists solely of
88         three or more slashes, strip all but one.
89
90         This is part of the solution to a minor problem with rm:
91         it would print a bogus ELOOP diagnostic when failing to remove
92         the slash-decorated name of a symlink-to-directory:
93
94             $ mkdir d && ln -s d s && env rm -r s/
95             rm: cannot remove 's': Too many levels of symbolic links
96
97         With the change below and a trivial don't-trim-trailing-slashes
98         adjustment to remove.c, it does this:
99
100             $ env rm -r s/
101             rm: cannot remove 's/': Not a directory
102
103         Improved by: Eric Blake
104
105         fts: when there is no risk of overlap, use memcpy, not memmove
106         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
107
108 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
109
110         stdbool: be more compatible with mixed C/C++ compiles
111         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
112         Define to bool, true, false, respectively, as GCC's builtin
113         stdbool.h does.  Problem reported by Michael Goffioul in
114         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
115
116 2012-08-28  Jim Meyering  <meyering@redhat.com>
117
118         revert last change: it was not needed
119         * tests/test-vc-list-files-git.sh: There's already a test for
120         a working git, just below.
121
122 2012-08-28  Jim Meyering  <meyering@redhat.com>
123
124         tests: test-vc-list-files-git.sh: skip if git is not available
125         * tests/test-vc-list-files-git.sh: Skip this test when git is
126         not available.
127
128 2012-08-26  Bruno Haible  <bruno@clisp.org>
129
130         gnulib-tool: Remove no-op option --no-changelog.
131         * gnulib-tool (func_usage): Don't mention --no-changelog.
132         (do_changelog): Remove variable.
133         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
134
135 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
136
137         doc: remove fdl-1.2.texi
138         It is no longer used or maintained, and its use of @acronym
139         is problematic.  See the thread containing
140         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
141         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
142         * doc/old-licenses/fdl-1.2.texi: Remove.
143
144         execinfo: port to FreeBSD
145         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
146         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
147         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
148         * modules/execinfo (Link): Add $(LIB_EXECINFO).
149
150 2012-08-23  Jim Meyering  <meyering@redhat.com>
151
152         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
153         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
154         to placate gcc's -Wold-style-declaration.
155
156 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
157
158         doc: do not use @acronym
159         * doc/inet_ntoa.texi (inet_ntoa):
160         * doc/parse-datetime.texi (Seconds since the Epoch)
161         (Specifying time zone rules):
162         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
163         Don't use @acronym.  Problem reported by John Darlington in
164         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
165
166 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
167
168         stdnoreturn: port to newer GCCs
169         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
170         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
171         Problem reported by Jim Meyering in
172         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
173         Also, rename the 'test' function to a void a clash with the
174         already-supplied 'main' function; this fixes a bug that incorrectly
175         rejected GCC 4.7.1's <stdnoreturn.h>.
176         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
177         Document GCC problem.
178
179 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
180
181         pipe-filter: fix comment typo
182         * lib/pipe-filter.h: Mention correct function.
183
184 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
185
186         execinfo: new module
187         This is for Emacs.  Currently, it provides a no-effect stub
188         on all platforms where it does not already work.
189         It already works on glibc-based systems, and on Solaris 11.
190         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
191         New files.
192         * doc/glibc-headers/execinfo.texi (execinfo.h):
193         * MODULES.html.sh (Misc): Document it.
194
195 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
196
197         extern-inline: support old GCC 'inline'
198         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
199         if available.  This applies to GCC versions 2.7 through 4.2, or
200         when newer GCC is using -fgnu89-inline.  The goal is to address
201         some of the performance issues mentioned by Bruno Haible in
202         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
203
204 2012-08-20  Eric Blake  <eblake@redhat.com>
205
206         maint.mk: avoid redundant file name in message
207         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
208         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
209         (sc_makefile_path_separator_check): Remove bogus $(ME).
210
211 2012-08-20  Mike Frysinger <vapier@gentoo.org>
212
213         timer-time: fix link order when static linking on glibc
214         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
215         _after_ -lrt so that it's significant.
216
217 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
218
219         timespec: omit unnecessary AC_C_INLINE
220         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
221
222         stat-time: omit unnecessary AC_C_INLINE
223         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
224         Do not require AC_C_INLINE.
225
226         ignore-value: omit unnecessary AC_C_INLINE
227         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
228
229         sys_select: avoid 'static inline'
230         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
231
232         mktime: avoid 'static inline'
233         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
234         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
235
236 2012-08-19  Bruno Haible  <bruno@clisp.org>
237
238         gnulib-tool: Improve coding style.
239         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
240         func_emit_lib_Makefile_am.
241         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
242
243 2012-08-19  Bruno Haible  <bruno@clisp.org>
244
245         gnulib-tool: Fix indentation.
246         * gnulib-tool (func_import): Fix indentation.
247
248 2012-08-19  Bruno Haible  <bruno@clisp.org>
249
250         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
251         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
252         on the list of removed files.
253
254 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
255
256         test-parse-datetime: avoid glibc leap-second glitch
257         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
258         with the 2012 rules.  Problem reported by Bruce Dubbs in
259         <http://bugs.gnu.org/12206>.
260
261 2012-08-14  Bruno Haible  <bruno@clisp.org>
262
263         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
264         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
265         from argument.
266         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
267
268 2012-08-14  Eric Blake  <eblake@redhat.com>
269
270         ldexp: relax license
271         * modules/ldexp (License): Trivial relax, since the module only
272         provides a permissively licensed m4 file.
273
274 2012-08-13  Bruno Haible  <bruno@clisp.org>
275
276         gnulib-tool: Fix persistence of --witness-c-macro option.
277         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
278         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
279
280 2012-08-11  Eric Blake  <eblake@redhat.com>
281
282         count-leading-zeros: use a lookup table on non-gcc compilers
283         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
284         alternate implementation, suggested by Jim Meyering.
285
286 2012-08-10  Eric Blake  <eblake@redhat.com>
287
288         count-leading-zeros: new module
289         * modules/count-leading-zeros: New module.
290         * m4/count-leading-zeros.m4: New file.
291         * lib/count-leading-zeros.h: Likewise.
292         * modules/count-leading-zeros-tests: New test.
293         * tests/test-count-leading-zeros.c: New file.
294         * MODULES.html.sh (Integer arithmetic functions): Document it.
295
296 2012-08-07  Simon Josefsson  <simon@josefsson.org>
297             Jim Meyering  <meyering@redhat.com>
298
299         maintainer-makefile: Fix syntax error with dash.
300         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
301         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
302
303 2012-08-05  Jim Meyering  <meyering@redhat.com>
304
305         extern-inline: also ignore -Wmissing-declarations
306         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
307         required with gcc-4.8.0-to-be.
308
309         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
310         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
311         for /error ?([^,]*)/.  This avoids false-positives for strings like
312         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
313
314 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
315
316         gnumakefile: better interaction with Automake-NG
317         * modules/gnumakefile [Makefile.am]: The makefiles generated by
318         Automake-NG always contain a definition of VPATH, even in non-VPATH
319         builds (its value being simply '.' in that case).  So, in the
320         'clean-GNUmakefile' rule, to determine whether running under a
321         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
322         '$(VPATH)' expands to the empty string.
323
324 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
325
326         base64: Use extern C scope in header file, for C++.
327         * lib/base64.h: Add C++ namespace protection.
328
329 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
330
331         stat-time, timespec, u64: support naive out-of-dir builds
332         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
333         Use '#include "foo.h"', not '#include <foo.h>', when including
334         one's own interface.  This works better when configuring with
335         out-of-directory builds, since packages need not add an
336         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
337
338 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
339
340         utimens: use extern-inline
341         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
342         * lib/utimens.h: Add copyright notice, since this is now large enough
343         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
344         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
345         * modules/utimens (Depends-on): Add extern-inline.
346
347         u64: use extern-inline
348         * lib/u64.c: New file.
349         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
350         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
351         * modules/u64 (Files): Add lib/u64.c.
352         (Depends-on): Add extern-inline.
353         (configure.ac): No need to require AC_C_INLINE, since extern-inline
354         does that now.
355         (lib_SOURCES): Add u64.c.
356
357         timespec: use extern-inline
358         * lib/timespec.c: New file.
359         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
360         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
361         * modules/timespec (Files): Add lib/timespec.c.
362         (Depends-on): Add extern-inline.
363         (lib_SOURCES): Add timespec.c.
364
365         stat-time: use extern-inline
366         * lib/stat-time.c: New file.
367         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
368         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
369         * modules/stat-time (Files): Add lib/stat-time.c.
370         (Depends-on): Add extern-inline.
371         (lib_SOURCES): Add stat-time.c.
372
373         extern-inline: new module
374         * modules/extern-inline, m4/extern-inline.m4: New files.
375         This is for better support of 'extern inline' a la ISO C99,
376         with a portable alternative on compilers that do not support
377         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
378         of the Emacs executable, when compiled with debugging disabled,
379         which is a typical way that Emacs is built while developing.
380
381 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
382
383         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
384         * build-aux/do-release-commit-and-tag: Move variable definitions
385         together.
386         ($branch): Instead of defaulting to "master", default to the current
387         branch (as gnu-web-doc-update does).
388         (help): Display the current values of the option arguments.
389         * top/maint.mk (release-commit): New.
390         * top/README-release: Simplify the corresponding step.
391
392 2012-07-30  Eric Blake  <eblake@redhat.com>
393
394         passfd: fix comment on recvfd
395         * lib/passfd.c (recvfd): Fix comment.
396         Reported by Jann Horn <jannhorn@googlemail.com>.
397
398 2012-07-30  Jim Meyering  <meyering@redhat.com>
399
400         maint.mk: avoid a sub-shell
401         * top/maint.mk (release-prep): Remove unneeded sub-shell.
402
403 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
404
405         maint.mk: use silent-rules support from Automake
406         * top/maint.mk (news-check, vc-diff-check, announcement)
407         (no-submodule-changes, alpha beta stable, release-prep)
408         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
409
410 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
411
412         maint.mk: provide a web-manual-update target
413         * top/maint.mk: here.
414         * top/README-release: Use it to simplify the web manual update step.
415
416 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
417
418         README-release: shorten the circuit to post a news
419         * top/README-release: Point directly to the news submission form.
420
421 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
422
423         gnu-web-doc-update: fix --help
424         * build-aux/gnu-web-doc-update: The information "top level" was written
425         twice.
426
427 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
428
429         maint.mk: absolute VPATH issue
430         * top/maint.mk (release-prep): Help Git find .git/.
431         From Jim Meyering.
432
433 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
434
435         gitlog-to-changelog: fix previous change
436         * build-aux/gitlog-to-changelog: Fix condition.
437         Add missing ";".
438
439 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
440
441         gitlog-to-changelog: don't expect .git to be in $srcdir
442         Reported by Bruno Haible.
443         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
444         * build-aux/gitlog-to-changelog (&git_dir_option): New.
445         Use it.
446
447 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
448
449         maint.mk: absolute VPATH build fix
450         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
451         $(srcdir) is not a parent of $(builddir).
452
453 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
454
455         clean-temp: Fix memory leak.
456         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
457         'files' members of tmpdir.
458
459 2012-07-27  Jim Meyering  <meyering@redhat.com>
460
461         maint.mk: new rule: refresh-gnulib-patches
462         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
463         Use this rule to refresh them.
464         * top/maint.mk (refresh-gnulib-patches): New rule.
465
466 2012-07-24  Bruno Haible  <bruno@clisp.org>
467
468         gnulib-tool: Fix handling of inctests variable.
469         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
470         Reported by Nick Bowler <nbowler@elliptictech.com>.
471
472 2012-07-22  Bruno Haible  <bruno@clisp.org>
473
474         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
475         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
476         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
477         Remove exemption for getpass.h.
478         Suggested by Eric Blake.
479
480 2012-07-20  Eric Blake  <eblake@redhat.com>
481
482         verify: document conflict with -Wnested-externs
483         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
484
485         maint.mk: forbid exit(-1)
486         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
487
488 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
489
490         fsusage: port back to Solaris
491         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
492         error (fsd not declared) on Solaris 10.  Reported privately by
493         Andrew Borodin.
494
495 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
496
497         gnu-web-doc-update: fix error messages
498         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
499
500         gnu-web-doc-update: check the requirements.
501         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
502         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
503         * build-aux/bootstrap (find_tool): Comment change.
504
505 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
506
507         maint.mk: minor simplication.
508         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
509         for default values.
510
511 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
512
513         gitlog-to-changelog: VPATH build issues
514         If builddir is not a subdirectory of srcdir, running git from it will
515         fail.
516         * build-aux/gitlog-to-changelog (--srcdir): New option.
517
518 2012-07-15  Bruno Haible  <bruno@clisp.org>
519
520         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
521         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
522         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
523         Remove exemption for fpending.h.
524         Suggested by Eric Blake.
525
526 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
527
528         pthread_sigmask: fix bug on FreeBSD 9
529         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
530         Include string.h.
531         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
532         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
533         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
534         but pthread_sigmask (1729, NULL, NULL) returns zero.
535         See <http://bugs.gnu.org/11884>.
536         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
537         by inspecting whether the main call changed the old mask.
538
539 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
540
541         README-release: make it more legible
542         * top/README-release: Improve typography slightly.
543
544 2012-07-15  Jim Meyering  <meyering@redhat.com>
545
546         maint: require that each sc_... command start with "@"
547         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
548         "make sc_maint" helps us avoid this nit.
549
550 2012-07-15  Jim Meyering  <meyering@redhat.com>
551
552         maint.mk: add leading "@" to quiet new "make syntax-check" rule
553         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
554
555 2012-07-13  Eric Blake  <eblake@redhat.com>
556
557         maint.mk: new syntax check for HAVE_DECL checks
558         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
559         * cfg.mk
560         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
561         Exempt some false positives.
562         Based on a report by Karel Zak.
563
564         argp: make HAVE_DECL usage consistent
565         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
566         macros, not whether they are defined.
567         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
568         convention with other declaration checks.
569         Reported by Karel Zak, with suggestions from Paul Eggert.
570
571         stat-time: relax license to LGPLv2+
572         * modules/stat-time (License): Relax, with consent of all authors.
573
574         strndup: fix m4 usage error
575         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
576         defined, to either 0 or 1.
577         Reported by Karel Zak.
578
579 2012-07-11  Jim Meyering  <meyering@redhat.com>
580
581         maint: enable the sc_avoid_if_before_free syntax-check rule
582         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
583         (if_before_free_offenders_): Define.
584         (if_before_free_basename_re_): Define.
585         Exempt current files with useless if-before-free.
586
587 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
588
589         gettext: do not assume '#define ... defined ...' behavior
590         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
591         Do not use '#define FOO ... defined BAR ...', as the C standard says
592         it's not portable to expect that this works after macro expansion.
593         Problem reported for gzip by Steven M. Schweda in
594         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
595
596 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
597
598         getloadavg: clean out old Emacs and Autoconf cruft
599         See Glenn Morris in <http://bugs.gnu.org/11905>.
600         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
601         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
602         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
603         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
604
605 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
606
607         bootstrap: let warn be like tests/init.sh's warn_
608         Reported by Jim Meyering.
609         * build-aux/bootstrap (warn): Remove, replaced by...
610         (warnf_, warn_): these.
611         Adjust callers.
612         Shorten messages that no longer fit in 80 columns.
613
614 2012-07-09  Bruno Haible  <bruno@clisp.org>
615
616         getopt: Simplify after Emacs changed.
617         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
618         (gl_GETOPT_IFELSE): Remove macro.
619
620 2012-07-09  Jim Meyering  <meyering@redhat.com>
621
622         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
623         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
624
625         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
626         Bugs in both of those conspired to make the
627         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
628         _sc_search_regexp's handling of non-empty $in_files would filter
629         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
630         choice of in_files value meant there would be no match in most
631         projects, due to the presence of two or more Makefile.in files.
632         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
633         Fix a bug in how a non-empty $$in_files was processed:
634         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
635         in spite of the name, it's a regexp, not a list of file names.
636
637 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
638
639         getloadavg, getopt: fix commentary re configure.in
640         Autoconf is deprecating the name 'configure.in', so change it to
641         to the new name 'configure.ac' in a couple of places.
642         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
643         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
644         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
645         Emacs has renamed it to configure.ac, and it no longer refers
646         to these macros anyway.
647
648         timespec: mark functions with const attributes
649         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
650         Mark with _GL_ATTRIBUTE_CONST.
651
652 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
653
654         canonicalize[-lgpl]: handle "guessing" values when cross-building
655         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
656         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
657         matches "*yes" instead of just "yes".  Regression introduced in commit
658         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
659
660 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
661             Bruno Haible  <bruno@clisp.org>
662
663         canonicalize: make the right guess when cross-compiling to GNU
664         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
665         determine whether cross-compiling to glibc systems, so as to
666         include GNU/Hurd.
667
668 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
669
670         timespec-sub: avoid duplicate include
671         * lib/timespec-sub.c: Do not include <config.h> twice.
672         Reported by Juanma Barranquero.
673
674 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
675
676         bootstrap: use a more consistent error reporting scheme
677         * build-aux/bootstrap (warn, die): New.
678         Use them.
679
680 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
681
682         sys_time: allow too-wide tv_sec
683         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
684         timeval even if tv_sec is wider than time_t.  This allows
685         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
686         as without this patch gnulib replaces struct timeval
687         and OpenBSD futimes therefore has a type mismatch.
688         * doc/posix-headers/sys_time.texi: Mention this.
689
690         pthread: check for both pthread_create and pthread_join
691         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
692         alter the check so that it tests for both pthread_create and
693         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
694         Suggested by Bruno Haible and Richard Yao in
695         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
696
697         parse-datetime: doc tuneup
698         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
699         spacing issues.
700
701 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
702
703         do-release-commit-and-tag: fix the previous commit
704         * build-aux/do-release-commit-and-tag: Actually the test was right,
705         but the comment and the error message were misleading.
706         Fix comment, and improve error message.
707         Perform check first, so that NEWS is not modified uselessly.
708
709         do-release-commit-and-tag: fix typo
710         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
711         _not_ start with a stub.
712
713 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
714
715         pthread: check for pthread_create, not pthread_join
716         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
717         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
718         pthread_join in libc.  I hope this removes the need for all the
719         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
720         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
721
722 2012-07-04  Jim Meyering  <meyering@redhat.com>
723
724         parse-datetime: fix failure to diagnose invalid input
725         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
726         rather than diagnosing the invalid input.  Now it reports this:
727         date: invalid date '\260'
728         * lib/parse-datetime.y (to_uchar): Define.
729         (yylex): Don't sign-extend "other" bytes.
730         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
731         Thanks to Bruno Haible for the patch to this file.
732         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
733         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
734
735 2012-07-03  Jim Meyering  <meyering@redhat.com>
736
737         bootstrap: do not require now-removed build-aux/missing
738         Now that build-aux/missing is, er, missing, bootstrap would
739         silently fail.
740         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
741         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
742         no longer part of gnulib.
743         Diagnose the failure.
744
745 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
746
747         alloca: add support for HP NonStop TNS/E native
748         * lib/alloca.in.h (alloca): Support the new host.
749         From a suggestion by Joachim Schmitz in
750         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
751
752 2012-07-02  Pádraig Brady  <P@draigBrady.com>
753
754         fsusage: remove code not needed on non GNU/Linux systems.
755
756         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
757         Don't include headers no longer needed in this case.
758         * lib/fsusage.c [STAT_STATVFS &&
759         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
760         STAT_STATFS2_FRSIZE to exclude code not used in this case.
761
762 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
763
764         fsusage: include files needed for glibc 2.6 fallback
765         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
766         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
767         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
768         Problem reported by Ludovic Courtès in
769         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
770
771         fsusage: avoid needless check on GNU/Linux
772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
773         on GNU/Linux systems, since it can't possibly work.
774
775 2012-07-01  Bruno Haible  <bruno@clisp.org>
776
777         log: Fix an autoconf >= 2.64 warning.
778         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
779         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
780
781 2012-06-28  Bruno Haible  <bruno@clisp.org>
782
783         log10f: Fix possible configuration problem.
784         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
785         $LOGF_LIBM.
786         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
787
788 2012-06-28  Bruno Haible  <bruno@clisp.org>
789
790         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
791         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
792         not gl_cv_func_unlink_works.
793         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
794
795 2012-06-27  Eric Blake  <eblake@redhat.com>
796
797         config: drop scripts that automake says are not independent
798         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
799         * build-aux/elisp-comp: Delete.
800         * build-aux/missing: Likewise.
801         * build-aux/ylwrap: Likewise.
802         * modules/elisp-comp: Likewise.
803         * MODULES.html.sh: Drop mention of elisp-comp.
804         * NEWS: Mention this.
805
806 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
807
808         root-uid: new module
809         This is for portability to Tandem's NonStop Kernel.
810         * lib/root-uid.h, modules/root-uid: New files.
811         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
812         * lib/write-any-file.c, tests/test-sethostname2.c:
813         Include "root-uid.h".
814         * lib/euidaccess.c (euidaccess):
815         * lib/pt_chown.c (main):
816         * lib/unlinkdir.c (cannot_unlink_dir):
817         * lib/write-any-file.c (can_write_any_file):
818         * m4/mknod.m4 (gl_FUNC_MKNOD):
819         * tests/test-sethostname2.c (geteuid, main):
820         Don't assume ROOT_UID == 0.
821         * modules/euidaccess (Depends-on):
822         * modules/pt_chown (Depends-on):
823         * modules/sethostname-tests (Depends-on):
824         * modules/unlinkdir (Depends-on):
825         * modules/write-any-file (Depends-on):
826         Add root-uid.
827
828         regex: use locale-independent comparison for codeset name
829         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
830         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
831         for codeset name.
832         * lib/regex_internal.h: Do not include <strings.h>, since we
833         no longer use strcasecmp.
834         * modules/regex (Depends-on): Remove strcase.
835
836 2012-06-23  Bruno Haible  <bruno@clisp.org>
837
838         getopt-posix: No longer guarantee that option processing is resettable.
839         * doc/posix-functions/getopt.texi: Drop description of problem with
840         internal state. Fix info about mingw and msvc9.
841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
842         option processing by getopt(). Run three test programs instead of one.
843         Simplify cross-compilation guess.
844         * NEWS: Mention the change.
845         Reported by Rich Felker <dalias@aerifal.cx>.
846
847 2012-06-26  Bruno Haible  <bruno@clisp.org>
848
849         argp, regex: Ensure strcasecmp gets declared.
850         * lib/argp-help.c: Include <strings.h>.
851         * lib/regex_internal.h: Likewise.
852         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
853
854 2012-06-24  Bruno Haible  <bruno@clisp.org>
855
856         ptsname_r: Make it consistent with ptsname on AIX.
857         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
858         implementation as for OSF/1.
859         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
860         a pty master.
861
862         ptsname_r: Make it consistent with ptsname on OSF/1.
863         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
864         OSF/1.
865
866 2012-06-24  Bruno Haible  <bruno@clisp.org>
867
868         ttyname_r: Fix result on OSF/1, Solaris.
869         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
870
871 2012-06-24  Bruno Haible  <bruno@clisp.org>
872
873         ptsname_r: Add support for Solaris.
874         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
875         Solaris.
876
877         ptsname_r: Fix test failure on native Windows.
878         * modules/ptsname_r (Depends-on): Add isatty.
879
880         ptsname_r: Fix test failures on IRIX, Solaris.
881         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
882         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
883         accordingly.
884         * lib/ptsname_r.c: Include <fcntl.h>.
885         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
886         set errno if fd is invalid.
887         * tests/test-isatty.c (main): Update comments.
888
889 2012-06-24  Bruno Haible  <bruno@clisp.org>
890
891         ptsname test: Extend test.
892         * tests/test-ptsname.c: Include <errno.h>.
893         (main): Test behaviour with invalid file descriptor.
894
895 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
896
897         time: fix obsolete comment
898         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
899         reference to HAVE_STRUCT_TIMESPEC in comment.
900
901 2012-06-23  Bruno Haible  <bruno@clisp.org>
902
903         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
904         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
905         does not handle abbreviated long options with equivalent
906         disambiguations, set gl_replace_getopt to yes.
907         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
908
909 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
910
911         time_r: fix typo that always overrode localtime_r decl
912         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
913         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
914         not in a standard include.
915
916 2012-06-22  Bruno Haible  <bruno@clisp.org>
917
918         Write "Mac OS X" instead of "MacOS X".
919         * README: Write "Mac OS X" instead of "MacOS X".
920         * build-aux/bootstrap: Likewise.
921         * build-aux/install-reloc: Likewise.
922         * lib/acl-internal.h: Likewise.
923         * lib/acl_entries.c: Likewise.
924         * lib/argp-ba.c: Likewise.
925         * lib/argp-pv.c: Likewise.
926         * lib/config.charset: Likewise.
927         * lib/copy-acl.c: Likewise.
928         * lib/csharpexec.c: Likewise.
929         * lib/euidaccess.c: Likewise.
930         * lib/fbufmode.c: Likewise.
931         * lib/fflush.c: Likewise.
932         * lib/file-has-acl.c: Likewise.
933         * lib/filemode.h: Likewise.
934         * lib/fpurge.c: Likewise.
935         * lib/freadable.c: Likewise.
936         * lib/freadahead.c: Likewise.
937         * lib/freading.c: Likewise.
938         * lib/freadptr.c: Likewise.
939         * lib/freadseek.c: Likewise.
940         * lib/fseeko.c: Likewise.
941         * lib/fseterr.c: Likewise.
942         * lib/fsusage.c: Likewise.
943         * lib/fwritable.c: Likewise.
944         * lib/fwriting.c: Likewise.
945         * lib/get-rusage-as.c: Likewise.
946         * lib/get-rusage-data.c: Likewise.
947         * lib/getdomainname.c: Likewise.
948         * lib/idpriv-drop.c: Likewise.
949         * lib/idpriv-droptemp.c: Likewise.
950         * lib/localcharset.c: Likewise.
951         * lib/locale.in.h: Likewise.
952         * lib/localename.c: Likewise.
953         * lib/mbsrtowcs-state.c: Likewise.
954         * lib/nproc.c: Likewise.
955         * lib/passfd.c: Likewise.
956         * lib/posix_openpt.c: Likewise.
957         * lib/printf-parse.c: Likewise.
958         * lib/progreloc.c: Likewise.
959         * lib/safe-read.h: Likewise.
960         * lib/safe-write.h: Likewise.
961         * lib/sched.in.h: Likewise.
962         * lib/set-mode-acl.c: Likewise.
963         * lib/signal.in.h: Likewise.
964         * lib/stdint.in.h: Likewise.
965         * lib/stdio-impl.h: Likewise.
966         * lib/stdlib.in.h: Likewise.
967         * lib/strtod.c: Likewise.
968         * lib/sys_select.in.h: Likewise.
969         * lib/tcgetsid.c: Likewise.
970         * lib/unistd.in.h: Likewise.
971         * lib/unlockpt.c: Likewise.
972         * lib/vasnprintf.c: Likewise.
973         * lib/vma-iter.c: Likewise.
974         * lib/wcsrtombs-state.c: Likewise.
975         * m4/acl.m4: Likewise.
976         * m4/acosl.m4: Likewise.
977         * m4/asinl.m4: Likewise.
978         * m4/atanl.m4: Likewise.
979         * m4/c-stack.m4: Likewise.
980         * m4/cosl.m4: Likewise.
981         * m4/expl.m4: Likewise.
982         * m4/extensions.m4: Likewise.
983         * m4/fdatasync.m4: Likewise.
984         * m4/fmal.m4: Likewise.
985         * m4/frexp.m4: Likewise.
986         * m4/frexpf.m4: Likewise.
987         * m4/frexpl.m4: Likewise.
988         * m4/fsusage.m4: Likewise.
989         * m4/getdomainname.m4: Likewise.
990         * m4/getloadavg.m4: Likewise.
991         * m4/getopt.m4: Likewise.
992         * m4/gettext.m4: Likewise.
993         * m4/gnulib-common.m4: Likewise.
994         * m4/intdiv0.m4: Likewise.
995         * m4/intlmacosx.m4: Likewise.
996         * m4/largefile.m4: Likewise.
997         * m4/ldexpl.m4: Likewise.
998         * m4/link-follow.m4: Likewise.
999         * m4/locale-ar.m4: Likewise.
1000         * m4/locale-fr.m4: Likewise.
1001         * m4/locale-ja.m4: Likewise.
1002         * m4/locale-tr.m4: Likewise.
1003         * m4/locale-zh.m4: Likewise.
1004         * m4/locale_h.m4: Likewise.
1005         * m4/lock.m4: Likewise.
1006         * m4/logl.m4: Likewise.
1007         * m4/mathfunc.m4: Likewise.
1008         * m4/minus-zero.m4: Likewise.
1009         * m4/mktime.m4: Likewise.
1010         * m4/mmap-anon.m4: Likewise.
1011         * m4/multiarch.m4: Likewise.
1012         * m4/nanosleep.m4: Likewise.
1013         * m4/nocrash.m4: Likewise.
1014         * m4/poll.m4: Likewise.
1015         * m4/printf-frexpl.m4: Likewise.
1016         * m4/printf.m4: Likewise.
1017         * m4/signbit.m4: Likewise.
1018         * m4/sinl.m4: Likewise.
1019         * m4/sqrtl.m4: Likewise.
1020         * m4/strerror_r.m4: Likewise.
1021         * m4/tanl.m4: Likewise.
1022         * m4/threadlib.m4: Likewise.
1023         * m4/ttyname_r.m4: Likewise.
1024         * m4/unlink.m4: Likewise.
1025         * m4/visibility.m4: Likewise.
1026         * m4/wcwidth.m4: Likewise.
1027         * tests/minus-zero.h: Likewise.
1028         * tests/test-alloca-opt.c: Likewise.
1029         * tests/test-copy-acl.sh: Likewise.
1030         * tests/test-copy-file.sh: Likewise.
1031         * tests/test-fdatasync.c: Likewise.
1032         * tests/test-file-has-acl.sh: Likewise.
1033         * tests/test-flock.c: Likewise.
1034         * tests/test-fsync.c: Likewise.
1035         * tests/test-localename.c: Likewise.
1036         * tests/test-malloca.c: Likewise.
1037         * tests/test-nonblocking-pipe.h: Likewise.
1038         * tests/test-nonblocking-socket.h: Likewise.
1039         * tests/test-openpty.c: Likewise.
1040         * tests/test-posix_openpt.c: Likewise.
1041         * tests/test-ptsname.c: Likewise.
1042         * tests/test-ptsname_r.c: Likewise.
1043         * tests/test-sameacls.c: Likewise.
1044         * tests/test-select.h: Likewise.
1045         * tests/test-set-mode-acl.sh: Likewise.
1046         * tests/test-snprintf-posix.h: Likewise.
1047         * tests/test-sprintf-posix.h: Likewise.
1048         * tests/test-strtod.c: Likewise.
1049         * tests/test-time.c: Likewise.
1050         * tests/test-vasnprintf-posix.c: Likewise.
1051         * tests/test-vasprintf-posix.c: Likewise.
1052         * doc/acl-resources.txt: Likewise.
1053         * doc/**/*.texi: Likewise.
1054         Reported by Max Horn <max@quendi.de>.
1055
1056 2012-06-22  Bruno Haible  <bruno@clisp.org>
1057
1058         grantpt: Relax requirement regarding invalid file descriptors.
1059         * lib/grantpt.c: Don't include <fcntl.h>.
1060         (grantpt): Don't verify the validity of the file descriptor.
1061         * modules/grantpt (Depends-on): Remove fcntl-h.
1062         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
1063         file descriptors.
1064         * doc/posix-functions/grantpt.texi: Document more platforms on which
1065         grantpt succeeds for invalid file descriptors.
1066         Reported by Rich Felker <dalias@aerifal.cx>.
1067
1068 2012-06-22  Bruno Haible  <bruno@clisp.org>
1069
1070         fbufmode test: Don't test unportable behaviour.
1071         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
1072         (main): Invoke it three times.
1073         Reported by Szabolcs Nagy <nsz@port70.net>
1074         and Rich Felker <dalias@aerifal.cx>.
1075
1076 2012-06-21  Bruno Haible  <bruno@clisp.org>
1077
1078         gnulib-tool: Refactor inctests variable.
1079         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
1080         (func_modules_transitive_closure,
1081         func_modules_transitive_closure_separately,
1082         func_import, func_create_testdir): Update.
1083
1084         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
1085         * gnulib-tool: Accept option --without-tests.
1086         (func_usage): Document --without-tests option. Rearrange.
1087         (inctests): Normalize according to the mode.
1088         * NEWS: Mention the change.
1089         Suggested by Simon Josefsson.
1090
1091 2012-06-21  Bruce Korb  <bkorb@gnu.org>
1092
1093         parse-duration test: Avoid spurious output.
1094         * tests/test-parse-duration.sh: Reindent with leading tabs.
1095
1096 2012-06-21  Jim Meyering  <meyering@redhat.com>
1097
1098         maint: disable the strncpy prohibition
1099         * cfg.mk: Do not prohibit strncpy here.
1100
1101 2012-06-21  Bruno Haible  <bruno@clisp.org>
1102
1103         nonblocking: Avoid compilation error on mingw64.
1104         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
1105         fscanf.
1106         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
1107         * modules/vfscanf (configure.ac): Likewise.
1108         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
1109         definition only if stdio.h has prepared it.
1110         Reported by Daniel P. Berrange <berrange@redhat.com>.
1111
1112 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
1113
1114         gnulib-tool: Use readlink if it is available.
1115         * gnulib-tool (func_readlink): Choose function more appropriately.
1116
1117 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1118
1119         posixtm-tests: port to buggy compiler
1120         Problem reported by Simon Josefsson in
1121         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
1122         * modules/posixtm-tests (Depends-on): Add stdint.
1123         * tests/test-posixtm.c (struct posixtm_test.t_expected):
1124         Now of type int_least64_t, not int64_t, both because that's
1125         what INT64_C returns and because int_least64_t works even
1126         on 72-bit hosts.
1127         (T): Use INT64_C on constants outside the traditional int range,
1128         to work around compiler bug noted by Simon.
1129
1130         mktime: fix integer overflow in 'configure'-time test
1131         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1132         after integer overflow.  Problem reported by Rich Felker in
1133         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1134         Also, don't look for further instances of a bug if we've already
1135         found one instance; this helps 'configure' run faster.
1136
1137 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1138
1139         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1140         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1141         GetVersionEx correctly.
1142         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1143
1144 2012-06-20  Bruno Haible  <bruno@clisp.org>
1145
1146         fdopen: Allow implementations that don't reject invalid fd arguments.
1147         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1148         succeeds.
1149         Reported by Rich Felker <dalias@aerifal.cx>.
1150
1151 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1152
1153         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1154         bring in LIBINTL.
1155
1156 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1157
1158         init.sh: do not rely on autoupated PWD
1159         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1160         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1161         Although Nelson's bug was not necessarily fixed by this patch,
1162         it seems wise to make the change for safety.
1163         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1164         automagically after 'cd'; this is not reliable on older shells.
1165         (setup_): Fail if we cannot cd to temporary directory.
1166
1167 2012-06-19  Bruno Haible  <bruno@clisp.org>
1168
1169         stat, fstat: Avoid warnings on mingw64.
1170         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1171         redefining.
1172         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1173         Reported by Daniel P. Berrange <berrange@redhat.com>.
1174
1175 2012-06-19  Bruno Haible  <bruno@clisp.org>
1176
1177         stdioext: Add support for musl libc.
1178
1179         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1180         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1181
1182         * m4/fseterr.m4: New file.
1183         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1184         function exists.
1185         * modules/fseterr (Files): Add m4/fseterr.m4.
1186         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1187         __fseterr does not exist.
1188         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1189
1190         * lib/freadable.h: Update comment.
1191
1192         * lib/fwritable.h: Update comment.
1193
1194         * lib/freading.h: Update comment.
1195
1196         * lib/fwriting.h: Update comment.
1197
1198         * m4/freadahead.m4: New file.
1199         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1200         that function exists.
1201         * modules/freadahead (Files): Add m4/freadahead.m4.
1202         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1203         __freadahead does not exist.
1204         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1205
1206         * m4/freadptr.m4: New file.
1207         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1208         function exists.
1209         * modules/freadptr (Files): Add m4/freadptr.m4.
1210         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1211         __freadptr does not exist.
1212         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1213
1214         * m4/freadseek.m4: New file.
1215         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1216         exists.
1217         * modules/freadseek (Files): Add m4/freadseek.m4.
1218         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1219
1220         * lib/fpurge.c (fpurge): Update comment.
1221
1222         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1223
1224 2012-06-19  Bruno Haible  <bruno@clisp.org>
1225
1226         *printf-posix: Put more info into config.log.
1227         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1228         exit code into config.log.
1229
1230 2012-06-19  Bruno Haible  <bruno@clisp.org>
1231
1232         getopt-gnu: Fix exit code overflow in autoconf test.
1233         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1234         to keep them below < 128.
1235
1236 2012-06-17  Jim Meyering  <meyering@redhat.com>
1237
1238         maint.mk: fix typo in code to derive GPG key at release time
1239         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1240
1241 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1242
1243         regex: avoid warning when pointers are not long
1244         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1245         and uintptr_t, not long, for portability to hosts where pointers and
1246         long have different sizes.  Issue noted by Daniel P. Berrange in
1247         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1248         and fix suggested by Bruno Haible in
1249         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1250
1251 2012-06-17  Bruno Haible  <bruno@clisp.org>
1252
1253         dummy: Relicense into the public domain.
1254         * modules/dummy (License): Set to "public domain".
1255         Suggested by Reuben Thomas.
1256
1257 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1258
1259         announce-gen: VPATH issues
1260         * build-aux/announce-gen (--srcdir): New option, used to trim the
1261         $srcdir part of the path from $builddir to NEWS.
1262         * top/maint.mk (announcement): Adjust.
1263
1264 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1265
1266         gnu-web-doc-update: VPATH builds
1267         * build-aux/gnu-web-doc-update (--builddir): New option.
1268         Revamp the handling of options.
1269         Prefer $(...) to `...`.
1270         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1271         the template, and it is GNU mktemp specific.
1272         Prefer set -e to long series of &&.
1273         Restore the initial git branch, not "master".
1274         Properly initialize submodules (don't rely only on bootstrap).
1275         Do not reconfigure blindly, use config.status.
1276         * top/README-release: Update instructions for gnu-web-doc-update.
1277
1278 2012-06-11  Jim Meyering  <meyering@redhat.com>
1279
1280         maint.mk: revert most of the previous change re "all these"
1281         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1282         For rationale, see the discussion at
1283         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1284
1285 2012-06-10  Karl Berry  <karl@gnu.org>
1286
1287         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1288
1289         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1290
1291 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1292
1293         parse-duration: Relicense under LGPLv2+.
1294         * modules/parse-duration (License): Change to LGPLv2+.
1295
1296 2012-06-10  Jim Meyering  <meyering@redhat.com>
1297
1298         maint.mk: prohibit common grammar error: "all these"
1299         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1300         the list of prohibited word sequences.  It should be "all of these".
1301         * lib/tempname.c (__gen_tempname): Fix one of them.
1302
1303 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1304
1305         do-release-commit-and-tag: support VPATH builds
1306         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1307         (noteworthy): Defined earlier to factor its value.
1308         (noteworthy_stub): New.
1309         Use it to factor.
1310         (help_version): Split into...
1311         (help, version): these.
1312         Adjust the option processing part.
1313         Support "--option=value" in addition to "--option value".
1314         (builddir): New.
1315         (--builddir): New option.
1316         * top/README-release: Document this.
1317         Reword slightly so that the reader cannot understand that he
1318         has to do these steps before calling do-release-commit-and-tag.
1319
1320 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1321
1322         readme-release: also require announce-gen and maintainer-makefile
1323         * modules/readme-release (Depends-on): here.
1324         * modules/announce-gen, modules/do-release-commit-and-tag,
1325         modules/gnu-web-doc-update, modules/maintainer-makefile
1326         (Description): Point to readme-release.
1327
1328 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1329
1330         maint.mk: fix VPATH issues.
1331         * top/maint.mk (news-check): GNU Make understand $< very well.
1332         (release-prep): NEWS is in $(srcdir).
1333
1334 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1335
1336         readme-release: require the promoted modules.
1337         * modules/readme-release (Depends-on): Add
1338         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1339         in this text.
1340
1341 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1342             Bruno Haible  <bruno@clisp.org>
1343
1344         error, strerror-override: Support mingw64 from Fedora 17.
1345         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1346         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1347         EINPROGRESS.
1348         * lib/strerror-override.h (strerror_override): Test it.
1349         * lib/strerror-override.c (strerror_override): Likewise.
1350         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1351
1352 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1353             Bruno Haible  <bruno@clisp.org>
1354
1355         error, strerror-override: Support mingw64 from Fedora 17.
1356         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1357         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1358         * lib/strerror-override.h (strerror_override): Test it.
1359         * lib/strerror-override.c (strerror_override): Likewise.
1360
1361 2012-06-03  Bruno Haible  <bruno@clisp.org>
1362
1363         error, strerror-override: Support new errno values from POSIX:2008.
1364         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1365         ENOTRECOVERABLE.
1366         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1367         platforms.
1368         * lib/strerror-override.c (strerror_override): Conditionalize the
1369         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1370         * lib/strerror-override.h (strerror_override): Declare also if
1371         GNULIB_defined_EOWNERDEAD is defined.
1372         * tests/test-errno.c (e130, e131): New variables.
1373         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1374         ENOTRECOVERABLE.
1375         Reported by Paolo Bonzini.
1376
1377 2012-05-31  Jim Meyering  <meyering@redhat.com>
1378
1379         savewd: add missing dependency on sys_wait module
1380         * modules/savewd (Depends-on): Add sys_wait, needed at least
1381         for MSVC.  Report and suggested change by Michael Goffioul.
1382
1383 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1384
1385         system-quote-tests: port to CentOS 5
1386         Problem reported by Tom G. Christensen in
1387         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1388         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1389
1390 2012-05-29  Jim Meyering  <meyering@redhat.com>
1391
1392         maint: fix typos in comments and ChangeLog
1393         Culprits identified and fixed mostly automatically using these commands:
1394         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1395         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1396         using http://github.com/lyda/misspell-check
1397         * ChangeLog: Fix typos.
1398         * doc/solaris-versions: Likewise.
1399         * lib/regexec.c (re_search_stub): Likewise.
1400         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1401
1402 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1403
1404         manywarnings: remove duplicate -Wmultichar entry
1405         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1406         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1407         so keep the entry marked as documented.
1408
1409 2012-05-27  Karl Berry  <karl@gnu.org>
1410
1411         * config/srclist.txt (mktime.c): remove last libc sync,
1412         perhaps just temporarily.
1413
1414 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1415
1416         regex: don't assume uint64_t or uint32_t
1417         * lib/regcomp.c (init_word_char): Don't assume that the types
1418         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1419         them, and on some 32-bit compilers there is no uint64_t.
1420         Problem reported by Gianluigi Tiesi in
1421         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1422
1423 2012-05-25  Jim Meyering  <meyering@redhat.com>
1424
1425         maint.mk: add strncpy-prohibiting syntax-check rule
1426         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
1427
1428 2012-05-24  Jim Meyering  <meyering@redhat.com>
1429
1430         maint.mk: compute $(gpg_key_ID) more portably
1431         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
1432         That use of sed is not portable to some fringe systems.
1433         Reported by Paul Eggert in
1434         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
1435
1436 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1437
1438         mktime: sync from glibc
1439         * config/srclist.txt: Uncomment mktime.c.
1440         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
1441         First, indent with tabs, since glibc uses tabs and doesn't want to
1442         change and we'd rather be identical to glibc.  Also, two small
1443         coding changes:
1444         (isdst_differ): Use &&, not &, as && is the usual style.
1445         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
1446         for clarity.
1447
1448 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1449
1450         announce-gen: du -h is more portable than du --human
1451         * build-aux/announce-gen (sizes): Invoke du with -h instead
1452         of --human.  Accept leading white space in its output.
1453
1454 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1455
1456         announce-gen: Improve diagnostics.
1457         * build-aux/announce-gen: When parsing command line options,
1458         prefer "announce-gen: option --release-type requires an argument"
1459         to "Option release-type requires an argument".
1460
1461 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1462
1463         maint.mk: gpg_key_ID: use sed more portably
1464         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1465         the closing brace.
1466         (refresh-po): Fuse two sed invocations into one.
1467
1468 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1469
1470         gitlog-to-changelog: support the log message format used in Bison.
1471         * build-aux/gitlog-to-changelog: Support --strip-tab and
1472         --strip-cherry-picked.
1473
1474 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1475
1476         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1477         the rest of the current time slice to another thread in the current
1478         process. So if the thread that feeds the file decscriptor we're
1479         polling is not in the current process, we get busy-waiting.
1480         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1481         Patch from Theodore Leblond.
1482         * lib/select.c: Split polling out of the loop that sets the output
1483         fd_sets.  Check for zero result and loop if the wait timeout is
1484         infinite.
1485
1486 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1487
1488         select: Fix build error on IRIX 6.5.
1489         * lib/select.c: Include stddef.h for NULL.
1490
1491 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1492
1493         gc: fix libgcrypt detection on older machines.
1494         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1495         copyright years because the file has been distributed every year
1496         since it was created.
1497
1498 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         crypto: fix bug in large buffer handling
1501         Problem reported by Serge Belyshev for glibc in
1502         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1503         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1504         * lib/md4.c (md4_process_block):
1505         * lib/md5.c (md5_process_block):
1506         * lib/sha1.c (sha1_process_block):
1507         * lib/sha256.c (sha256_process_block):
1508         Don't assume the buffer length is less than 2**32.
1509         * lib/sha512.c (sha512_process_block): Likewise.
1510         Here, the bug is present only in the rare case where the host does
1511         not support uint64_t or where size_t is wider than 64 bits.
1512         Use u64size to work around the problems.
1513         * lib/u64.h (u64size): New macro.
1514
1515 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1516
1517         fsusage: fix block size returned on older Linux 2.6
1518
1519         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1520         which is available since Linux 2.6.
1521         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1522         when the member is available so it can be used as a fallback.
1523         * doc/posix-functions/statvfs.texi: Mention the hang issue
1524         on Linux < 2.6.36.
1525
1526 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1527
1528         bootstrap: suppress stderr chatter
1529         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1530         Omit unnecessary chatter to stderr.  The main program chatter
1531         was there only inadvertantly.
1532
1533         bootstrap: .gitignore files created by autopoint, libtool
1534         I ran into this problem when bootstrapping the latest diffutils.
1535         After './bootstrap', 'git status' reported lots of untracked files
1536         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1537         autopoint and do not need to be version-controlled.
1538         * build-aux/bootstrap: Put into .gitignore the files that
1539         autopoint and libtool create, by keeping track of files that exist
1540         after but not before these programs are run.
1541         (version_controlled_file): Move up.  2nd arg is now full file
1542         name, not base name; this is more convenient.  Put CVS at the end,
1543         as it's now somewhat deprecated.
1544
1545 2012-05-14  Jim Meyering  <meyering@redhat.com>
1546
1547         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1548         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1549         definition.  Reported by Bruno Haible.
1550
1551 2012-05-13  Bruno Haible  <bruno@clisp.org>
1552             Paul Eggert  <eggert@cs.ucla.edu>
1553
1554         binary-io: Define set_binary_mode function.
1555         * lib/binary-io.h (set_binary_mode): New function.
1556         (SET_BINARY): Define in terms of set_binary_mode.
1557         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1558         * tests/test-binary-io.c (main): Accept an argument, and test either
1559         set_binary_mode or SET_BINARY depending on the argument.
1560         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1561         argument. Clean up also t-bin-out0.tmp.
1562
1563 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1564
1565         bootstrap: take advantage of POSIX shell features
1566
1567         The 'bootstrap' script offered by Gnulib script already uses POSIX
1568         shell features (like $((...)) arithmetic expansions) that are not
1569         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1570         means that bootstrap must already be run using a proper POSIX shell,
1571         which will thus provide more features, like ${var#pattern} parameter
1572         expansion or inversion of a command exit status with '!'.  We can
1573         thus use these features to improve the clarity and the performances
1574         of the bootstrap script.
1575
1576         Suggested by Eric Blake.
1577
1578         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1579         of sed/expr plus command substitutions, to save some forks.  While
1580         we are at it, prefer the POSIX $(...) form of command substitution,
1581         rather than the legacy form `...` (since the former is visually
1582         clearer and interacts better with quoting), and prefer the idiom:
1583           "if ! CMD; then ACTION ..."
1584         over the idiom:
1585           "if CMD; then :; else ACTION ..."
1586         which was required by legacy Bourne shells not supporting '!'.
1587
1588 2012-05-12  Bruno Haible  <bruno@clisp.org>
1589
1590         system-quote: Add more comments.
1591         * lib/system-quote.h: Add more comments about wilcards and limitations.
1592         Suggested by Eli Zaretskii <eliz@gnu.org>.
1593
1594         sh-quote, system-quote: Add comments about wildcards.
1595         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1596         * lib/system-quote.h: Likewise.
1597         Reported by Eli Zaretskii <eliz@gnu.org>.
1598
1599 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1600
1601         fsusage: check for GNU/Linux statvfs problem dynamically
1602         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1603         Define STAT_STATFS2_BSIZE too, since in this case the code now
1604         checks dynamically whether statvfs is reliable, falling back on
1605         Linux-style statfs otherwise.
1606         (statvfs_works): New function, for dynamically testing statvfs.
1607         (get_fs_usage) [STAT_STATVFS]: Use it.
1608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1609         statvfs on GNU/Linux hosts, since it's now done dynamically.
1610
1611 2012-05-10  Bruno Haible  <bruno@clisp.org>
1612
1613         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1614         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1615         '?' character.
1616         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1617         * tests/test-system-quote-main.c (check_all): Check also strings like
1618         "??????????".
1619         Reported by Eli Zaretskii <eliz@gnu.org>.
1620
1621 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1622
1623         _Noreturn: port config.h to gcc -Wundef
1624         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1625         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1626         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1627
1628 2012-05-10  Bruno Haible  <bruno@clisp.org>
1629
1630         system-quote: Refactor.
1631         * lib/system-quote.h (system_quote_copy): Fix comment.
1632         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1633         New functions, extracted from system_quote_copy.
1634         (system_quote_length, system_quote_copy): Use these functions.
1635         Reported by Paul Eggert.
1636
1637 2012-05-08  Bruno Haible  <bruno@clisp.org>
1638
1639         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1640         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1641
1642 2012-05-08  Bruno Haible  <bruno@clisp.org>
1643
1644         Tests for module 'system-quote'.
1645         * modules/system-quote-tests: New file.
1646         * tests/test-system-quote.sh: New file.
1647         * tests/test-system-quote-main.c: New file.
1648         * tests/test-system-quote-child.c: New file.
1649
1650         New module 'system-quote'.
1651         * lib/system-quote.h: New file.
1652         * lib/system-quote.c: New file.
1653         * modules/system-quote: New file.
1654
1655 2012-05-08  Bruno Haible  <bruno@clisp.org>
1656
1657         sh-quote: Make C++ safe and allow multiple inclusion.
1658         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1659         declarations in extern "C".
1660
1661 2012-05-08  Bruno Haible  <bruno@clisp.org>
1662
1663         sh-quote tests: Make tests stricter.
1664         * tests/test-sh-quote.c (check_one): Check the return value of
1665         shell_quote_copy.
1666         (main): Check a string with a CR character. Check a string that
1667         contains UCHAR_MAX.
1668
1669 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1670
1671         warnings.m4: provide a means to specify the program to compile.
1672         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1673         (gl_WARN_ADD): here.
1674         Use gl_AS_VAR_APPEND.
1675         Support an argument to specify the program to compile.
1676         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1677         AC_SUBST the WARN_CFLAGS when they are used.
1678         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1679         leave this to gl_WARN_ADD.
1680
1681 2012-05-08  Eric Blake  <eblake@redhat.com>
1682
1683         doc: recommendations on gettext version
1684         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1685         choice between versions.
1686         * DEPENDENCIES (gettext): Cover both approaches.
1687
1688 2012-05-08  Jim Meyering  <meyering@redhat.com>
1689
1690         init.sh: explain why EXEEXT support uses aliases rather than functions
1691         * tests/init.sh: Add a comment.
1692
1693         init.sh: don't let bash aliases interfere with tests
1694         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1695         is bash.  This avoids problems for those who alias standard commands to
1696         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1697         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1698
1699 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1700
1701         stdint: be more consistent with glibc, SunOS libc
1702         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1703         (gl_int_fast16_t, gl_uint_fast16_t)
1704         (gl_int_fast32_t, gl_uint_fast32_t)
1705         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1706         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1707         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1708         Be consistent with glibc by default, and with SunOS 5.10 and later
1709         if __sun is defined.  This lessens the likelihood of clashes if
1710         code compiled for older hosts is combined with code compiled for
1711         newer ones.  Problem reported by Niels Möller in
1712         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1713
1714 2012-05-07  Eric Blake  <eblake@redhat.com>
1715
1716         isatty: relax license to LGPLv2+
1717         * modules/isatty (License): Relax license.
1718
1719 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1720
1721         stat-size: comment fix
1722         * lib/stat-size.h: Remove obsolete comment about indenting.
1723
1724 2012-05-06  Bruno Haible  <bruno@clisp.org>
1725
1726         Tests for module 'sh-quote'.
1727         * modules/sh-quote-tests: New file.
1728         * tests/test-sh-quote.c: New file.
1729
1730 2012-05-06  Bruno Haible  <bruno@clisp.org>
1731
1732         sh-quote: Improve shell_quote_argv's signature.
1733         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1734         * lib/sh-quote.c (shell_quote_argv): Likewise.
1735
1736 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1737
1738         stdint: document issues with int_fast8_t etc.
1739         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1740         stdint.h substitutes may define these types differently.  See
1741         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1742
1743 2012-05-05  Bruno Haible  <bruno@clisp.org>
1744
1745         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1746         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1747         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1748         or 'guessing no (mishandles large arguments)'.
1749
1750 2012-05-05  Bruno Haible  <bruno@clisp.org>
1751
1752         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1753         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1754         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1755         set gl_cv_func_link_follows_symlink to "guessing no".
1756
1757 2012-05-05  Bruno Haible  <bruno@clisp.org>
1758
1759         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1760         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1761         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1762         "guessing no".
1763         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1764
1765 2012-05-05  Bruno Haible  <bruno@clisp.org>
1766
1767         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1768         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1769         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1770         set gl_cv_struct_dirent_d_ino to "guessing yes".
1771
1772 2012-05-05  Bruno Haible  <bruno@clisp.org>
1773
1774         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1775         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1776         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1777         "guessing yes".
1778
1779 2012-05-05  Bruno Haible  <bruno@clisp.org>
1780
1781         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1782         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1783         compiling to a glibc system, set gl_cv_func_signbit and
1784         gl_cv_func_signbit_gcc to "guessing yes".
1785
1786 2012-05-05  Bruno Haible  <bruno@clisp.org>
1787
1788         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1789         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1790         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1791         to "guessing yes".
1792         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1793         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1794
1795 2012-05-05  Bruno Haible  <bruno@clisp.org>
1796
1797         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1798         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1799         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1800         gl_cv_func_realpath_works to "guessing yes".
1801
1802 2012-05-05  Bruno Haible  <bruno@clisp.org>
1803
1804         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1805         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1806         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1807
1808 2012-05-04  Bruno Haible  <bruno@clisp.org>
1809
1810         Tweak last commit.
1811         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1812         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1813
1814 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1815
1816         unistd_h: make it easier to avoid sys_types_h
1817         This is useful for Emacs, which has its own method of porting to
1818         Windows, and which therefore does not need the sys_types_h module.
1819         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1820         code moved here from gl_SYS_TYPES_H.
1821         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1822         using the code directly.
1823         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1824         gl_SYS_TYPES_H.
1825         * modules/sys_types (Files):
1826         * modules/unistd (Files): Add m4/off_t.m4.
1827
1828 2012-05-03  Bruno Haible  <bruno@clisp.org>
1829
1830         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1831         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1832         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1833         "guessing yes" or "guessing no".
1834         (gl_FUNC_LSTAT): Update.
1835         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1836         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1837         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1838
1839 2012-05-03  Bruno Haible  <bruno@clisp.org>
1840
1841         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1842         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1843         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1844         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1845         cross-compiling, choose the first alternative on glibc systems.
1846         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1847
1848 2012-05-03  Bruno Haible  <bruno@clisp.org>
1849
1850         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1851         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1852         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1853
1854 2012-05-03  Bruno Haible  <bruno@clisp.org>
1855
1856         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1857         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1858
1859 2012-05-03  Bruno Haible  <bruno@clisp.org>
1860
1861         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1862         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1863         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1864         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1865         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1866         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1867         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1868         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1869         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1870         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1871         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1872         gl_cv_func_chown_ctime_works to "guessing yes".
1873         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1874         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1875         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1876         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1877         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1878         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1879         compiling to glibc systems, set gl_cv_func_open_directory_works to
1880         "guessing yes".
1881         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1882         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1883         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1884         "guessing yes".
1885         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1886         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1887         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1888         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1889         "guessing yes".
1890         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1891         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1892         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1893         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1894         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1895         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1896         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1897         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1898         "guessing yes".
1899         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1900         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1901         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1902         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1903         "guessing yes".
1904         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1905         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1906         "guessing yes".
1907         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1908         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1909         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1910         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1911         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1912         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1913         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1914         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1915         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1916         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1917         "guessing yes".
1918         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1919         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1920         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1921         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1922         "guessing yes".
1923         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1924         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1925         "guessing yes".
1926         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1927         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1928         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1929         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1930         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1931         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1932         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1933         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1934         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1935         "guessing yes".
1936         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1937         compiling to glibc systems, set gl_cv_func_mknod_works to
1938         "guessing yes".
1939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1940         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1941         "guessing yes".
1942         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1943         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1944         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1945         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1946         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1947         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1948         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1949         compiling to glibc systems, set gl_cv_func_svid_putenv to
1950         "guessing yes".
1951         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1952         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1953         "guessing yes".
1954         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1955         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1956         "guessing yes".
1957         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1958         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1959         to "guessing yes".
1960         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1961         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1962         to "guessing yes".
1963         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1964         compiling to glibc systems, set gl_cv_func_rmdir_works to
1965         "guessing yes".
1966         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1967         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1968         gl_cv_func_unlink_parent_fails to "guessing yes".
1969         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1970         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1971         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1972         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1973         gl_cv_func_rename_dest_works to "guessing yes".
1974         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1975         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1977         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1978         "guessing yes".
1979         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1980         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1981         "guessing yes".
1982         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1983         compiling to glibc systems, set gl_cv_func_setenv_works to
1984         "guessing yes".
1985         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1986         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1987         "guessing yes".
1988         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1989         compiling to glibc systems, set gl_cv_func_sleep_works to
1990         "guessing yes".
1991         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1992         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1993         "guessing yes".
1994         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1995         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1996         "guessing yes".
1997         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1998         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1999         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
2000         compiling to glibc systems, set gl_cv_func_truncf_ieee to
2001         "guessing yes".
2002         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
2003         compiling to glibc systems, set gl_cv_func_truncl_ieee to
2004         "guessing yes".
2005         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
2006         compiling to glibc systems, set gl_cv_func_usleep_works to
2007         "guessing yes".
2008         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
2009         compiling to glibc systems, set gl_cv_func_futimesat_works to
2010         "guessing yes".
2011
2012 2012-05-03  Bruno Haible  <bruno@clisp.org>
2013
2014         Say "guessing yes" or "guessing no" when cross-compiling.
2015         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
2016         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
2017         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
2018         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
2019         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
2020         am_cv_func_working_getline to "guessing yes" or "guessing no".
2021         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
2022         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
2023         (gl_FUNC_MEMMEM): When cross-compiling, set
2024         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
2025         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
2026         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
2027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
2028         set gl_cv_func_strcasestr_works_always to "guessing yes" or
2029         "guessing no".
2030         (gl_FUNC_STRCASESTR): When cross-compiling, set
2031         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
2032         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
2033         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
2034         (gl_FUNC_STRSTR): When cross-compiling, set
2035         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
2036         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
2037         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
2038         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
2039         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
2040
2041 2012-05-01  Bruno Haible  <bruno@clisp.org>
2042
2043         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
2044         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
2045         * build-aux/reloc-ldflags: Likewise.
2046         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
2047
2048 2012-05-01  Bruno Haible  <bruno@clisp.org>
2049
2050         gnulib-tool: Remove transitional code.
2051         * gnulib-tool: Don't warn about --import with 0 arguments any more.
2052         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2053
2054 2012-05-01  Bruno Haible  <bruno@clisp.org>
2055
2056         getcwd: Fix misindentation.
2057         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
2058
2059 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
2060
2061         exclude: process exclude and include directives in order
2062         This restores the pre-2009 behavior, and is part of a fix of a
2063         grep bug reported by Quentin Arce in
2064         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
2065         * lib/exclude.c (struct exclude): Remove 'tail' member.
2066         (new_exclude_segment): Prepend the new segment instead of appending.
2067         Return void, since that's now more convenient.
2068         (file_pattern_matches): Renamed from excluded_file_pattern_p.
2069         (file_name_matches): Renamed from excluded_file_name_p.
2070         (file_pattern_matches, file_name_matches):
2071         Return true if the pattern matches, not if it excludes.
2072         All callers changed.
2073         (excluded_file_name): Process the list in reverse order;
2074         since the list is now reversed this restores the pre-2009 behavior.
2075         (add_exclude): Adjust to new reversed-order list.  Use local var
2076         rather than macro, for clarity.
2077         * tests/test-exclude7.sh: Adjust to corrected behavior.
2078
2079         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
2080         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
2081         it's not possible here.  Handle the case of \ at end of pattern
2082         without dumping core.
2083         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
2084
2085         _Noreturn: future-proof non-GNU and non-MSVC compilers
2086         * build-aux/snippet/_Noreturn.h (_Noreturn):
2087         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2088         Do not define _Noreturn if __STDC_VERSION__ indicates this is
2089         C11 or later.  This is more likely to work with random future C
2090         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
2091         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
2092
2093         exclude: handle wildcards with FNM_EXTMATCH
2094         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
2095         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
2096         comment that "has wildcards" really means "has or may have
2097         wildcards".  Simplify by avoiding the need to call strcspn.
2098
2099 2012-04-29  Bruno Haible  <bruno@clisp.org>
2100
2101         gnulib-tool: Fix list of authors.
2102         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
2103
2104 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2105
2106         bootstrap: support Automake-NG in $buildreq
2107         * bootstrap (check_versions): Handle automake and aclocal from
2108         Automake-NG specially.  They can be specified as respectively
2109         the "automake-ng" and "aclocal-ng" requirements.
2110
2111 2012-04-25  Eric Blake  <eblake@redhat.com>
2112
2113         bootstrap: only force latest Makefile.in.in for gettext module
2114         * build-aux/bootstrap (with_gettext): Only install latest
2115         Makefile.in.in for projects requesting bleeding edge gettext.
2116
2117 2012-04-22  Bruno Haible  <bruno@clisp.org>
2118
2119         doc: Mention reason for replacement on glibc/Linux systems.
2120         * doc/posix-functions/dprintf.texi: Mention the problem with special
2121         'long double' values.
2122         * doc/posix-functions/fprintf.texi: Likewise.
2123         * doc/posix-functions/printf.texi: Likewise.
2124         * doc/posix-functions/snprintf.texi: Likewise.
2125         * doc/posix-functions/sprintf.texi: Likewise.
2126         * doc/posix-functions/vdprintf.texi: Likewise.
2127         * doc/posix-functions/vfprintf.texi: Likewise.
2128         * doc/posix-functions/vprintf.texi: Likewise.
2129         * doc/posix-functions/vsnprintf.texi: Likewise.
2130         * doc/posix-functions/vsprintf.texi: Likewise.
2131         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2132         platforms with F_DUPFD_CLOEXEC problems.
2133         * doc/posix-functions/glob.texi: Mention which platforms are affected
2134         by the problem with symbolic links.
2135         * doc/posix-functions/linkat.texi: Mention the problem with
2136         AT_SYMLINK_FOLLOW on Linux.
2137
2138 2012-04-22  Bruno Haible  <bruno@clisp.org>
2139
2140         pwrite: Don't replace on all platforms.
2141         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2142
2143 2012-04-22  Bruno Haible  <bruno@clisp.org>
2144
2145         rint* tests: Avoid gcc warnings.
2146         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2147         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2148         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2149
2150 2012-04-21  Bruno Haible  <bruno@clisp.org>
2151
2152         users.txt: Update.
2153         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2154         switched from CVS to git, bzr, or svn.
2155
2156 2012-04-21  Bruno Haible  <bruno@clisp.org>
2157
2158         Large File Support for native Windows platforms.
2159
2160         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2161         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2162
2163         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2164         type.
2165         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2166         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2167         * doc/posix-headers/sys_types.texi: Mention the effect of the
2168         'largefile' module.
2169
2170         * lib/fcntl.in.h: Add comments about off_t.
2171         * modules/fcntl-h (Depends-on): Add sys_types.
2172
2173         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2174         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2175         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2176         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2177         * modules/unistd (Depends-on): Add sys_types.
2178         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2179
2180         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2181         instead of lseek.
2182         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2183         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2184         * modules/lseek (Depends-on): Add sys_types.
2185
2186         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2187         msvc-nothrow.h.
2188         (SetFileSize): New function.
2189         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2190         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2191         if Large File Support is requested.
2192         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2193         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2194
2195         * lib/stdio.in.h: Add comments about off_t.
2196         * modules/stdio (Depends-on): Add sys_types.
2197
2198         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2199         instead of ftello.
2200         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2201         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2202         (gl_PREREQ_FTELLO): New macro.
2203         * modules/ftello (Depends-on): Add sys_types.
2204         (configure.ac): Incoke gl_PREREQ_FTELLO.
2205
2206         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2207         instead of fseeko.
2208         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2209         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2210         (gl_PREREQ_FSEEKO): New macro.
2211         * modules/fseeko (Depends-on): Add sys_types.
2212         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2213
2214         * lib/sys_stat.in.h: Add comments about off_t.
2215         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2216         64-bit integer for st_size in 'struct stat'.
2217         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2218         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2219         * modules/sys_stat (Depends-on): Add sys_types.
2220         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2221
2222         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2223         instead of stat or _stat.
2224
2225         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2226         'struct _stati64' instead of fstat and 'struct stat'.
2227         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2228         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2229
2230         Reported by Ray Satiro <raysatiro@yahoo.com>.
2231
2232 2012-04-19  Eric Blake  <eblake@redhat.com>
2233
2234         bootstrap: accommodate older libtool
2235         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2236         Reported by Daniel P. Berrange.
2237
2238 2012-04-19  Jim Meyering  <meyering@redhat.com>
2239
2240         announce-gen: avoid failure due to lack of Digest::SHA1
2241         Even with the preferred Digest::SHA available, this script
2242         would fail when the backup module, Digest::SHA1, was not installed.
2243         * build-aux/announce-gen: Quote the conditional use of "use".
2244         Reported by Reuben Thomas in:
2245         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2246
2247         bootstrap: don't let a user's CDPATH setting affect this script
2248         When CDPATH is set, cd will sometimes generate output.
2249         When "cd" is run in a subshell whose output matters, that
2250         surprising-to-some output can cause malfunction.
2251         Unsetting CDPATH turns off this shell "feature."
2252         * build-aux/bootstrap (CDPATH): Unset.
2253         Reported by Reuben Thomas in:
2254         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2255         and inspired by his patch here:
2256         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2257
2258 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2259         and Jim Meyering  <meyering@redhat.com>
2260
2261         maint.mk: catch "see @xref{}" and similar
2262         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2263         prohibit "See also @xref{", "Also see @pxref{", and similar.
2264
2265 2012-04-16  Jim Meyering  <meyering@redhat.com>
2266
2267         bootstrap: really use gnulib's po/Makefile.in.in
2268         * build-aux/bootstrap: Correct the source file name in previous change.
2269         Reported by Akim Demaille.
2270
2271         configmake: correct minor inconsistency in Makefile rule
2272         * modules/configmake (Makefile.am): All other rules like this one
2273         run the final "mv -f ..." in the same backslash-continued command
2274         as the one that does everything else.  This one put the mv -f ...
2275         command on a separate, non-backslash-continued line.
2276         Make it like the others.
2277
2278         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2279         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2280         the one from gettext.  Reported by Akim Demaille.
2281
2282 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2283
2284         Fix recursion of install-* into po directories.
2285         Bison's install-pdf bug reported by Hans Aberg at
2286         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2287         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2288         (install-info, install-pdf, install-ps): New targets.
2289
2290 2012-04-16  Jim Meyering  <meyering@redhat.com>
2291
2292         maint: avoid spurious "make sc_maint" failure
2293         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2294         exempt all *.class file names, for lib/javaversion.class.
2295
2296 2012-04-15  Bruno Haible  <bruno@clisp.org>
2297
2298         lseek: Make configure test independent of environment.
2299         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2300         Windows, we know that lseek() on pipes is broken; skip the runtime
2301         test.
2302
2303 2012-04-14  Bruno Haible  <bruno@clisp.org>
2304
2305         stat: Bypass buggy override in mingw64.
2306         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2307         * lib/stat.c (stat) [mingw64]: Define to _stat.
2308         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2309
2310 2012-04-14  Bruno Haible  <bruno@clisp.org>
2311
2312         pathmax: Fix compilation error on MSVC 9.
2313         * modules/pathmax (Depends-on): Add unistd.
2314
2315 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2316
2317         README: document pointer comparison assumption
2318         * README (Portability guidelines): Document assumption about
2319         pointer comparisons, in response to a recent bug-gnulib comment by
2320         Jeffrey Kegler.
2321
2322 2012-04-12  Bruno Haible  <bruno@clisp.org>
2323
2324         Tests for module 'getrusage'.
2325         * modules/getrusage-tests: New file.
2326         * tests/test-getrusage.c: New file.
2327
2328         New module 'getrusage'.
2329         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2330         warn-on-use.h.
2331         (getrusage): New declaration.
2332         * lib/getrusage.c: New file.
2333         * m4/getrusage.m4: New file.
2334         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2335         is declared.
2336         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2337         HAVE_GETRUSAGE.
2338         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2339         snippet/c++defs, snippet/warn-on-use.
2340         (Makefile.am): Update generation of sys/resource.h. Substitute
2341         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2342         * modules/getrusage: New file.
2343         * doc/posix-functions/getrusage.texi: Mention the new module.
2344
2345 2012-04-12  Bruno Haible  <bruno@clisp.org>
2346
2347         Tests for module 'sys_resource'.
2348         * modules/sys_resource-tests: New file.
2349         * tests/test-sys_resource.c: New file.
2350
2351         New module 'sys_resource'.
2352         * lib/sys_resource.in.h: New file.
2353         * m4/sys_resource_h.m4: New file.
2354         * modules/sys_resource: New file.
2355         * doc/posix-headers/sys_resource.texi: Mention the new module.
2356
2357 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2358
2359         ioctl: Fix compilation error on mingw.
2360         * lib/ioctl.c: Include <windows.h>.
2361         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2362
2363 2012-04-04  Jim Meyering  <meyering@redhat.com>
2364
2365         regex: correct #pragma guard expression
2366         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2367         not 4.3.  Correct its cpp guard expression.
2368
2369 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2370
2371         regex: remove unnecessary type punning
2372         Problem reported by Vladimir Serbinenko in
2373         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2374         * lib/regex.h (struct re_pattern_buffer): Change the type of
2375         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2376         Fix comment to match code.
2377         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2378         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2379         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2380         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2381         (set_regs):
2382         Omit no-longer-necessary casts.
2383
2384 2012-04-03  Bruno Haible  <bruno@clisp.org>
2385
2386         Tests for module 'ilogbl'.
2387         * modules/ilogbl-tests: New file.
2388         * tests/test-ilogbl.c: New file.
2389
2390         New module 'ilogbl'.
2391         * lib/math.in.h (ilogbl): New declaration.
2392         * lib/ilogbl.c: New file.
2393         * m4/ilogbl.m4: New file.
2394         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2396         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2397         Split sed invocation, to avoid the limit of 100 substitutions of
2398         HP-UX 'sed'.
2399         * modules/ilogbl: New file.
2400         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2401         * doc/posix-functions/ilogbl.texi: Mention the new module.
2402
2403 2012-04-03  Bruno Haible  <bruno@clisp.org>
2404
2405         Tests for module 'ilogbf'.
2406         * modules/ilogbf-tests: New file.
2407         * tests/test-ilogbf.c: New file.
2408
2409         New module 'ilogbf'.
2410         * lib/math.in.h (ilogbf): New declaration.
2411         * lib/ilogbf.c: New file.
2412         * m4/ilogbf.m4: New file.
2413         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2415         REPLACE_ILOGBF.
2416         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2417         REPLACE_ILOGBF.
2418         * modules/ilogbf: New file.
2419         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2420         * doc/posix-functions/ilogbf.texi: Mention the new module.
2421
2422 2012-04-03  Bruno Haible  <bruno@clisp.org>
2423
2424         Tests for module 'ilogb'.
2425         * modules/ilogb-tests: New file.
2426         * tests/test-ilogb.c: New file.
2427         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
2428         tests/test-logb-ieee.h.
2429
2430         New module 'ilogb'.
2431         * lib/math.in.h (ilogb): New declaration.
2432         * lib/ilogb.c: New file.
2433         * m4/ilogb.m4: New file.
2434         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
2435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
2436         REPLACE_ILOGB.
2437         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
2438         REPLACE_ILOGB.
2439         * modules/ilogb: New file.
2440         * tests/test-math-c++.cc: Check the declaration of ilogb.
2441         * doc/posix-functions/ilogb.texi: Mention the new module.
2442
2443 2012-04-03  Bruno Haible  <bruno@clisp.org>
2444
2445         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
2446         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
2447         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
2448         (main): Check their values.
2449         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
2450         problem.
2451
2452 2012-04-03  Bruno Haible  <bruno@clisp.org>
2453
2454         Tests for module 'logbl-ieee'.
2455         * modules/logbl-ieee-tests: New file.
2456         * tests/test-logbl-ieee.c: New file.
2457
2458         New module 'logbl-ieee'.
2459         * modules/logbl-ieee: New file.
2460
2461         Tests for module 'logb-ieee'.
2462         * modules/logb-ieee-tests: New file.
2463         * tests/test-logb-ieee.c: New file.
2464
2465         New module 'logb-ieee'.
2466         * modules/logb-ieee: New file.
2467
2468         Tests for module 'logbf-ieee'.
2469         * modules/logbf-ieee-tests: New file.
2470         * tests/test-logbf-ieee.c: New file.
2471         * tests/test-logb-ieee.h: New file.
2472
2473         New module 'logbf-ieee'.
2474         * modules/logbf-ieee: New file.
2475
2476 2012-04-03  Bruno Haible  <bruno@clisp.org>
2477
2478         Tests for module 'logbl'.
2479         * modules/logbl-tests: New file.
2480         * tests/test-logbl.c: New file.
2481
2482         New module 'logbl'.
2483         * lib/math.in.h (logbl): New declaration.
2484         * lib/logbl.c: New file.
2485         * m4/logbl.m4: New file.
2486         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2488         REPLACE_LOGBL.
2489         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2490         REPLACE_LOGBL.
2491         * modules/logbl: New file.
2492         * tests/test-math-c++.cc: Check the declaration of logbl.
2493         * doc/posix-functions/logbl.texi: Mention the new module.
2494
2495 2012-04-02  Bruno Haible  <bruno@clisp.org>
2496
2497         Tests for module 'logbf'.
2498         * modules/logbf-tests: New file.
2499         * tests/test-logbf.c: New file.
2500
2501         New module 'logbf'.
2502         * lib/math.in.h (logbf): New declaration.
2503         * lib/logbf.c: New file.
2504         * m4/logbf.m4: New file.
2505         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2506         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2507         REPLACE_LOGBF.
2508         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2509         REPLACE_LOGBF.
2510         * modules/logbf: New file.
2511         * tests/test-math-c++.cc: Check the declaration of logbf.
2512         * doc/posix-functions/logbf.texi: Mention the new module.
2513
2514 2012-04-02  Bruno Haible  <bruno@clisp.org>
2515
2516         logb tests: More tests.
2517         * tests/test-logb.h: New file, based on tests/test-logb.c and
2518         tests/test-frexp.h.
2519         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2520         (main): Just invoke test_function.
2521         * modules/logb-tests (Files): Add tests/test-logb.h,
2522         tests/minus-zero.h, tests/randomd.c.
2523         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2524
2525         logb: Provide replacement and workarounds.
2526         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2527         is 1.
2528         * lib/logb.c: New file.
2529         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2530         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2532         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2533         * modules/logb (Files): Add lib/logb.c.
2534         (Depends-on): Add isfinite, frexp, isnand.
2535         (configure.ac): Compile the replacement code logb.c if needed.
2536         * tests/test-math-c++.cc: Check the declaration of logb.
2537         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2538         with subnormal numbers.
2539
2540 2012-04-02  Bruno Haible  <bruno@clisp.org>
2541
2542         log10* tests: Speed up.
2543         * tests/test-log10.h (test_function): Reduce amount of random numbers
2544         to test.
2545
2546 2012-04-01  Bruno Haible  <bruno@clisp.org>
2547
2548         logf-ieee: Fix test whether logf works.
2549         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2550
2551 2012-04-01  Bruno Haible  <bruno@clisp.org>
2552
2553         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2554         * lib/log10l.c: Include <float.h>
2555         (log10l): On IRIX, normalize the +Infinity value.
2556         * modules/log10l (Depends-on): Add 'float'.
2557         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2558         +Infinity.
2559
2560         log10f-ieee: Work around test failure on NetBSD 5.1.
2561         * m4/log10f-ieee.m4: New file.
2562         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2563         test whether log10f works with a negative argument. Replace it if not.
2564         * lib/log10f.c (log10f): For negative arguments, return NaN.
2565         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2566         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2567         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2568
2569         log10f-ieee: Work around test failure on Solaris 9.
2570         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2571         (configure.ac): Require gl_FUNC_LOG10F.
2572
2573         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2574         * m4/log10-ieee.m4: New file.
2575         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2576         whether log10 works with a negative argument. Replace it if not.
2577         * lib/log10.c (log10): For negative arguments, return NaN.
2578         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2579         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2580         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2581
2582         Tests for module 'log10l-ieee'.
2583         * modules/log10l-ieee-tests: New file.
2584         * tests/test-log10l-ieee.c: New file.
2585
2586         New module 'log10l-ieee'.
2587         * modules/log10l-ieee: New file.
2588
2589         Tests for module 'log10-ieee'.
2590         * modules/log10-ieee-tests: New file.
2591         * tests/test-log10-ieee.c: New file.
2592
2593         New module 'log10-ieee'.
2594         * modules/log10-ieee: New file.
2595
2596         Tests for module 'log10f-ieee'.
2597         * modules/log10f-ieee-tests: New file.
2598         * tests/test-log10f-ieee.c: New file.
2599         * tests/test-log10-ieee.h: New file.
2600
2601         New module 'log10f-ieee'.
2602         * modules/log10f-ieee: New file.
2603
2604 2012-04-01  Bruno Haible  <bruno@clisp.org>
2605
2606         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2607         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2608         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2609         workaround.
2610         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2611         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2612         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2613         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2614         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2615         (Depends-on): Update conditions.
2616         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2617         IRIX 6.5, OSF/1 5.1 problems.
2618
2619 2012-04-01  Bruno Haible  <bruno@clisp.org>
2620
2621         log10f: Work around OSF/1 5.1 bug.
2622         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2623         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2624         workaround.
2625         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2626         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2628         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2629         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2630         (Depends-on): Update conditions.
2631         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2632
2633 2012-04-01  Bruno Haible  <bruno@clisp.org>
2634
2635         log10: Work around OSF/1 5.1 bug.
2636         * lib/math.in.h (log10): New declaration.
2637         * lib/log10.c: New file.
2638         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2639         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2640         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2642         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2643         * modules/log10 (Files): Add lib/log10.c.
2644         (Depends-on): Add math.
2645         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2646         * tests/test-math-c++.cc: Check the declaration of log10.
2647         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2648
2649 2012-03-31  Bruno Haible  <bruno@clisp.org>
2650
2651         log10l tests: More tests.
2652         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2653         tests/minus-zero.h, tests/randoml.c.
2654         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2655         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2656         (main): Invoke test_function.
2657
2658         log10f tests: More tests.
2659         * modules/log10f-tests (Files): Add tests/test-log10.h,
2660         tests/minus-zero.h, tests/randomf.c.
2661         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2662         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2663         (main): Invoke test_function.
2664
2665         log10 tests: More tests.
2666         * tests/test-log10.h: New file.
2667         * modules/log10-tests (Files): Add tests/test-log10.h,
2668         tests/minus-zero.h, tests/randomd.c.
2669         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2670         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2671         (main): Invoke test_function.
2672
2673 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2674
2675         fflush: Fix syntax error.
2676         * lib/fflush.c: Include unused-parameter.h, needed for
2677         _GL_UNUSED_PARAMETER.
2678         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2679
2680 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2681
2682         regex: pacify GCC when compiling GRUB
2683         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2684         a diagnostic.  Reported by Vladimir Serbinenko in
2685         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2686
2687 2012-03-29  Eric Blake  <eblake@redhat.com>
2688
2689         stdio: don't assume gets any more
2690         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2691         support.
2692         * modules/stdio (Makefile.am): Likewise.
2693         * lib/stdio-read.c (gets): Likewise.
2694         * tests/test-stdio-c++.cc: Likewise.
2695         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2696         * lib/stdio.in.h (gets): Make warning occur in more places.
2697         * doc/posix-functions/gets.texi (gets): Update documentation.
2698         Reported by Christer Solskogen.
2699
2700         maint.mk: fix syntax checks without exclusions
2701         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2702         Reported by Daniel P. Berrange.
2703
2704         strerror_r: avoid compiler warning
2705         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2706         level.
2707
2708         fflush: avoid compiler warning
2709         * lib/fflush.c (update_fpos_cache): Mark variables that are
2710         potentially unused.
2711
2712 2012-03-25  Bruno Haible  <bruno@clisp.org>
2713
2714         Tests for module 'localeconv'.
2715         * modules/localeconv-tests: New file.
2716         * tests/test-localeconv.c: New file.
2717
2718         New module 'localeconv'.
2719         * lib/locale.in.h (localeconv): New declaration.
2720         * lib/localeconv.c: New file.
2721         * m4/localeconv.m4: New file.
2722         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2723         REPLACE_LOCALECONV.
2724         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2725         REPLACE_LOCALECONV.
2726         * modules/localeconv: New file.
2727         * modules/nl_langinfo (Depends-on): Add localeconv.
2728         * modules/human (Depends-on): Likewise.
2729         * doc/posix-functions/localeconv.texi: Mention the new module.
2730
2731 2012-03-25  Bruno Haible  <bruno@clisp.org>
2732
2733         locale: Provide a complete 'struct lconv'.
2734         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2735         'struct lconv' does not contain int_p_cs_precedes.
2736         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2737         * doc/posix-headers/locale.texi: Update.
2738
2739         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2740         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2741         * doc/posix-headers/locale.texi: Update.
2742
2743         locale: Provide a working 'struct lconv'.
2744         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2745         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2746         'struct lconv' does not even contain decimal_point.
2747         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2748         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2749         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2750         * doc/posix-headers/locale.texi: Mention the problems with
2751         'struct lconv'.
2752         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2753
2754 2012-03-24  Bruno Haible  <bruno@clisp.org>
2755
2756         Enable common subexpression optimization in GCC.
2757         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2758         macros.
2759         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2760         GCC attribute 'const'.
2761         (uc_locale_language): Declare with GCC attribute 'pure'.
2762         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2763         with GCC attribute 'const'.
2764         * lib/unictype.in.h (uc_is_general_category_withtable,
2765         uc_combining_class, uc_combining_class_name,
2766         uc_combining_class_long_name, uc_bidi_class_name,
2767         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2768         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2769         uc_decimal_value, uc_digit_value, uc_numeric_value,
2770         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2771         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2772         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2773         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2774         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2775         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2776         Declare with GCC attribute 'const'.
2777         (uc_general_category_name, uc_general_category_long_name,
2778         uc_general_category_byname, uc_general_category,
2779         uc_is_general_category, uc_combining_class_byname,
2780         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2781         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2782         Declare with GCC attribute 'pure'.
2783         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2784         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2785         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2786         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2787         with GCC attribute 'pure'.
2788         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2789         'const'.
2790         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2791         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2792         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2793         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2794         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2795         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2796         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2797         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2798         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2799         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2800         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2801         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2802         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2803         GCC attribute 'pure'.
2804         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2805         'const'.
2806         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2807         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2808         u32_strwidth): Declare with GCC attribute 'pure'.
2809
2810         Enable common subexpression optimization in GCC.
2811         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2812         (alphasort): Declare with GCC attribute 'pure'.
2813         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2814         (atoll): Declare with GCC attribute 'pure'.
2815         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2816         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2817         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2818         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2819         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2820         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2821         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2822
2823 2012-03-24  Bruno Haible  <bruno@clisp.org>
2824
2825         gnulib-tool: Avoid unintended error output from 'cmp'.
2826         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2827         "cmp -s", not "cmp > /dev/null".
2828
2829 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2830
2831         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2832
2833         It's not just Automake versions < 1.9b that creates an empty
2834         pkgdatadir at installation time if pkgdata_DATA is specified
2835         to empty; modern automake versions do this as well, at least
2836         until automake 1.11.4 (not yet released at the moment of writing,
2837         but soon to appear).  That behaviour was generally considered a
2838         feature rather than a bug, at least until this discussion:
2839         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2840
2841         See also automake bugs #10997 and #11030.
2842
2843         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2844         reference to relevant automake bug numbers.
2845         (func_emit_tests_Makefile_am): Likewise.
2846
2847 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2848
2849         announce-gen: use Digest::SHA when possible
2850         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2851         back to Digest::SHA1 if necessary.
2852
2853 2012-03-20  Jim Meyering  <meyering@redhat.com>
2854
2855         tests: avoid gcc warnings about argv vs. const initializers
2856         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2857         warnings about discarding 'const' qualifier from pointer target type.
2858         * tests/test-posix_spawn2.c (main): Likewise.
2859
2860 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2861
2862         README-release: simplify slightly
2863         * top/README-release: Run "git checkout master" only once.
2864
2865 2012-03-15  Mark Wielaard  <mark@klomp.org>
2866
2867         git-merge-changelog: add specific example on how to use with hg.
2868         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2869
2870 2012-03-18  Mark Wielaard  <mark@klomp.org>
2871
2872         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2873
2874 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2875
2876         git-version-gen: don't let "prefix" envvar cause trouble
2877         * build-aux/git-version-gen (prefix): Initialize properly,
2878         so as not to use a value specified via the environment.
2879         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2880
2881 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2882
2883         regex: diagnose too-large repeat counts in EREs
2884         Previously, the code did not diagnose the too-large repeat count
2885         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2886         as if it were 'b\{1000000000}', which is unexpected.
2887         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2888         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2889         is a reasonable one for this problem.  Another option would be to
2890         create a new REG_OVERFLOW error for repeat counts that are too large.
2891         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2892         count is too large, so that the caller can distinguish the two cases.
2893         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2894         "Too large" return code, and that repeat counts are one example of this.
2895
2896 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2897
2898         doc: some glibc x32 integer width issues
2899         * doc/posix-headers/sys_types.texi (sys/types.h):
2900         * doc/posix-headers/time.texi (time.h):
2901         Mention that glibc x32 does not conform to POSIX in a couple of
2902         areas related to integer widths.
2903
2904 2012-03-15  Bruno Haible  <bruno@clisp.org>
2905
2906         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2907         * lib/fma.c (VOLATILE): New macro.
2908         (FUNC): Use it to work around a GCC compiler bug.
2909
2910 2012-03-13  Bruno Haible  <bruno@clisp.org>
2911
2912         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2913         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2914         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2915         REPLACE_HYPOTL to 1.
2916         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2917
2918 2012-03-13  Bruno Haible  <bruno@clisp.org>
2919
2920         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2921         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2922         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2923         REPLACE_REMAINDERL to 1.
2924         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2925         bug.
2926
2927 2012-03-13  Bruno Haible  <bruno@clisp.org>
2928
2929         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2930         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2931         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2932         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2933         too big rounding errors.
2934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2935         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2936         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2937         (Depends-on): Update conditions.
2938         * tests/test-sqrtl.c (my_ldexpl): New function.
2939         (main): Add test of a particular value.
2940         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2941
2942 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2943
2944         doc: Update timer_* platform portability notes.
2945         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2946         that always return ENOSYS.
2947         * doc/posix-functions/timer_delete.texi: Likewise.
2948         * doc/posix-functions/timer_gettime.texi: Likewise.
2949         * doc/posix-functions/timer_settime.texi: Likewise.
2950
2951 2012-03-13  Bruno Haible  <bruno@clisp.org>
2952
2953         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2954         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2955         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2956         REPLACE_CBRTL to 1.
2957         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2958
2959 2012-03-13  Bruno Haible  <bruno@clisp.org>
2960
2961         remainderl: Avoid compilation error on AIX >= 5.2.
2962         * lib/math.in.h (remainderl): Undefine macro from the system header.
2963
2964 2012-03-13  Bruno Haible  <bruno@clisp.org>
2965
2966         Avoid compilation errors with MSVC option -fp:strict.
2967         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2968         * lib/cbrtf.c: Likewise.
2969         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2970
2971 2012-03-12  Bruno Haible  <bruno@clisp.org>
2972
2973         uninorm: Don't crash in out-of-memory conditions.
2974         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2975         gracefully.
2976         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2977         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2978
2979 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2980
2981         quote: fix syntax-check
2982         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2983         also exports quote_quoting_options.
2984
2985 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2986
2987         Collapse list of copyright years to ranges.  See
2988         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2989         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2990         build-aux/csharpexec.sh.in, build-aux/gnupload,
2991         build-aux/install-reloc, build-aux/javacomp.sh.in,
2992         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2993         build-aux/move-if-change, build-aux/reloc-ldflags,
2994         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2995
2996 2012-03-11  Bruno Haible  <bruno@clisp.org>
2997
2998         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2999         * m4/log2f-ieee.m4: New file.
3000         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
3001         whether log2f works with a minus zero argument. Replace it if not.
3002         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
3003         (Depends-on): Add log2-ieee.
3004         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
3005         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
3006
3007         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
3008         * m4/log2-ieee.m4: New file.
3009         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
3010         whether log2 works with a minus zero argument. Replace it if not.
3011         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
3012         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
3013         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
3014
3015         Tests for module 'log2l-ieee'.
3016         * modules/log2l-ieee-tests: New file.
3017         * tests/test-log2l-ieee.c: New file.
3018
3019         New module 'log2l-ieee'.
3020         * modules/log2l-ieee: New file.
3021
3022         Tests for module 'log2-ieee'.
3023         * modules/log2-ieee-tests: New file.
3024         * tests/test-log2-ieee.c: New file.
3025
3026         New module 'log2-ieee'.
3027         * modules/log2-ieee: New file.
3028
3029         Tests for module 'log2f-ieee'.
3030         * modules/log2f-ieee-tests: New file.
3031         * tests/test-log2f-ieee.c: New file.
3032         * tests/test-log2-ieee.h: New file.
3033
3034         New module 'log2f-ieee'.
3035         * modules/log2f-ieee: New file.
3036
3037 2012-03-11  Bruno Haible  <bruno@clisp.org>
3038
3039         Tests for module 'log2l'.
3040         * modules/log2l-tests: New file.
3041         * tests/test-log2l.c: New file.
3042
3043         New module 'log2l'.
3044         * lib/math.in.h (log2l): New declaration.
3045         * lib/log2l.c: New file.
3046         * m4/log2l.m4: New file.
3047         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
3048         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
3049         REPLACE_LOG2L.
3050         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
3051         REPLACE_LOG2L.
3052         * modules/log2l: New file.
3053         * tests/test-math-c++.cc: Check the declaration of log2l.
3054         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
3055         and OSF/1 problems.
3056
3057 2012-03-11  Bruno Haible  <bruno@clisp.org>
3058
3059         Tests for module 'log2f'.
3060         * modules/log2f-tests: New file.
3061         * tests/test-log2f.c: New file.
3062
3063         New module 'log2f'.
3064         * lib/math.in.h (log2f): New declaration.
3065         * lib/log2f.c: New file.
3066         * m4/log2f.m4: New file.
3067         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
3068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
3069         REPLACE_LOG2F.
3070         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
3071         REPLACE_LOG2F.
3072         * modules/log2f: New file.
3073         * tests/test-math-c++.cc: Check the declaration of log2f.
3074         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
3075         and OSF/1 and Cygwin problems.
3076
3077 2012-03-11  Bruno Haible  <bruno@clisp.org>
3078
3079         Tests for module 'log2'.
3080         * modules/log2-tests: New file.
3081         * tests/test-log2.c: New file.
3082         * tests/test-log2.h: New file.
3083
3084         New module 'log2'.
3085         * lib/math.in.h (log2): New declaration.
3086         * lib/log2.c: New file.
3087         * m4/log2.m4: New file.
3088         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
3089         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
3090         REPLACE_LOG2.
3091         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
3092         REPLACE_LOG2.
3093         * modules/log2: New file.
3094         * tests/test-math-c++.cc: Check the declaration of log2.
3095         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
3096         and OSF/1 and Cygwin problems.
3097
3098 2012-03-11  Bruno Haible  <bruno@clisp.org>
3099
3100         exp2* tests: More tests.
3101         * tests/test-exp2.h (test_function): Test all integral arguments that
3102         don't need to overflow or denormalized numbers.
3103         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
3104         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
3105         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
3106
3107 2012-03-10  Bruno Haible  <bruno@clisp.org>
3108
3109         log1pl-ieee: Work around test failure on AIX 7.1.
3110         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
3111
3112         log1pl-ieee: Work around test failure on IRIX 6.5.
3113         * m4/log1pl-ieee.m4: New file.
3114         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
3115         test whether log1pl works with a minus zero argument. Replace it if
3116         not.
3117         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
3118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
3119         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
3120         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
3121         (Depends-on): Update conditions.
3122         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3123         m4/signbit.m4.
3124         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
3125         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
3126
3127         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3128         * m4/log1pf-ieee.m4: New file.
3129         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3130         test whether log1pf works with a minus zero argument. Replace it if
3131         not.
3132         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3133         m4/signbit.m4.
3134         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3135         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3136
3137         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3138         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3139         (configure.ac): Require gl_FUNC_LOG1PF.
3140
3141         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3142         * m4/log1p-ieee.m4: New file.
3143         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3144         whether log1p works with a minus zero argument. Replace it if not.
3145         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3147         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3148         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3149         (Depends-on): Update conditions.
3150         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3151         m4/signbit.m4.
3152         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3153         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3154
3155         Tests for module 'log1pl-ieee'.
3156         * modules/log1pl-ieee-tests: New file.
3157         * tests/test-log1pl-ieee.c: New file.
3158
3159         New module 'log1pl-ieee'.
3160         * modules/log1pl-ieee: New file.
3161
3162         Tests for module 'log1p-ieee'.
3163         * modules/log1p-ieee-tests: New file.
3164         * tests/test-log1p-ieee.c: New file.
3165
3166         New module 'log1p-ieee'.
3167         * modules/log1p-ieee: New file.
3168
3169         Tests for module 'log1pf-ieee'.
3170         * modules/log1pf-ieee-tests: New file.
3171         * tests/test-log1pf-ieee.c: New file.
3172         * tests/test-log1p-ieee.h: New file.
3173
3174         New module 'log1pf-ieee'.
3175         * modules/log1pf-ieee: New file.
3176
3177 2012-03-10  Bruno Haible  <bruno@clisp.org>
3178
3179         Tests for module 'log1pl'.
3180         * modules/log1pl-tests: New file.
3181         * tests/test-log1pl.c: New file.
3182
3183         New module 'log1pl'.
3184         * lib/math.in.h (log1pl): New declaration.
3185         * lib/log1pl.c: New file.
3186         * m4/log1pl.m4: New file.
3187         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3189         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3190         * modules/log1pl: New file.
3191         * tests/test-math-c++.cc: Check the declaration of log1pl.
3192         * doc/posix-functions/log1pl.texi: Mention the new module.
3193
3194 2012-03-10  Bruno Haible  <bruno@clisp.org>
3195
3196         Tests for module 'log1pf'.
3197         * modules/log1pf-tests: New file.
3198         * tests/test-log1pf.c: New file.
3199
3200         New module 'log1pf'.
3201         * lib/math.in.h (log1pf): New declaration.
3202         * lib/log1pf.c: New file.
3203         * m4/log1pf.m4: New file.
3204         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3206         REPLACE_LOG1PF.
3207         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3208         REPLACE_LOG1PF.
3209         * modules/log1pf: New file.
3210         * tests/test-math-c++.cc: Check the declaration of log1pf.
3211         * doc/posix-functions/log1pf.texi: Mention the new module.
3212
3213 2012-03-10  Bruno Haible  <bruno@clisp.org>
3214
3215         log1p tests: More tests.
3216         * tests/test-log1p.h: New file.
3217         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3218         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3219         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3220         (main): Invoke test_function.
3221
3222         log1p: Provide replacement for Minix and MSVC.
3223         * lib/math.in.h (log1p): New declaration.
3224         * lib/log1p.c: New file.
3225         * m4/log1p.m4: New file.
3226         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3227         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3228         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3229         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3230         (Depends-on): Add math, isnand, log, round.
3231         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3232         HAVE_LOG1P is 0.
3233         * tests/test-math-c++.cc: Check the declaration of log1p.
3234         * doc/posix-functions/log1p.texi: Mention the replacement.
3235
3236 2012-03-10  Bruno Haible  <bruno@clisp.org>
3237
3238         math tests: Small simplification.
3239         * tests/test-exp.h (test_function): Use the same err_bound for
3240         'double' on platforms with sizeof (long double) == sizeof (double)
3241         than on platforms with sizeof (long double) > sizeof (double).
3242         * tests/test-exp2.h (test_function): Likewise.
3243         * tests/test-expm1.h (test_function): Likewise.
3244         * tests/test-log.h (test_function): Likewise.
3245
3246 2012-03-10  Bruno Haible  <bruno@clisp.org>
3247
3248         Fix some comments.
3249         * lib/expl.c: Fix an ambiguous comment.
3250         * lib/expm1.c: Likewise.
3251         * lib/expm1l.c: Likewise.
3252         * lib/exp2.c: Likewise.
3253         * lib/exp2l.c: Likewise.
3254
3255 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3256
3257         regex: allow inclusion of <regex.h> before <limits.h>
3258         Without this patch, portable programs had to include <limits.h> before
3259         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3260         I ran into this problem with a test version of GNU grep on Solaris 8.
3261         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3262         This is done conditionally so that this change can be merged
3263         back to glibc.
3264         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3265         using the included regex.
3266
3267         fts: depend on fdopendir
3268         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3269         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3270         problem was introduced when fdopendir was split out.
3271
3272 2012-03-10  Bruno Haible  <bruno@clisp.org>
3273
3274         Remove unused variables.
3275         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3276         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3277
3278 2012-03-10  Bruno Haible  <bruno@clisp.org>
3279
3280         isnanf-nolibm: Fix last commit.
3281         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3282
3283         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3284         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3285
3286 2012-03-10  Bruno Haible  <bruno@clisp.org>
3287
3288         logf-ieee: Work around test failure on NetBSD 5.1.
3289         * m4/logf-ieee.m4: New file.
3290         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3291         whether logf works with a negative argument. Replace it if not.
3292         * lib/logf.c (logf): For negative arguments, return NaN.
3293         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3294         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3295         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3296
3297         logf-ieee: Work around test failure on Solaris 9.
3298         * modules/logf-ieee (Depends-on): Add log-ieee.
3299         (configure.ac): Require gl_FUNC_LOGF.
3300
3301         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3302         * m4/log-ieee.m4: New file.
3303         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3304         log works with a negative argument. Replace it if not.
3305         * lib/log.c (log): For negative arguments, return NaN.
3306         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3307         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3308         * doc/posix-functions/log.texi: Mention the log-ieee module.
3309
3310         Tests for module 'logl-ieee'.
3311         * modules/logl-ieee-tests: New file.
3312         * tests/test-logl-ieee.c: New file.
3313
3314         New module 'logl-ieee'.
3315         * modules/logl-ieee: New file.
3316
3317         Tests for module 'log-ieee'.
3318         * modules/log-ieee-tests: New file.
3319         * tests/test-log-ieee.c: New file.
3320
3321         New module 'log-ieee'.
3322         * modules/log-ieee: New file.
3323
3324         Tests for module 'logf-ieee'.
3325         * modules/logf-ieee-tests: New file.
3326         * tests/test-logf-ieee.c: New file.
3327         * tests/test-log-ieee.h: New file.
3328
3329         New module 'logf-ieee'.
3330         * modules/logf-ieee: New file.
3331
3332 2012-03-10  Bruno Haible  <bruno@clisp.org>
3333
3334         log: Fix bug introduced on 2012-03-09.
3335         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3336
3337 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3338
3339         timer-time: link explicitly with pthreads on glibc
3340         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3341         to support static linking, when newer glibc is
3342         detected, as that contains pthread emulation of
3343         POSIX timer functions where required.
3344         * modules/timer-time: Depend on threadlib to
3345         pull in the appropriate library to link.
3346
3347 2012-03-10  Bruno Haible  <bruno@clisp.org>
3348
3349         log* tests: More tests.
3350         * tests/test-log.h: New file.
3351         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3352         (main): Invoke test_function.
3353         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3354         (main): Invoke test_function.
3355         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3356         (main): Invoke test_function.
3357         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3358         tests/randomd.c.
3359         (Makefile.am): Add randomd.c to test_log_SOURCES.
3360         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3361         tests/randomf.c.
3362         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3363         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3364         tests/randoml.c.
3365         (Depends-on): Add 'float'.
3366         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3367
3368 2012-03-09  Bruno Haible  <bruno@clisp.org>
3369
3370         logl: Work around OSF/1 5.1 bug.
3371         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3372         * lib/logl.c (logl): If logl exists, use it and provide just the
3373         workaround.
3374         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3375         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3377         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3378         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3379         (Depends-on): Update conditions.
3380         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3381
3382 2012-03-09  Bruno Haible  <bruno@clisp.org>
3383
3384         logf: Work around OSF/1 5.1 bug.
3385         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3386         * lib/logf.c (logf): If logf exists, use it and provide just the
3387         workaround.
3388         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3389         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3390         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3391         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3392         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3393         (Depends-on): Update conditions.
3394         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3395
3396 2012-03-09  Bruno Haible  <bruno@clisp.org>
3397
3398         log: Work around OSF/1 5.1 bug.
3399         * lib/math.in.h (log): New declaration.
3400         * lib/log.c: New file.
3401         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3402         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3403         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3405         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3406         * modules/log (Files): Add lib/log.c.
3407         (Depends-on): Add math.
3408         (configure.ac): If REPLACE_LOG is 1, compile an override.
3409         * tests/test-math-c++.cc: Check the declaration of log.
3410         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3411
3412 2012-03-09  Jim Meyering  <meyering@redhat.com>
3413
3414         readtokens.c: adjust wording in a comment
3415         * lib/readtokens.c: Insert omitted "that" in a comment.
3416
3417 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3418
3419         modechange: add notations +40, 00440, etc.
3420         * lib/modechange.c (mode_compile): Support new notations
3421         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3422
3423 2012-03-08  Bruno Haible  <bruno@clisp.org>
3424
3425         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
3426         * m4/exp2l-ieee.m4: New file.
3427         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
3428         test whether exp2l works with a NaN argument and with a negative
3429         infinity argument. Replace it if not.
3430         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
3431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
3432         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
3433         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
3434         (Depends-on): Update conditions.
3435         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
3436         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
3437         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
3438
3439         Tests for module 'exp2l-ieee'.
3440         * modules/exp2l-ieee-tests: New file.
3441         * tests/test-exp2l-ieee.c: New file.
3442
3443         New module 'exp2l-ieee'.
3444         * modules/exp2l-ieee: New file.
3445
3446         Tests for module 'exp2-ieee'.
3447         * modules/exp2-ieee-tests: New file.
3448         * tests/test-exp2-ieee.c: New file.
3449
3450         New module 'exp2-ieee'.
3451         * modules/exp2-ieee: New file.
3452
3453         Tests for module 'exp2f-ieee'.
3454         * modules/exp2f-ieee-tests: New file.
3455         * tests/test-exp2f-ieee.c: New file.
3456         * tests/test-exp2-ieee.h: New file.
3457
3458         New module 'exp2f-ieee'.
3459         * modules/exp2f-ieee: New file.
3460
3461 2012-03-08  Bruno Haible  <bruno@clisp.org>
3462
3463         Tests for module 'exp2l'.
3464         * modules/exp2l-tests: New file.
3465         * tests/test-exp2l.c: New file.
3466
3467         New module 'exp2l'.
3468         * lib/math.in.h (exp2l): New declaration.
3469         * lib/exp2l.c: New file.
3470         * lib/expl-table.c: New file, extracted from lib/expl.c.
3471         * lib/expl.c (gl_expl_table): New declaration.
3472         (expl): Remove expl_table. Update reference.
3473         * m4/exp2l.m4: New file.
3474         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3476         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3477         * modules/exp2l: New file.
3478         * modules/expl (Files): Add lib/expl-table.c.
3479         (configure.ac): Compile also expl-table.c.
3480         * tests/test-math-c++.cc: Check the declaration of exp2l.
3481         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3482         problem.
3483
3484 2012-03-08  Bruno Haible  <bruno@clisp.org>
3485
3486         Tests for module 'exp2f'.
3487         * modules/exp2f-tests: New file.
3488         * tests/test-exp2f.c: New file.
3489
3490         New module 'exp2f'.
3491         * lib/math.in.h (exp2f): New declaration.
3492         * lib/exp2f.c: New file.
3493         * m4/exp2f.m4: New file.
3494         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3496         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3497         * modules/exp2f: New file.
3498         * tests/test-math-c++.cc: Check the declaration of exp2f.
3499         * doc/posix-functions/exp2f.texi: Mention the new module and the
3500         IRIX problem.
3501
3502 2012-03-08  Bruno Haible  <bruno@clisp.org>
3503
3504         Tests for module 'exp2'.
3505         * modules/exp2-tests: New file.
3506         * tests/test-exp2.c: New file.
3507         * tests/test-exp2.h: New file.
3508
3509         New module 'exp2'.
3510         * lib/math.in.h (exp2): New declaration.
3511         * lib/exp2.c: New file.
3512         * m4/exp2.m4: New file.
3513         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3515         REPLACE_EXP2.
3516         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3517         REPLACE_EXP2.
3518         * modules/exp2: New file.
3519         * tests/test-math-c++.cc: Check the declaration of exp2.
3520         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3521         and OpenBSD problems.
3522
3523 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3524
3525         savedir: fix comment typo
3526         * lib/savedir.c (savedirstream): Fix typo in comment.
3527
3528 2012-03-08  Bruno Haible  <bruno@clisp.org>
3529
3530         test-readtokens.c: use const; remove unwarranted cast
3531         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3532
3533 2012-03-08  Bruno Haible  <bruno@clisp.org>
3534
3535         fmal: Avoid compilation error on AIX.
3536         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3537         AIX 5.2..7.1.
3538
3539 2012-03-08  Bruno Haible  <bruno@clisp.org>
3540
3541         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3542         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3543         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3544         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3545         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3546         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3547         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3548
3549 2012-03-08  Bruno Haible  <bruno@clisp.org>
3550
3551         remainderf: Override buggy system function on IRIX 6.5.
3552         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3553         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3554         when it exists.
3555         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3556
3557 2012-03-08  Jim Meyering  <meyering@redhat.com>
3558
3559         test-readtokens.c: avoid const-related compilation warnings
3560         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3561
3562 2012-03-07  Jim Meyering  <meyering@redhat.com>
3563             Bruno Haible  <bruno@clisp.org>
3564
3565         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3566         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3567         tests/randomd.c.
3568         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3569         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3570         tests/randoml.c.
3571         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3572
3573 2012-03-07  Bruno Haible  <bruno@clisp.org>
3574
3575         expm1l: Avoid compilation error on AIX.
3576         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3577         AIX 5.2..7.1.
3578
3579 2012-03-07  Bruno Haible  <bruno@clisp.org>
3580
3581         expm1l: Don't override undeclared system function on IRIX 6.5.
3582         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3583         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3584         it exists. Set HAVE_DECL_EXPM1L.
3585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3586         HAVE_EXPM1L.
3587         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3588         HAVE_EXPM1L.
3589         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3590
3591 2012-03-07  Bruno Haible  <bruno@clisp.org>
3592
3593         remainderl: Don't override undeclared system function on IRIX 6.5.
3594         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3595         HAVE_REMAINDERL.
3596         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3597         declared when it exists. Set HAVE_DECL_REMAINDERL.
3598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3599         not HAVE_REMAINDERL.
3600         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3601         HAVE_REMAINDERL.
3602         * doc/posix-functions/remainderl.texi: Mention missing declaration
3603         problem.
3604
3605 2012-03-07  Bruno Haible  <bruno@clisp.org>
3606
3607         rintf: Don't override undeclared system function on IRIX 6.5.
3608         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3609         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3610         exists. Set HAVE_DECL_RINTF.
3611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3612         HAVE_RINTF.
3613         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3614         HAVE_RINTF.
3615         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3616
3617 2012-03-07  Bruno Haible  <bruno@clisp.org>
3618
3619         roundl: Avoid compilation error on AIX.
3620         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3621         AIX 5.2..7.1.
3622
3623 2012-03-07  Bruno Haible  <bruno@clisp.org>
3624
3625         roundl: Don't override undeclared system function on IRIX 6.5.
3626         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3627         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3628         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3629         * modules/roundl (configure.ac): For replacement code, test
3630         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3631         (Depends-on): Update conditions.
3632         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3633
3634 2012-03-07  Bruno Haible  <bruno@clisp.org>
3635
3636         roundf: Don't override undeclared system function on IRIX 6.5.
3637         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3638         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3639         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3640         * modules/roundf (configure.ac): For replacement code, test
3641         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3642         (Depends-on): Update conditions.
3643         * modules/roundf-ieee (Depends-on): Update conditions.
3644         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3645
3646 2012-03-07  Bruno Haible  <bruno@clisp.org>
3647
3648         round: Don't override undeclared system function on IRIX 6.5.
3649         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3650         argument.
3651         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3652         also when it is not declared. Set HAVE_ROUND. For replacement code,
3653         test HAVE_ROUND, not HAVE_DECL_ROUND.
3654         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3655         not HAVE_DECL_ROUND.
3656         (Depends-on): Update conditions.
3657         * modules/round-ieee (Depends-on): Update conditions.
3658         * doc/posix-functions/round.texi: Mention the IRIX problem.
3659
3660 2012-03-07  Bruno Haible  <bruno@clisp.org>
3661
3662         copysignf: Don't override undeclared system function on IRIX 6.5.
3663         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3664         HAVE_COPYSIGNF.
3665         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3666         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3667         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3668         not HAVE_COPYSIGNF.
3669         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3670         HAVE_COPYSIGNF.
3671         * doc/posix-functions/copysignf.texi: Mention missing declaration
3672         problem.
3673
3674 2012-03-07  Jim Meyering  <meyering@redhat.com>
3675
3676         readtokens: add tests
3677         * modules/readtokens-tests: New file.
3678         * tests/test-readtokens.c: New file.
3679
3680 2012-03-07  Jim Meyering  <meyering@redhat.com>
3681
3682         quotearg: the module must now include quote.h
3683         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3684         So must the module.
3685         * modules/quotearg (Files): Add quote.h.
3686
3687 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3688
3689         readtokens: avoid core dumps with unusual calling patterns
3690         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3691         * lib/readtokens.c: Include limits.h.
3692         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3693         (readtoken): Don't cache the delimiters; the cache code was buggy
3694         if !delim && saved_delim, or if the new n_delim differs from the old.
3695         Also, it wasn't thread-safe.
3696
3697 2012-03-07  Bruno Haible  <bruno@clisp.org>
3698
3699         quote: Adhere to common module description layout.
3700         * modules/quote (Makefile.am): Add back empty section.
3701
3702 2012-03-06  Akim Demaille  <demaille@gostai.com>
3703
3704         quote: fuse into quotearg
3705         This patch is made for the benefit of Bison.
3706         quote does not leave the choice of the quoting style to the user.
3707         quoting_style provides poor customizability, yet quoting_options,
3708         which is very rich, is hidden inside quotearg.c.  So in order to
3709         allow quote customization, move its implementation to quotearg.c.
3710         * lib/quote.c: Remove.
3711         * modules/quote: Adjust.
3712         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3713         warning: provide all the members of literal structs.
3714         (quote_quoting_options): New.
3715         (quote, quote_n): Import implementation from quote.c.
3716         * lib/quote.h: Import the comments from quote.c.
3717         (quote_quoting_options): New.
3718
3719 2012-03-06  Bruno Haible  <bruno@clisp.org>
3720
3721         Tests for module 'expm1l-ieee'.
3722         * modules/expm1l-ieee-tests: New file.
3723         * tests/test-expm1l-ieee.c: New file.
3724
3725         New module 'expm1l-ieee'.
3726         * modules/expm1l-ieee: New file.
3727
3728         Tests for module 'expm1f-ieee'.
3729         * modules/expm1f-ieee-tests: New file.
3730         * tests/test-expm1f-ieee.c: New file.
3731
3732         New module 'expm1f-ieee'.
3733         * modules/expm1f-ieee: New file.
3734
3735         Tests for module 'expm1-ieee'.
3736         * modules/expm1-ieee-tests: New file.
3737         * tests/test-expm1-ieee.c: New file.
3738         * tests/test-expm1-ieee.h: New file.
3739
3740         New module 'expm1-ieee'.
3741         * modules/expm1-ieee: New file.
3742         * m4/expm1-ieee.m4: New file.
3743         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3744         whether expm1 works with a minus zero argument. Replace it if not.
3745         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3746         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3747         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3748         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3749         (Depends-on): Update conditions.
3750         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3751         AIX problem.
3752
3753 2012-03-06  Bruno Haible  <bruno@clisp.org>
3754
3755         Work around expm1f bug on IRIX 6.5.
3756         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3757         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3758         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3759         not work.
3760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3761         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3762         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3763         (Depends-on): Update conditions.
3764         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3765
3766 2012-03-06  Bruno Haible  <bruno@clisp.org>
3767
3768         Tests for module 'expm1l'.
3769         * modules/expm1l-tests: New file.
3770         * tests/test-expm1l.c: New file.
3771
3772         New module 'expm1l'.
3773         * lib/math.in.h (expm1l): New declaration.
3774         * lib/expm1l.c: New file.
3775         * m4/expm1l.m4: New file.
3776         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3777         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3778         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3779         * modules/expm1l: New file.
3780         * tests/test-math-c++.cc: Check the declaration of expm1l.
3781         * doc/posix-functions/expm1l.texi: Mention the new module.
3782
3783 2012-03-06  Bruno Haible  <bruno@clisp.org>
3784
3785         Tests for module 'expm1f'.
3786         * modules/expm1f-tests: New file.
3787         * tests/test-expm1f.c: New file.
3788
3789         New module 'expm1f'.
3790         * lib/math.in.h (expm1f): New declaration.
3791         * lib/expm1f.c: New file.
3792         * m4/expm1f.m4: New file.
3793         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3794         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3795         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3796         * modules/expm1f: New file.
3797         * tests/test-math-c++.cc: Check the declaration of expm1f.
3798         * doc/posix-functions/expm1f.texi: Mention the new module.
3799
3800 2012-03-06  Bruno Haible  <bruno@clisp.org>
3801
3802         Tests for module 'expm1'.
3803         * modules/expm1-tests: New file.
3804         * tests/test-expm1.c: New file.
3805         * tests/test-expm1.h: New file.
3806
3807         New module 'expm1'.
3808         * lib/math.in.h (expm1): New declaration.
3809         * lib/expm1.c: New file.
3810         * m4/expm1.m4: New file.
3811         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3813         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3814         * modules/expm1: New file.
3815         * tests/test-math-c++.cc: Check the declaration of expm1.
3816         * doc/posix-functions/expm1.texi: Mention the new module.
3817
3818 2012-03-06  Bruno Haible  <bruno@clisp.org>
3819
3820         math: Ensure declarations of math functions.
3821         * modules/acosf (Depends-on): Add 'extensions'.
3822         * modules/asinf (Depends-on): Likewise.
3823         * modules/atan2f (Depends-on): Likewise.
3824         * modules/atanf (Depends-on): Likewise.
3825         * modules/cbrt (Depends-on): Likewise.
3826         * modules/cbrtf (Depends-on): Likewise.
3827         * modules/cbrtl (Depends-on): Likewise.
3828         * modules/copysignf (Depends-on): Likewise.
3829         * modules/copysignl (Depends-on): Likewise.
3830         * modules/cosf (Depends-on): Likewise.
3831         * modules/coshf (Depends-on): Likewise.
3832         * modules/expf (Depends-on): Likewise.
3833         * modules/fabsf (Depends-on): Likewise.
3834         * modules/fabsl (Depends-on): Likewise.
3835         * modules/fmaf (Depends-on): Likewise.
3836         * modules/fmal (Depends-on): Likewise.
3837         * modules/fmodf (Depends-on): Likewise.
3838         * modules/fmodl (Depends-on): Likewise.
3839         * modules/frexpf (Depends-on): Likewise.
3840         * modules/frexpl (Depends-on): Likewise.
3841         * modules/hypot (Depends-on): Likewise.
3842         * modules/hypotf (Depends-on): Likewise.
3843         * modules/hypotl (Depends-on): Likewise.
3844         * modules/ldexpf (Depends-on): Likewise.
3845         * modules/ldexpl (Depends-on): Likewise.
3846         * modules/log10f (Depends-on): Likewise.
3847         * modules/log10l (Depends-on): Likewise.
3848         * modules/log1p (Depends-on): Likewise.
3849         * modules/logb (Depends-on): Likewise.
3850         * modules/logf (Depends-on): Likewise.
3851         * modules/modff (Depends-on): Likewise.
3852         * modules/modfl (Depends-on): Likewise.
3853         * modules/powf (Depends-on): Likewise.
3854         * modules/remainderf (Depends-on): Likewise.
3855         * modules/remainderl (Depends-on): Likewise.
3856         * modules/rintf (Depends-on): Likewise.
3857         * modules/rintl (Depends-on): Likewise.
3858         * modules/sinf (Depends-on): Likewise.
3859         * modules/sinhf (Depends-on): Likewise.
3860         * modules/sqrtf (Depends-on): Likewise.
3861         * modules/tanf (Depends-on): Likewise.
3862         * modules/tanhf (Depends-on): Likewise.
3863         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3864         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3865         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3866         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3867         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3868         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3869         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3870         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3871         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3872         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3873         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3874         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3875         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3876         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3877         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3878         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3879         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3880         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3881         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3882         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3883         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3884         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3885         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3886         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3887         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3888         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3889         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3890         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3891         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3892         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3893         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3894         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3895         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3896         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3897         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3898         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3899         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3900         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3901         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3902         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3903         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3904
3905 2012-03-06  Bruno Haible  <bruno@clisp.org>
3906
3907         math: Update module names in warnings.
3908         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3909         tanl): Use specific module name in warn-on-use warning.
3910
3911 2012-03-06  Bruno Haible  <bruno@clisp.org>
3912
3913         expl: Simplify computation.
3914         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3915
3916 2012-03-05  Bruno Haible  <bruno@clisp.org>
3917
3918         exp* tests: More tests.
3919         * tests/test-exp.h: New file.
3920         * tests/test-exp.c: Include <float.h> and test-exp.h.
3921         (main): Invoke test_function.
3922         * tests/test-expf.c: Include <float.h> and test-exp.h.
3923         (main): Invoke test_function.
3924         * tests/test-expl.c: Include <float.h> and test-exp.h.
3925         (main): Invoke test_function.
3926         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3927         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3928         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3929         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3930         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3931         (Depends-on): Add 'float'.
3932         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3933
3934         expl: Fix precision of computed result.
3935         * lib/expl.c: Completely rewritten.
3936         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3937         (Maintainer): Add me.
3938         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3939
3940 2012-03-05  Bruno Haible  <bruno@clisp.org>
3941
3942         cbrt* tests: More tests.
3943         * tests/test-cbrt.h: New file.
3944         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3945         (main): Invoke test_function.
3946         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3947         (main): Invoke test_function.
3948         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3949         (main): Invoke test_function.
3950         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3951         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3952         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3953         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3954         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3955         (Depends-on): Add 'float'.
3956         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3957
3958 2012-03-05  Bruno Haible  <bruno@clisp.org>
3959
3960         hypot* tests: More tests.
3961         * tests/test-hypot.h: New file, partially extracted from
3962         tests/test-hypotl.c.
3963         * tests/test-hypot.c: Include test-hypot.h.
3964         (main): Invoke test_function.
3965         * tests/test-hypotf.c: Include test-hypot.h.
3966         (main): Invoke test_function.
3967         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3968         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3969         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3970         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3971         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3972         tests/randomf.c.
3973         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3974         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3975         tests/randoml.c.
3976         (Depends-on): Add 'fpucw', 'float'.
3977         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3978
3979 2012-03-05  Bruno Haible  <bruno@clisp.org>
3980
3981         fpucw: Doc about FreeBSD.
3982         * lib/fpucw.h: Mention FreeBSD in comments.
3983
3984 2012-03-04  Bruno Haible  <bruno@clisp.org>
3985
3986         sqrt* tests: More tests.
3987         * tests/test-sqrt.h: New file.
3988         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3989         (main): Invoke test_function.
3990         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3991         (main): Invoke test_function.
3992         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3993         (main): Invoke test_function.
3994         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3995         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3996         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3997         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3998         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3999         (Depends-on): Add 'float'.
4000         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
4001
4002 2012-03-04  Bruno Haible  <bruno@clisp.org>
4003
4004         remainder* tests: More tests.
4005         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
4006         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
4007         (main): Invoke test_function.
4008         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
4009         (main): Invoke test_function.
4010         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
4011         (main): Invoke test_function.
4012         * modules/remainder-tests (Files): Add tests/test-remainder.h,
4013         tests/randomd.c.
4014         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
4015         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
4016         tests/randomf.c.
4017         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
4018         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
4019         tests/randoml.c.
4020         (Depends-on): Add 'float'.
4021         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
4022
4023 2012-03-04  Bruno Haible  <bruno@clisp.org>
4024
4025         remainder, remainderf, remainderl: Fix computation for large quotients.
4026         * lib/remainder.c: Completely rewritten.
4027         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
4028         USE_FLOAT.
4029         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
4030         USE_LONG_DOUBLE.
4031         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
4032         isnand, isinf. Remove round, fma.
4033         * modules/remainderf (Files): Add lib/remainder.c.
4034         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
4035         Remove roundf, fmaf.
4036         * modules/remainderl (Files): Add lib/remainder.c.
4037         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
4038         isinf. Remove roundl, fmal.
4039         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
4040         REMAINDER_LIBM.
4041         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
4042         REMAINDERF_LIBM.
4043         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
4044         REMAINDERL_LIBM.
4045
4046 2012-03-04  Bruno Haible  <bruno@clisp.org>
4047
4048         fmod* tests: More tests.
4049         * tests/test-fmod.h (my_ldexp): New function.
4050         (test_function): Reduce amount of random numbers to test. Add tests
4051         of very large quotients x / y.
4052         * tests/test-fmod.c (MAX_EXP): New macro.
4053         * tests/test-fmodf.c (MAX_EXP): Likewise.
4054         * tests/test-fmodl.c (MAX_EXP): Likewise.
4055
4056 2012-03-04  Bruno Haible  <bruno@clisp.org>
4057
4058         fmod, fmodl: Fix computation for large quotients x / y.
4059         * lib/fmod.c: Completely rewritten.
4060         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
4061         USE_LONG_DOUBLE.
4062         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
4063         isnand. Remove fma.
4064         * modules/fmodl (Files): Add lib/fmod.c.
4065         (Depends-on): Add float, isfinite, signbit, fabsl,
4066         frexpl, ldexpl, isnanl. Remove fma.
4067         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
4068         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
4069
4070 2012-03-03  Bruno Haible  <bruno@clisp.org>
4071
4072         fmod* tests: More tests.
4073         * tests/test-fmod.h: New file.
4074         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
4075         (main): Invoke test_function.
4076         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
4077         (main): Invoke test_function.
4078         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
4079         (main): Invoke test_function.
4080         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
4081         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
4082         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
4083         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
4084         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
4085         (Depends-on): Add 'float'.
4086         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
4087
4088 2012-03-03  Bruno Haible  <bruno@clisp.org>
4089
4090         rint* tests: More tests.
4091         * tests/test-rint.h: New file, partially extracted from
4092         tests/test-rintl.c.
4093         * tests/test-rint.c: Include test-rint.h.
4094         (main): Invoke test_function.
4095         * tests/test-rintf.c: Include test-rint.h.
4096         (main): Invoke test_function.
4097         * tests/test-rintl.c: Include test-rint.h.
4098         (main): Invoke test_function.
4099         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
4100         (Makefile.am): Add randomd.c to test_rint_SOURCES.
4101         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
4102         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
4103         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
4104         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
4105
4106 2012-03-03  Bruno Haible  <bruno@clisp.org>
4107
4108         modf* tests: More tests.
4109         * tests/test-modf.h: New file.
4110         * tests/test-modf.c: Include <float.h> and test-modf.h.
4111         (main): Invoke test_function.
4112         * tests/test-modff.c: Include <float.h> and test-modf.h.
4113         (main): Invoke test_function.
4114         * tests/test-modfl.c: Include <float.h> and test-modf.h.
4115         (main): Invoke test_function.
4116         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
4117         (Makefile.am): Add randomd.c to test_modf_SOURCES.
4118         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
4119         (Makefile.am): Add randomf.c to test_modff_SOURCES.
4120         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
4121         (Depends-on): Add 'float'.
4122         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
4123
4124 2012-03-03  Bruno Haible  <bruno@clisp.org>
4125
4126         fabs* tests: More tests.
4127         * tests/test-fabs.h: New file, partially extracted from
4128         tests/test-fabsl.c.
4129         * tests/test-fabs.c (RANDOM): New macro.
4130         * tests/test-fabsf.c (RANDOM): New macro.
4131         * tests/test-fabsl.c (RANDOM): New macro.
4132         * modules/fabs-tests (Files): Add tests/randomd.c.
4133         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4134         * modules/fabsf-tests (Files): Add tests/randomf.c.
4135         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4136         * modules/fabsl-tests (Files): Add tests/randoml.c.
4137         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4138
4139 2012-03-03  Bruno Haible  <bruno@clisp.org>
4140
4141         ldexp* tests: More tests.
4142         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4143         * tests/test-ldexp.c (RANDOM): New macro.
4144         * tests/test-ldexpf.c (RANDOM): New macro.
4145         * tests/test-ldexpl.c (RANDOM): New macro.
4146         * modules/ldexp-tests (Files): Add tests/randomd.c.
4147         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4148         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4149         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4150         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4151         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4152
4153 2012-03-03  Bruno Haible  <bruno@clisp.org>
4154
4155         frexp* tests: More tests.
4156         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4157         * tests/test-frexp.c (RANDOM): New macro.
4158         * tests/test-frexpf.c (RANDOM): New macro.
4159         * tests/test-frexpl.c (RANDOM): New macro.
4160         * modules/frexp-tests (Files): Add tests/randomd.c.
4161         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4162         * modules/frexpf-tests (Files): Add tests/randomf.c.
4163         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4164         * modules/frexpl-tests (Files): Add tests/randoml.c.
4165         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4166
4167 2012-03-03  Bruno Haible  <bruno@clisp.org>
4168
4169         Support for pseudo-random numbers in tests.
4170         * tests/randomf.c: New file.
4171         * tests/randomd.c: New file.
4172         * tests/randoml.c: New file.
4173         * tests/macros.h (randomf, randomd, randoml): New declarations.
4174
4175 2012-03-03  Bruno Haible  <bruno@clisp.org>
4176
4177         frexp* tests: Refactor.
4178         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4179         * tests/test-frexp.c: Include and use it.
4180         * tests/test-frexpf.c: Likewise.
4181         * tests/test-frexpl.c: Likewise.
4182         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4183         * modules/frexpf-tests (Files): Likewise.
4184         * modules/frexpl-tests (Files): Likewise.
4185
4186 2012-03-02  Jim Meyering  <meyering@redhat.com>
4187
4188         maint: don't specify XZ_OPT=-9ev in dist-related rule
4189         Using xz's -9 option is warranted only if you have a very large
4190         tarball (see xz's documentation for the sizes vs. presets), and
4191         requires 64MiB of memory at decompression time.
4192         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4193         Automake's default of just "-e" is fine.  Override on a
4194         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4195
4196 2012-03-01  Eric Blake  <eblake@redhat.com>
4197
4198         maint.mk: allow announcement for non-gnulib project
4199         * maint.mk (announcement): Skip gnulib version if not used.
4200
4201 2012-03-01  Jim Meyering  <meyering@redhat.com>
4202
4203         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4204         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4205         envvar settings cannot interfere.  Otherwise, setting envvars like
4206         prohibit=foo require=bar, etc. would cause spurious test failures.
4207
4208 2012-03-01  Eric Blake  <eblake@redhat.com>
4209
4210         maint.mk: add per-line exclusions to prohibitions
4211         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4212         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4213         (sc_const_long_option): Use it.
4214
4215 2012-03-01  Bruno Haible  <bruno@clisp.org>
4216
4217         Tests for module 'expl-ieee'.
4218         * modules/expl-ieee-tests: New file.
4219         * tests/test-expl-ieee.c: New file.
4220
4221         New module 'expl-ieee'.
4222         * modules/expl-ieee: New file.
4223
4224         Tests for module 'exp-ieee'.
4225         * modules/exp-ieee-tests: New file.
4226         * tests/test-exp-ieee.c: New file.
4227
4228         New module 'exp-ieee'.
4229         * modules/exp-ieee: New file.
4230
4231         Tests for module 'expf-ieee'.
4232         * modules/expf-ieee-tests: New file.
4233         * tests/test-expf-ieee.c: New file.
4234         * tests/test-exp-ieee.h: New file.
4235
4236         New module 'expf-ieee'.
4237         * modules/expf-ieee: New file.
4238
4239 2012-02-29  Bruno Haible  <bruno@clisp.org>
4240
4241         cbrtl-ieee: Work around test failure on IRIX 6.5.
4242         * m4/cbrtl-ieee.m4: New file.
4243         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4244         test whether cbrtl works with a minus zero argument. Replace it if not.
4245         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4247         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4248         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4249         (Depends-on): Update conditions.
4250         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4251         m4/signbit.m4.
4252         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4253         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4254         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4255
4256         Tests for module 'cbrtl-ieee'.
4257         * modules/cbrtl-ieee-tests: New file.
4258         * tests/test-cbrtl-ieee.c: New file.
4259
4260         New module 'cbrtl-ieee'.
4261         * modules/cbrtl-ieee: New file.
4262
4263         Tests for module 'cbrt-ieee'.
4264         * modules/cbrt-ieee-tests: New file.
4265         * tests/test-cbrt-ieee.c: New file.
4266
4267         New module 'cbrt-ieee'.
4268         * modules/cbrt-ieee: New file.
4269
4270         Tests for module 'cbrtf-ieee'.
4271         * modules/cbrtf-ieee-tests: New file.
4272         * tests/test-cbrtf-ieee.c: New file.
4273         * tests/test-cbrt-ieee.h: New file.
4274
4275         New module 'cbrtf-ieee'.
4276         * modules/cbrtf-ieee: New file.
4277
4278 2012-02-29  Bruno Haible  <bruno@clisp.org>
4279
4280         cbrtf: Work around bug in IRIX 6.5 system function.
4281         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4282         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4283         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4284         work.
4285         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4286         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4287         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4288         (Depends-on): Update conditions.
4289         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4290
4291 2012-02-29  Bruno Haible  <bruno@clisp.org>
4292
4293         Tests for module 'cbrtl'.
4294         * modules/cbrtl-tests: New file.
4295         * tests/test-cbrtl.c: New file.
4296
4297         New module 'cbrtl'.
4298         * lib/math.in.h (cbrtl): New declaration.
4299         * lib/cbrtl.c: New file.
4300         * m4/cbrtl.m4: New file.
4301         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4303         HAVE_DECL_CBRTL.
4304         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4305         HAVE_DECL_CBRTL.
4306         * modules/cbrtl: New file.
4307         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4308         * doc/posix-functions/cbrtl.texi: Mention the new module.
4309
4310 2012-02-29  Bruno Haible  <bruno@clisp.org>
4311
4312         Tests for module 'cbrtf'.
4313         * modules/cbrtf-tests: New file.
4314         * tests/test-cbrtf.c: New file.
4315
4316         New module 'cbrtf'.
4317         * lib/math.in.h (cbrtf): New declaration.
4318         * lib/cbrtf.c: New file.
4319         * m4/cbrtf.m4: New file.
4320         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4322         HAVE_DECL_CBRTF.
4323         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4324         HAVE_DECL_CBRTF.
4325         * modules/cbrtf: New file.
4326         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4327         * doc/posix-functions/cbrtf.texi: Mention the new module.
4328
4329 2012-02-29  Bruno Haible  <bruno@clisp.org>
4330
4331         cbrt: Provide replacement on MSVC and Minix.
4332         * lib/math.in.h (cbrt): New declaration.
4333         * lib/cbrt.c: New file.
4334         * m4/cbrt.m4: New file.
4335         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4337         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4338         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4339         (Depends-on): Add dependencies.
4340         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4341         * tests/test-math-c++.cc: Check the declaration of cbrt.
4342         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4343         replacement.
4344
4345 2012-02-29  Bruno Haible  <bruno@clisp.org>
4346
4347         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4348         * m4/hypotl-ieee.m4: New file.
4349         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4350         test whether hypotl works with mixed NaN and Infinity arguments.
4351         Replace it if not.
4352         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4353         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4354         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4355         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4356         (Depends-on): Update conditions.
4357         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4358         (Depends-on): Add hypot-ieee.
4359         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4360         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4361
4362         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4363         * m4/hypotf-ieee.m4: New file.
4364         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4365         test whether hypotf works with mixed NaN and Infinity arguments.
4366         Replace it if not.
4367         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4368         (Depends-on): Add hypot-ieee.
4369         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4370         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4371
4372         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4373         * lib/math.in.h (hypot): New declaration.
4374         * lib/hypot.c: New file.
4375         * m4/hypot-ieee.m4: New file.
4376         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4377         whether hypot works with mixed NaN and Infinity arguments. Replace it
4378         if not.
4379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4380         REPLACE_HYPOT.
4381         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4382         * modules/hypot (Files): Add lib/hypot.c.
4383         (Depends-on): Add dependencies.
4384         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4385         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4386         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4387         * tests/test-math-c++.cc: Check the declaration of hypot.
4388         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4389
4390         Tests for module 'hypotl-ieee'.
4391         * modules/hypotl-ieee-tests: New file.
4392         * tests/test-hypotl-ieee.c: New file.
4393
4394         New module 'hypotl-ieee'.
4395         * modules/hypotl-ieee: New file.
4396
4397         Tests for module 'hypot-ieee'.
4398         * modules/hypot-ieee-tests: New file.
4399         * tests/test-hypot-ieee.c: New file.
4400
4401         New module 'hypot-ieee'.
4402         * modules/hypot-ieee: New file.
4403
4404         Tests for module 'hypotf-ieee'.
4405         * modules/hypotf-ieee-tests: New file.
4406         * tests/test-hypotf-ieee.c: New file.
4407         * tests/test-hypot-ieee.h: New file.
4408
4409         New module 'hypotf-ieee'.
4410         * modules/hypotf-ieee: New file.
4411
4412 2012-02-29  Bruno Haible  <bruno@clisp.org>
4413
4414         Remove unused variables.
4415         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4416         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4417         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4418         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4419
4420 2012-02-29  Eric Blake  <eblake@redhat.com>
4421
4422         termios: fix pid_t always, not just for tcgetsid
4423         * doc/posix-headers/termios.texi (termios.h): Mention problem.
4424         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
4425         just when building tcgetsid.
4426
4427 2012-02-29  Bruno Haible  <bruno@clisp.org>
4428
4429         Tests for module 'hypotl'.
4430         * modules/hypotl-tests: New file.
4431         * tests/test-hypotl.c: New file.
4432
4433         New module 'hypotl'.
4434         * lib/math.in.h (hypotl): New declaration.
4435         * lib/hypotl.c: New file.
4436         * m4/hypotl.m4: New file.
4437         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4438         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
4439         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
4440         * modules/hypotl: New file.
4441         * tests/test-math-c++.cc: Check the hypotl declaration.
4442         * doc/posix-functions/hypotl.texi: Mention the new module.
4443
4444 2012-02-29  Eric Blake  <eblake@redhat.com>
4445
4446         tcgetsid: fix cygwin header bug
4447         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
4448
4449         docs: update cygwin progress
4450         * doc/posix-functions/llround.texi (llround): Added in cygwin
4451         1.7.8.
4452         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
4453         * doc/glibc-functions/program_invocation_name.texi
4454         (program_invocation_name): Likewise.
4455         * doc/glibc-functions/program_invocation_short_name.texi
4456         (program_invocation_short_name): Likewise.
4457         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4458         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4459         Likewise.
4460         * doc/posix-functions/pthread_spin_destroy.texi
4461         (pthread_spin_destroy): Added in cygwin 1.7.10.
4462         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4463         Likewise.
4464         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4465         Likewise.
4466         * doc/posix-functions/pthread_spin_trylock.texi
4467         (pthread_spin_trylock): Likewise.
4468         * doc/posix-functions/pthread_spin_unlock.texi
4469         (pthread_spin_unlock): Likewise.
4470         * doc/posix-functions/pthread_setschedprio.texi
4471         (pthread_setschedprio): Likewise.
4472         * doc/posix-functions/pthread_attr_getstack.texi
4473         (pthread_attr_getstack): Likewise.
4474         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4475         (pthread_attr_getstackaddr): Likewise.
4476         * doc/glibc-functions/pthread_getattr_np.texi
4477         (pthread_getattr_np): Likewise.
4478         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4479         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4480         * doc/posix-functions/clock_settime.texi (clock_settime):
4481         Likewise.
4482         * doc/posix-functions/pthread_attr_getguardsize.texi
4483         (pthread_attr_getguardsize): Likewise.
4484         * doc/posix-functions/pthread_attr_setguardsize.texi
4485         (pthread_attr_setguardsize): Likewise.
4486         * doc/posix-functions/pthread_attr_setstack.texi
4487         (pthread_attr_setstack): Likewise.
4488         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4489         (pthread_attr_setstackaddr): Likewise.
4490         * doc/posix-functions/clock_getcpuclockid.texi
4491         (clock_getcpuclockid): Likewise.
4492         * doc/posix-functions/pthread_getcpuclockid.texi
4493         (pthread_getcpuclockid): Likewise.
4494         * doc/glibc-functions/error.texi (error): Likewise.
4495         * doc/glibc-functions/error_at_line.texi (error_at_line):
4496         Likewise.
4497         * doc/glibc-functions/error_message_count.texi
4498         (error_message_count): Likewise.
4499         * doc/glibc-functions/error_one_per_line.texi
4500         (error_one_per_line): Likewise.
4501         * doc/glibc-functions/error_print_progname.texi
4502         (error_print_progname): Likewise.
4503         * doc/posix-functions/pthread_condattr_getclock.texi
4504         (pthread_condattr_getclock): Likewise.
4505         * doc/posix-functions/pthread_condattr_setclock.texi
4506         (pthread_condattr_setclock): Likewise.
4507         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4508         Likewise.
4509         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4510         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4511         * doc/glibc-functions/get_current_dir_name.texi
4512         (get_current_dir_name): Likewise.
4513         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4514         Likewise.
4515         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4516         wrong return type.
4517         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4518         1.7.11.
4519
4520 2012-02-29  Bruno Haible  <bruno@clisp.org>
4521
4522         Tests for module 'hypotf'.
4523         * modules/hypotf-tests: New file.
4524         * tests/test-hypotf.c: New file.
4525
4526         New module 'hypotf'.
4527         * lib/math.in.h (hypotf): New declaration.
4528         * lib/hypotf.c: New file.
4529         * m4/hypotf.m4: New file.
4530         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4532         REPLACE_HYPOTF.
4533         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4534         REPLACE_HYPOTF.
4535         * modules/hypotf: New file.
4536         * tests/test-math-c++.cc: Check the hypotf declaration.
4537         * doc/posix-functions/hypotf.texi: Mention the new module.
4538
4539         hypot: Prepare for hypotf module.
4540         * m4/hypot.m4: New file.
4541         * modules/hypot (Files): Add m4/hypot.m4.
4542         (configure.ac): Invoke gl_FUNC_HYPOT.
4543
4544 2012-02-29  Bruno Haible  <bruno@clisp.org>
4545
4546         hypot tests: More tests.
4547         * tests/test-hypot.c: Include <float.h>.
4548         (main): Add tests about overflow and underflow.
4549
4550 2012-02-29  Bruno Haible  <bruno@clisp.org>
4551
4552         math code: Add comments.
4553         * lib/acosl.c: Add comment about related glibc source files.
4554         * lib/asinl.c: Likewise.
4555         * lib/atanl.c: Likewise.
4556         * lib/expl.c: Likewise.
4557         * lib/logl.c: Likewise.
4558         * lib/sincosl.c: Likewise.
4559         * lib/sinl.c: Likewise.
4560         * lib/tanl.c: Likewise.
4561         * lib/trigl.c: Likewise.
4562         * lib/cosl.c: Likewise. Fix comments.
4563
4564 2012-02-28  Bruno Haible  <bruno@clisp.org>
4565
4566         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4567         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4568         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4569         HUGE_VALL are defined.
4570         (numeric_equald): Renamed from numeric_equal.
4571         (numeric_equalf, numeric_equall): New functions.
4572         (main): Check also HUGE_VALF, HUGE_VALL.
4573         * modules/math-tests (Files): Add tests/macros.h.
4574         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4575         HUGE_VALL.
4576
4577 2012-02-28  Bruno Haible  <bruno@clisp.org>
4578
4579         doc: Move ISO C11 feature notes into POSIX chapters.
4580         * doc/posix-functions/aligned_alloc.texi: Renamed from
4581         doc/glibc-functions/aligned_alloc.texi.
4582         * doc/posix-functions/quick_exit.texi: Renamed from
4583         doc/glibc-functions/quick_exit.texi.
4584         * doc/posix-headers/uchar.texi: Renamed from
4585         doc/glibc-headers/uchar.texi.
4586         * doc/posix-functions/c16rtomb.texi: Renamed from
4587         doc/glibc-functions/c16rtomb.texi.
4588         * doc/posix-functions/c32rtomb.texi: Renamed from
4589         doc/glibc-functions/c32rtomb.texi.
4590         * doc/posix-functions/mbrtoc16.texi: Renamed from
4591         doc/glibc-functions/mbrtoc16.texi.
4592         * doc/posix-functions/mbrtoc32.texi: Renamed from
4593         doc/glibc-functions/mbrtoc32.texi.
4594         * doc/gnulib.texi: Update.
4595         (Glibc uchar.h): Remove section.
4596         Suggested by Eric Blake.
4597
4598 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4599
4600         stdnoreturn: port to MSVC better
4601         MSVC standard headers use __declspec(noreturn), so #define noreturn
4602         to empty on that platform.  Reported by Bruno Haible in
4603         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4604         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4605         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4606
4607 2012-02-28  Bruno Haible  <bruno@clisp.org>
4608
4609         doc: Mention new glibc headers and functions.
4610         * doc/glibc-headers/uchar.texi: New file.
4611         * doc/glibc-functions/aligned_alloc.texi: New file.
4612         * doc/glibc-functions/c16rtomb.texi: New file.
4613         * doc/glibc-functions/c32rtomb.texi: New file.
4614         * doc/glibc-functions/clock_adjtime.texi: New file.
4615         * doc/glibc-functions/fanotify_init.texi: New file.
4616         * doc/glibc-functions/fanotify_mark.texi: New file.
4617         * doc/glibc-functions/inet6_opt_append.texi: New file.
4618         * doc/glibc-functions/inet6_opt_find.texi: New file.
4619         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4620         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4621         * doc/glibc-functions/inet6_opt_init.texi: New file.
4622         * doc/glibc-functions/inet6_opt_next.texi: New file.
4623         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4624         * doc/glibc-functions/inet6_rth_add.texi: New file.
4625         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4626         * doc/glibc-functions/inet6_rth_init.texi: New file.
4627         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4628         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4629         * doc/glibc-functions/inet6_rth_space.texi: New file.
4630         * doc/glibc-functions/login.texi: New file.
4631         * doc/glibc-functions/mbrtoc16.texi: New file.
4632         * doc/glibc-functions/mbrtoc32.texi: New file.
4633         * doc/glibc-functions/name_to_handle_at.texi: New file.
4634         * doc/glibc-functions/ntp_gettimex.texi: New file.
4635         * doc/glibc-functions/open_by_handle_at.texi: New file.
4636         * doc/glibc-functions/prlimit.texi: New file.
4637         * doc/glibc-functions/process_vm_readv.texi: New file.
4638         * doc/glibc-functions/process_vm_writev.texi: New file.
4639         * doc/glibc-functions/recvmmsg.texi: New file.
4640         * doc/glibc-functions/scandirat.texi: New file.
4641         * doc/glibc-functions/sendmmsg.texi: New file.
4642         * doc/glibc-functions/setns.texi: New file.
4643         * doc/glibc-functions/timespec_get.texi: New file.
4644         * doc/gnulib.texi: Include them.
4645         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4646         sections.
4647         Reported by Eric Blake.
4648
4649 2012-02-28  Bruno Haible  <bruno@clisp.org>
4650
4651         Avoid compilation errors with MSVC option -fp:strict.
4652         * lib/floor.c: Use MSVC specific pragma fenv_access.
4653         * lib/ceil.c: Likewise.
4654         * lib/trunc.c: Likewise.
4655         * lib/round.c: Likewise.
4656         * lib/rint.c: Likewise.
4657         * lib/fma.c: Likewise.
4658         * lib/integer_length.c: Likewise.
4659         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4660         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4661         * tests/test-floor2.c: Likewise.
4662         * tests/test-floorf2.c: Likewise.
4663         * tests/test-ceil2.c: Likewise.
4664         * tests/test-ceilf2.c: Likewise.
4665         * tests/test-trunc2.c: Likewise.
4666         * tests/test-truncf2.c: Likewise.
4667         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4668
4669 2012-02-27  Bruno Haible  <bruno@clisp.org>
4670
4671         Tests for module 'sqrtl-ieee'.
4672         * modules/sqrtl-ieee-tests: New file.
4673         * tests/test-sqrtl-ieee.c: New file.
4674
4675         New module 'sqrtl-ieee'.
4676         * modules/sqrtl-ieee: New file.
4677
4678         Tests for module 'sqrt-ieee'.
4679         * modules/sqrt-ieee-tests: New file.
4680         * tests/test-sqrt-ieee.c: New file.
4681
4682         New module 'sqrt-ieee'.
4683         * modules/sqrt-ieee: New file.
4684
4685         Tests for module 'sqrtf-ieee'.
4686         * modules/sqrtf-ieee-tests: New file.
4687         * tests/test-sqrtf-ieee.c: New file.
4688         * tests/test-sqrt-ieee.h: New file.
4689
4690         New module 'sqrtf-ieee'.
4691         * modules/sqrtf-ieee: New file.
4692
4693 2012-02-27  Bruno Haible  <bruno@clisp.org>
4694
4695         remainderl-ieee: Work around test failure on OSF/1.
4696         * m4/remainderl-ieee.m4: New file.
4697         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4698         present, test whether remainderl works with a zero second argument.
4699         Replace it if not.
4700         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4701         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4702         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4703         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4704         (Depends-on): Update conditions.
4705         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4706         (Depends-on): Add remainder-ieee.
4707         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4708         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4709         module.
4710
4711         remainderf-ieee: Work around test failure on OSF/1.
4712         * m4/remainderf-ieee.m4: New file.
4713         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4714         present, test whether remainderf works with a zero second argument.
4715         Replace it if not.
4716         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4717         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4718         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4719         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4720         (Depends-on): Update conditions.
4721         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4722         (Depends-on): Add remainder-ieee.
4723         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4724         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4725         module.
4726
4727         remainder-ieee: Work around test failure on OSF/1.
4728         * m4/remainder-ieee.m4: New file.
4729         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4730         present, test whether remainder works with a zero second argument.
4731         Replace it if not.
4732         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4734         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4735         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4736         (Depends-on): Update dependencies.
4737         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4738         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4739         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4740
4741         Tests for module 'remainderl-ieee'.
4742         * modules/remainderl-ieee-tests: New file.
4743         * tests/test-remainderl-ieee.c: New file.
4744
4745         New module 'remainderl-ieee'.
4746         * modules/remainderl-ieee: New file.
4747
4748         Tests for module 'remainder-ieee'.
4749         * modules/remainder-ieee-tests: New file.
4750         * tests/test-remainder-ieee.c: New file.
4751
4752         New module 'remainder-ieee'.
4753         * modules/remainder-ieee: New file.
4754
4755         Tests for module 'remainderf-ieee'.
4756         * modules/remainderf-ieee-tests: New file.
4757         * tests/test-remainderf-ieee.c: New file.
4758         * tests/test-remainder-ieee.h: New file.
4759
4760         New module 'remainderf-ieee'.
4761         * modules/remainderf-ieee: New file.
4762
4763 2012-02-27  Bruno Haible  <bruno@clisp.org>
4764
4765         modff, modfl: Fix configure syntax error.
4766         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4767         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4768
4769 2012-02-27  Bruno Haible  <bruno@clisp.org>
4770
4771         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4772         * m4/fmodl-ieee.m4: New file.
4773         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4774         whether fmodl works with zero arguments. Replace it if not.
4775         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4776         (Depends-on): Add fmod-ieee.
4777         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4778         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4779
4780         fmodf-ieee: Work around test failure on OSF/1.
4781         * m4/fmodf-ieee.m4: New file.
4782         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4783         whether fmodf works with zero arguments. Replace it if not.
4784         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4786         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4787         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4788         (Depends-on): Update dependencies.
4789         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4790         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4791         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4792
4793         fmodf-ieee: Work around test failure on MSVC 9.
4794         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4795         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4796
4797         fmod-ieee: Work around test failures on OSF/1, mingw.
4798         * m4/fmod-ieee.m4: New file.
4799         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4800         whether fmod works with zero arguments. Replace it if not.
4801         * lib/math.in.h (fmod): New declaration.
4802         * lib/fmod.c: New file.
4803         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4804         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4805         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4806         * modules/fmod (Files): Add lib/fmod.c.
4807         (Depends-on): Add math, isinf, trunc, fma.
4808         (configure.ac): Arrange to compile lib/fmod.c if needed.
4809         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4810         m4/signbit.m4.
4811         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4812         * tests/test-math-c++.cc: Check the declaration of fmod.
4813         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4814
4815         fmodl-ieee: Fix test failures.
4816         * lib/fmodl.c (fmodl): Treat Inf specially.
4817         * modules/fmodl (Depends-on): Add isinf.
4818
4819         Tests for module 'fmodl-ieee'.
4820         * modules/fmodl-ieee-tests: New file.
4821         * tests/test-fmodl-ieee.c: New file.
4822
4823         New module 'fmodl-ieee'.
4824         * modules/fmodl-ieee: New file.
4825
4826         Tests for module 'fmod-ieee'.
4827         * modules/fmod-ieee-tests: New file.
4828         * tests/test-fmod-ieee.c: New file.
4829
4830         New module 'fmod-ieee'.
4831         * modules/fmod-ieee: New file.
4832
4833         Tests for module 'fmodf-ieee'.
4834         * modules/fmodf-ieee-tests: New file.
4835         * tests/test-fmodf-ieee.c: New file.
4836         * tests/test-fmod-ieee.h: New file.
4837
4838         New module 'fmodf-ieee'.
4839         * modules/fmodf-ieee: New file.
4840
4841 2012-02-27  Bruno Haible  <bruno@clisp.org>
4842
4843         Tests for module 'rintl-ieee'.
4844         * modules/rintl-ieee-tests: New file.
4845         * tests/test-rintl-ieee.c: New file.
4846
4847         New module 'rintl-ieee'.
4848         * modules/rintl-ieee: New file.
4849
4850         Tests for module 'rint-ieee'.
4851         * modules/rint-ieee-tests: New file.
4852         * tests/test-rint-ieee.c: New file.
4853
4854         New module 'rint-ieee'.
4855         * modules/rint-ieee: New file.
4856
4857         Tests for module 'rintf-ieee'.
4858         * modules/rintf-ieee-tests: New file.
4859         * tests/test-rintf-ieee.c: New file.
4860         * tests/test-rint-ieee.h: New file.
4861
4862         New module 'rintf-ieee'.
4863         * modules/rintf-ieee: New file.
4864
4865 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4866
4867         regex: re_search etc. should return -2 when memory exhausted
4868         This bug was uncovered when testing 'grep'.  Without the fix,
4869         re_search and friends return -1 when memory is exhausted, but -1
4870         means no match, and this causes grep to falsely report no-match
4871         instead of memory-exhaustion.  See
4872         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4873         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4874         trouble; this can occur if re_search_internal ran out of memory.
4875
4876 2012-02-26  Bruno Haible  <bruno@clisp.org>
4877
4878         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4879         * m4/modfl-ieee.m4: New file.
4880         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4881         whether modfl works with Inf. Replace it if not.
4882         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4884         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4885         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4886         (Depends-on): Update dependencies.
4887         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4888         m4/signbit.m4.
4889         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4890         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4891
4892         modfl-ieee: Fix dependencies.
4893         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4894
4895         modfl-ieee: Fix test failures.
4896         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4897         * modules/modfl (Depends-on): Add isfinite, isinf.
4898
4899         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4900         * m4/modff-ieee.m4: New file.
4901         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4902         whether modff works with NaN and Inf. Replace it if not.
4903         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4905         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4906         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4907         (Depends-on): Update dependencies.
4908         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4909         m4/signbit.m4.
4910         (Depends-on): Add modf-ieee.
4911         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4912         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4913
4914         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4915         * m4/modf-ieee.m4: New file.
4916         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4917         whether modf works with NaN and Inf. Replace it if not.
4918         * lib/math.in.h (modf): New declaration.
4919         * lib/modf.c: New file.
4920         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4921         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4922         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4923         * modules/modf (Files): Add lib/modf.c.
4924         (Depends-on): Add math, isfinite, trunc, isinf.
4925         (configure.ac): Addrange to compile lib/modf.c if needed.
4926         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4927         m4/signbit.m4.
4928         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4929         * tests/test-math-c++.cc: Check the declaration of modf.
4930         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4931
4932         Tests for module 'modfl-ieee'.
4933         * modules/modfl-ieee-tests: New file.
4934         * tests/test-modfl-ieee.c: New file.
4935
4936         New module 'modfl-ieee'.
4937         * modules/modfl-ieee: New file.
4938
4939         Tests for module 'modf-ieee'.
4940         * modules/modf-ieee-tests: New file.
4941         * tests/test-modf-ieee.c: New file.
4942
4943         New module 'modf-ieee'.
4944         * modules/modf-ieee: New file.
4945
4946         Tests for module 'modff-ieee'.
4947         * modules/modff-ieee-tests: New file.
4948         * tests/test-modff-ieee.c: New file.
4949         * tests/test-modf-ieee.h: New file.
4950
4951         New module 'modff-ieee'.
4952         * modules/modff-ieee: New file.
4953
4954 2012-02-26  Bruno Haible  <bruno@clisp.org>
4955
4956         Tests for module 'fabsl-ieee'.
4957         * modules/fabsl-ieee-tests: New file.
4958         * tests/test-fabsl-ieee.c: New file.
4959
4960         New module 'fabsl-ieee'.
4961         * modules/fabsl-ieee: New file.
4962
4963         Tests for module 'fabs-ieee'.
4964         * modules/fabs-ieee-tests: New file.
4965         * tests/test-fabs-ieee.c: New file.
4966
4967         New module 'fabs-ieee'.
4968         * modules/fabs-ieee: New file.
4969
4970         Tests for module 'fabsf-ieee'.
4971         * modules/fabsf-ieee-tests: New file.
4972         * tests/test-fabsf-ieee.c: New file.
4973         * tests/test-fabs-ieee.h: New file.
4974
4975         New module 'fabsf-ieee'.
4976         * modules/fabsf-ieee: New file.
4977
4978 2012-02-26  Bruno Haible  <bruno@clisp.org>
4979
4980         Tests for module 'fmal-ieee'.
4981         * modules/fmal-ieee-tests: New file.
4982         * tests/test-fmal-ieee.c: New file.
4983
4984         New module 'fmal-ieee'.
4985         * modules/fmal-ieee: New file.
4986
4987         Tests for module 'fma-ieee'.
4988         * modules/fma-ieee-tests: New file.
4989         * tests/test-fma-ieee.c: New file.
4990
4991         New module 'fma-ieee'.
4992         * modules/fma-ieee: New file.
4993
4994         Tests for module 'fmaf-ieee'.
4995         * modules/fmaf-ieee-tests: New file.
4996         * tests/test-fmaf-ieee.c: New file.
4997         * tests/test-fma-ieee.h: New file.
4998
4999         New module 'fmaf-ieee'.
5000         * modules/fmaf-ieee: New file.
5001
5002 2012-02-26  Bruno Haible  <bruno@clisp.org>
5003
5004         Tests for module 'ldexpl-ieee'.
5005         * modules/ldexpl-ieee-tests: New file.
5006         * tests/test-ldexpl-ieee.c: New file.
5007
5008         New module 'ldexpl-ieee'.
5009         * modules/ldexpl-ieee: New file.
5010
5011         Tests for module 'ldexp-ieee'.
5012         * modules/ldexp-ieee-tests: New file.
5013         * tests/test-ldexp-ieee.c: New file.
5014
5015         New module 'ldexp-ieee'.
5016         * modules/ldexp-ieee: New file.
5017
5018         Tests for module 'ldexpf-ieee'.
5019         * modules/ldexpf-ieee-tests: New file.
5020         * tests/test-ldexpf-ieee.c: New file.
5021         * tests/test-ldexp-ieee.h: New file.
5022
5023         New module 'ldexpf-ieee'.
5024         * modules/ldexpf-ieee: New file.
5025
5026 2012-02-26  Bruno Haible  <bruno@clisp.org>
5027
5028         Refactor frexp*-ieee tests.
5029         * tests/test-frexp-ieee.h: New file.
5030         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
5031         (main): Just call test_function.
5032         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
5033         (main): Just call test_function.
5034         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
5035         (main): Just call test_function.
5036         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
5037         * modules/frexp-ieee-tests (Files): Likewise.
5038         * modules/frexpl-ieee-tests (Files): Likewise.
5039
5040         Tests for module 'frexpl-ieee'.
5041         * modules/frexpl-ieee-tests: New file.
5042         * tests/test-frexpl-ieee.c: New file.
5043
5044         New module 'frexpl-ieee'.
5045         * modules/frexpl-ieee: New file.
5046
5047         Tests for module 'frexp-ieee'.
5048         * modules/frexp-ieee-tests: New file.
5049         * tests/test-frexp-ieee.c: New file.
5050
5051         New module 'frexp-ieee'.
5052         * modules/frexp-ieee: New file.
5053
5054         Tests for module 'frexpf-ieee'.
5055         * modules/frexpf-ieee-tests: New file.
5056         * tests/test-frexpf-ieee.c: New file.
5057
5058         New module 'frexpf-ieee'.
5059         * modules/frexpf-ieee: New file.
5060
5061 2012-02-26  Bruno Haible  <bruno@clisp.org>
5062
5063         roundl-ieee tests: More tests.
5064         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5065         (main): Add tests for [MX] shaded specification in POSIX.
5066         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5067         (Depends-on): Add isnanl-nolibm.
5068
5069         round-ieee tests: More tests.
5070         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5071         (main): Add tests for [MX] shaded specification in POSIX.
5072         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5073         (Depends-on): Add isnand-nolibm.
5074
5075         roundf-ieee tests: More tests.
5076         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5077         (main): Add tests for [MX] shaded specification in POSIX.
5078         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5079         (Depends-on): Add isnanf-nolibm.
5080
5081         truncl-ieee tests: More tests.
5082         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5083         (main): Add tests for [MX] shaded specification in POSIX.
5084         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5085         (Depends-on): Add isnanl-nolibm.
5086
5087         trunc-ieee tests: More tests.
5088         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5089         (main): Add tests for [MX] shaded specification in POSIX.
5090         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5091         (Depends-on): Add isnand-nolibm.
5092
5093         truncf-ieee tests: More tests.
5094         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5095         (main): Add tests for [MX] shaded specification in POSIX.
5096         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5097         (Depends-on): Add isnanf-nolibm.
5098
5099         ceill-ieee tests: More tests.
5100         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5101         (main): Add tests for [MX] shaded specification in POSIX.
5102         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5103         (Depends-on): Add isnanl-nolibm.
5104
5105         ceil-ieee tests: More tests.
5106         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5107         (main): Add tests for [MX] shaded specification in POSIX.
5108         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5109         (Depends-on): Add isnand-nolibm.
5110
5111         ceilf-ieee tests: More tests.
5112         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5113         (main): Add tests for [MX] shaded specification in POSIX.
5114         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5115         (Depends-on): Add isnanf-nolibm.
5116
5117         floorl-ieee tests: More tests.
5118         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5119         (main): Add tests for [MX] shaded specification in POSIX.
5120         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5121         (Depends-on): Add isnanl-nolibm.
5122
5123         floor-ieee tests: More tests.
5124         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5125         (main): Add tests for [MX] shaded specification in POSIX.
5126         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5127         (Depends-on): Add isnand-nolibm.
5128
5129         floorf-ieee tests: More tests.
5130         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5131         (main): Add tests for [MX] shaded specification in POSIX.
5132         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5133         (Depends-on): Add isnanf-nolibm.
5134
5135 2012-02-26  Bruno Haible  <bruno@clisp.org>
5136
5137         fpieee: More comments.
5138         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5139
5140 2012-02-25  Bruno Haible  <bruno@clisp.org>
5141
5142         Tests for module 'log10l'.
5143         * modules/log10l-tests: New file.
5144         * tests/test-log10l.c: New file.
5145         * tests/test-math-c++.cc: Check the declaration of log10l.
5146
5147         New module 'log10l'.
5148         * lib/math.in.h (log10l): New declaration.
5149         * lib/log10l.c: New file.
5150         * m4/log10l.m4: New file.
5151         * modules/log10l: New file.
5152         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5153         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5154         HAVE_DECL_LOG10L.
5155         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5156         HAVE_DECL_LOG10L.
5157         * doc/posix-functions/log10l.texi: Mention the new module.
5158
5159 2012-02-25  Bruno Haible  <bruno@clisp.org>
5160
5161         fmodl, remainder*: Avoid wrong results due to rounding errors.
5162         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5163         expected bounds.
5164         * lib/remainderf.c (remainderf): Likewise.
5165         * lib/remainder.c (remainder): Likewise.
5166         * lib/remainderl.c (remainderl): Likewise.
5167
5168 2012-02-25  Bruno Haible  <bruno@clisp.org>
5169
5170         Tests for module 'remainderl'.
5171         * modules/remainderl-tests: New file.
5172         * tests/test-remainderl.c: New file.
5173         * tests/test-math-c++.cc: Check the declaration of remainderl.
5174
5175         New module 'remainderl'.
5176         * lib/math.in.h (remainderl): New declaration.
5177         * lib/remainderl.c: New file.
5178         * m4/remainderl.m4: New file.
5179         * modules/remainderl: New file.
5180         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5182         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5183         HAVE_REMAINDERL.
5184         * doc/posix-functions/remainderl.texi: Mention the new module.
5185
5186 2012-02-25  Bruno Haible  <bruno@clisp.org>
5187
5188         Tests for module 'remainderf'.
5189         * modules/remainderf-tests: New file.
5190         * tests/test-remainderf.c: New file.
5191         * tests/test-math-c++.cc: Check the declaration of remainderf.
5192
5193         New module 'remainderf'.
5194         * lib/math.in.h (remainderf): New declaration.
5195         * lib/remainderf.c: New file.
5196         * m4/remainderf.m4: New file.
5197         * modules/remainderf: New file.
5198         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5200         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5201         HAVE_REMAINDERF.
5202         * doc/posix-functions/remainderf.texi: Mention the new module.
5203
5204 2012-02-25  Bruno Haible  <bruno@clisp.org>
5205
5206         remainder: Support for MSVC.
5207         * lib/math.in.h (remainder): New declaration.
5208         * lib/remainder.c: New file.
5209         * m4/remainder.m4: New file.
5210         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5211         (Depends-on): Add math, round, fma.
5212         (configure.ac): Use results of gl_FUNC_REMAINDER.
5213         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5214         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5215         HAVE_DECL_REMAINDER.
5216         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5217         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5218         * tests/test-math-c++.cc: Check the declaration of remainder.
5219         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5220         problems are fixed.
5221
5222 2012-02-25  Bruno Haible  <bruno@clisp.org>
5223
5224         Tests for module 'fmodl'.
5225         * modules/fmodl-tests: New file.
5226         * tests/test-fmodl.c: New file.
5227         * tests/test-math-c++.cc: Check the declaration of fmodl.
5228
5229         New module 'fmodl'.
5230         * lib/math.in.h (fmodl): New declaration.
5231         * lib/fmodl.c: New file.
5232         * m4/fmodl.m4: New file.
5233         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5235         REPLACE_FMODL.
5236         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5237         REPLACE_FMODL.
5238         * modules/fmodl: New file.
5239         * doc/posix-functions/fmodl.texi: Mention the new module.
5240
5241 2012-02-25  Bruno Haible  <bruno@clisp.org>
5242
5243         Tests for module 'modfl'.
5244         * modules/modfl-tests: New file.
5245         * tests/test-modfl.c: New file.
5246         * tests/test-math-c++.cc: Check the declaration of modfl.
5247
5248         New module 'modfl'.
5249         * lib/math.in.h (modfl): New declaration.
5250         * lib/modfl.c: New file.
5251         * m4/modfl.m4: New file.
5252         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5254         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5255         * modules/modfl: New file.
5256         * doc/posix-functions/modfl.texi: Mention the new module.
5257
5258 2012-02-25  Bruno Haible  <bruno@clisp.org>
5259
5260         Tests for module 'fabsl'.
5261         * modules/fabsl-tests: New file.
5262         * tests/test-fabsl.c: New file.
5263         * tests/test-math-c++.cc: Check the declaration of fabsl.
5264
5265         New module 'fabsl'.
5266         * lib/math.in.h (fabsl): New declaration.
5267         * lib/fabsl.c: New file.
5268         * m4/fabsl.m4: New file.
5269         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5271         REPLACE_FABSL.
5272         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5273         REPLACE_FABSL.
5274         * modules/fabsl: New file.
5275         * doc/posix-functions/fabsl.texi: Mention the new module.
5276
5277 2012-02-25  Bruno Haible  <bruno@clisp.org>
5278
5279         fabs tests: More tests.
5280         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5281         (zero): New variable.
5282         (main): Add tests for signed zero.
5283         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5284
5285         fabsf tests: More tests.
5286         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5287         (zero): New variable.
5288         (main): Add tests for signed zero.
5289         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5290
5291 2012-02-24  Bruno Haible  <bruno@clisp.org>
5292
5293         atanl: Provide function definition on MSVC.
5294         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5295         function pointer.
5296         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5297
5298 2012-02-24  Bruno Haible  <bruno@clisp.org>
5299
5300         acosl: Provide function definition on MSVC.
5301         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5302         function pointer.
5303         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5304
5305 2012-02-24  Bruno Haible  <bruno@clisp.org>
5306
5307         asinl: Provide function definition on MSVC.
5308         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5309         function pointer.
5310         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5311
5312 2012-02-24  Bruno Haible  <bruno@clisp.org>
5313
5314         tanl: Provide function definition on MSVC.
5315         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5316         function pointer.
5317         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5318
5319 2012-02-24  Bruno Haible  <bruno@clisp.org>
5320
5321         cosl: Provide function definition on MSVC.
5322         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5323         function pointer.
5324         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5325
5326 2012-02-24  Bruno Haible  <bruno@clisp.org>
5327
5328         sinl: Provide function definition on MSVC.
5329         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5330         function pointer.
5331         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5332
5333 2012-02-24  Bruno Haible  <bruno@clisp.org>
5334
5335         logl: Provide function definition on MSVC.
5336         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5337         function pointer.
5338         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5339
5340 2012-02-24  Bruno Haible  <bruno@clisp.org>
5341
5342         expl: Provide function definition on MSVC.
5343         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5344         function pointer.
5345         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5346
5347 2012-02-24  Bruno Haible  <bruno@clisp.org>
5348
5349         sqrtl: Provide function definition on MSVC.
5350         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5351         a function pointer.
5352         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5353
5354 2012-02-24  Bruno Haible  <bruno@clisp.org>
5355
5356         ceill: Provide function definition on MSVC.
5357         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5358         used as a function pointer.
5359         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5360
5361 2012-02-24  Bruno Haible  <bruno@clisp.org>
5362
5363         floorl: Provide function definition on MSVC.
5364         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5365         used as a function pointer.
5366         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5367
5368 2012-02-24  Bruno Haible  <bruno@clisp.org>
5369
5370         ceilf: Provide function definition on MSVC.
5371         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5372         used as a function pointer.
5373         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5374
5375 2012-02-24  Bruno Haible  <bruno@clisp.org>
5376
5377         floorf: Provide function definition on MSVC.
5378         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5379         used as a function pointer.
5380         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5381
5382 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5383
5384         stdnoreturn: new module
5385         This implements a replacement for C11's <stdnoreturn.h>.
5386         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5387         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5388         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5389         * tests/test-stdnoreturn.c: New files.
5390
5391 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5392
5393         regex: fix false multibyte matches in some regular expressions
5394         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5395         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5396         * lib/regex_internal.c (re_string_skip_chars):
5397         Fix miscomputation of remain_len that may cause incomplete
5398         multi-byte character and false match.
5399
5400 2012-02-24  Jim Meyering  <meyering@redhat.com>
5401
5402         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5403         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5404         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5405         Remove now-unnecessary str''cmp obfuscation.
5406         Suggested by Akim Demaille.
5407
5408 2012-02-24  Bruno Haible  <bruno@clisp.org>
5409
5410         streq: Rename macro.
5411         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5412         * NEWS: Mention the change.
5413         * lib/mbrtowc.c (mbrtowc): Update.
5414         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5415         * lib/wcwidth.c (wcwidth): Update.
5416         Suggested by Akim Demaille and Jim Meyering.
5417
5418 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5419
5420         regex: fix typo in definition of MIN
5421         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5422         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5423
5424 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5425             Bruno Haible  <bruno@clisp.org>
5426
5427         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
5428         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
5429         entries into a stack-allocated buffer directly.
5430         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
5431
5432 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5433             Bruno Haible  <bruno@clisp.org>
5434
5435         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
5436
5437          - There were several instances of this pattern:
5438
5439              for (;;) {
5440                n = acl (f, GETACLCNT, 0, NULL);
5441                [ allocate an array A of size N ]
5442                if (acl (f, GETACL, n, a) == n)
5443                  break;
5444              }
5445
5446            This loop might never terminate if some other process is constantly
5447            manipulating the file's ACL.  The loop should be rewritten to
5448            terminate.
5449
5450          - The acl (... GETACLNT ...) call is merely an optimization; its value
5451            is merely a hint as to how big to make the array.  A better
5452            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
5453            and just guess a reasonably-big size, growing the size and trying
5454            again if it's not large enough.  This guarantees termination, and
5455            saves a system call.
5456
5457         * lib/acl-internal.h: Include <limits.h>.
5458         (MIN, SIZE_MAX): New macros.
5459         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5460         a stack-allocated buffer, and use malloc if it does not fit. Don't
5461         use GETACLCNT.
5462         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5463
5464 2012-02-19  Bruno Haible  <bruno@clisp.org>
5465
5466         acl: Fix endless loop on Solaris with vxfs.
5467         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5468         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5469         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5470         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5471         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5472         Reported by Bill Jones in
5473         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5474
5475 2012-02-19  Bruno Haible  <bruno@clisp.org>
5476
5477         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5478         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5479         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5480         that this function returns 0 in some more cases.
5481
5482 2012-02-19  Bruno Haible  <bruno@clisp.org>
5483
5484         acl: Update doc references.
5485         * doc/acl-resources.txt: Update links to Solaris documentation.
5486
5487 2012-02-19  Bruno Haible  <bruno@clisp.org>
5488
5489         Fix test failure in many locales on Solaris 11.
5490         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5491         'tr' arguments.
5492         * tests/test-pipe-filter-ii1.c (main): Likewise.
5493         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5494         expressions in the C locale.
5495         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5496         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5497
5498 2012-02-19  Bruno Haible  <bruno@clisp.org>
5499
5500         gnulib-tool: Improve usage message.
5501         * gnulib-tool (func_usage): Move doc of --help and --version to the
5502         section "Operation modes".
5503
5504 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5505
5506         README-release: make it easier to execute commands
5507         * top/README-release: break commands out on to separate lines.
5508
5509 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5510
5511         GNUmakefile: simplify detection of unconfigured trees
5512         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5513         whether the tree make is being run from is already configured or
5514         not.  Related simplifications.
5515
5516 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5517
5518         * gnulib-tool (func_usage): Document --help and --version.
5519
5520 2012-02-11  Jim Meyering  <meyering@redhat.com>
5521
5522         bootstrap: don't exit 0 upon gnulib-tool failure
5523         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5524         its exit status, not 0.
5525
5526 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5527
5528         README-release: various improvements
5529         * top/README-release: Give a command to push changes for the
5530         release.  Add "distcheck" to list of other pre-release checks.
5531         Fix instance of "make stable" which should be "make TYPE".
5532
5533 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5534
5535         maint: replace FSF snail-mail addresses with URLs
5536         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5537         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5538         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5539         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5540         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5541         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5542         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5543         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5544         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5545         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5546         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5547         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5548         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5549         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5550         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5551         * lib/glthread/thread.c, lib/glthread/thread.h:
5552         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5553         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5554         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5555         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5556         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5557         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5558         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5559         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5560         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5561         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5562         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5563         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5564         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5565         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5566         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5567         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5568         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5569         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5570         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5571         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5572         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5573         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5574         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5575         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5576         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5577         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5578         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5579         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5580         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5581         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5582         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5583         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5584         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5585         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5586         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5587         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5588         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5589         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5590         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5591         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5592         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5593         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5594         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5595         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5596         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5597         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5598         * tests/test-poll.c, tests/test-quotearg-simple.c:
5599         * tests/test-quotearg.c, tests/test-quotearg.h:
5600         * tests/test-round-ieee.c, tests/test-round1.c:
5601         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5602         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5603         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5604         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5605         * tests/test-strerror.c, tests/test-strerror_r.c:
5606         * tests/test-strsignal.c, tests/test-strverscmp.c:
5607         * tests/test-xmemdup0.c:
5608         Replace FSF snail mail addresses with URLs, as per GNU coding
5609         standards.  See glibc bug
5610         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5611
5612 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5613
5614         README-release: capitalize a word and split a line
5615         * top/README-release: Fix punctuation and spacing.
5616
5617 2012-02-08  Akim Demaille  <demaille@gostai.com>
5618
5619         fatal-signal: use C prototypes (with explicit void).
5620         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5621         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5622
5623 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5624
5625         regex: spelling fix
5626         * lib/regexec.c: spelling fix
5627
5628         regex: rely on stdint.h for SIZE_MAX
5629         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5630
5631 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5632
5633         regex: merge glibc changes
5634
5635         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5636         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5637         (init_word_char): Work even if bitset words are not exactly 32 or
5638         64 bits wide.  Don't assume there are no padding bits.
5639         * lib/regex.c [_LIBC]: Do not include <config.h>.
5640         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5641         and -Wtype-limits.
5642         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5643         needless disagreement with glibc.  All uses changed.  Define it to
5644         1 only if _GNU_SOURCE, to match glibc.
5645         (_REG_RM_NAME): Remove; no longer needed, since the names in
5646         question are now all protected by __USE_GNU.
5647         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5648         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5649         * lib/regex_internal.h (MIN): New macro.
5650
5651         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5652         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5653
5654         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5655         * lib/regex_internal.c (re_string_fetch_byte_case):
5656         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5657         is miscompiled, and it turns out it is because of an incorrect
5658         attribute on re_string_fetch_byte_case.  Unlike
5659         re_string_peek_byte_case, this one is really not pure, it modifies
5660         memory (increments pstr->cur_idx), and with the pure attribute GCC
5661         assumed it doesn't and it cached the presumed value of
5662         regexp->cur_idx in a variable across the
5663          for (;; ++i)
5664            {
5665              if (i >= BRACKET_NAME_BUF_SIZE)
5666                return REG_EBRACK;
5667              if (token->type == OP_OPEN_CHAR_CLASS)
5668                ch = re_string_fetch_byte_case (regexp);
5669              else
5670                ch = re_string_fetch_byte (regexp);
5671              if (re_string_eoi(regexp))
5672                return REG_EBRACK;
5673              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5674                break;
5675              elem->opr.name[i] = ch;
5676            }
5677
5678         2011-11-29 Andreas Schwab <schwab@redhat.com>
5679         * lib/regcomp.c (build_equiv_class):
5680         Fix access after end of search string in regex matcher.
5681
5682         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5683         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5684
5685         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5686         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5687
5688         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5689         * lib/regcomp.c (parse_branch, parse_sub_exp):
5690         More regex memory leak fixes and tests.
5691         (parse_sub_exp, parse_bracket_exp):
5692         Fix memory leak for some invalid regular expressions.
5693
5694         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5695         * lib/regex_internal.c, lib/regexec.c:
5696         Fix unnecessary overallocation due to incomplete character.  When
5697         incomplete characters are found at the end of a string the code
5698         ran amok and allocated lots of memory.  Stricter limits are now in
5699         place.
5700
5701         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5702         * lib/regex.h: Update documentation.
5703
5704         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5705         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5706
5707         2010-05-05 Andreas Schwab <schwab@redhat.com>
5708         * lib/regexec.c (find_collation_sequence_value):
5709         Fix lookup of collation sequence value during regexp matching.
5710
5711         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5712         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5713
5714         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5715         * lib/regex.h: Cleanup namespace.
5716
5717         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5718         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5719
5720         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5721         * lib/regex_internal.h: Prevent some declarations and definitions
5722         to be seen when used in tests.
5723
5724         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5725         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5726         __libc_lock_* macros if not _LIBC.
5727         (struct re_dfa_t): Add lock.
5728
5729 2012-02-07  Eric Blake  <eblake@redhat.com>
5730
5731         maint.mk: also prohibit lower-case @var@
5732         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5733         lower case, like @top_srcdir@.
5734
5735 2012-02-04  Eric Blake  <eblake@redhat.com>
5736
5737         canonicalize: avoid uninitialized memory use
5738         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5739         random '/' left in dest.
5740         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5741
5742 2012-02-04  Bruno Haible  <bruno@clisp.org>
5743
5744         isatty: Fix test failure of ptsname_r on native Windows.
5745         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5746         and don't set errno.
5747         (isatty): Test first whether fd is valid. Set errno when returning 0.
5748
5749 2012-02-04  Bruno Haible  <bruno@clisp.org>
5750
5751         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5752         * tests/test-spawn-pipe-main.c: Include progname.h.
5753         (main): Invoke set_program_name.
5754         * modules/spawn-pipe-tests (Depends-on): Add progname.
5755
5756         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5757         * tests/test-nonblocking-socket-main.c: Include progname.h.
5758         (main): Invoke set_program_name.
5759         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5760
5761         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5762         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5763         (main): Invoke set_program_name.
5764         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5765
5766 2012-02-04  Eric Blake  <eblake@redhat.com>
5767
5768         canonicalize-lgpl: fix // handling
5769         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5770
5771         canonicalize: fix // handling
5772         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5773         /// to //, since only // is special.
5774
5775 2012-02-04  Bruno Haible  <bruno@clisp.org>
5776
5777         ioctl: Fix test failure on native Windows.
5778         * lib/ioctl.c: Include msvc-nothrow.h.
5779         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5780
5781 2012-02-04  Bruno Haible  <bruno@clisp.org>
5782
5783         fsync: Avoid test failure on native Windows.
5784         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5785         read-only.
5786
5787 2012-02-04  Bruno Haible  <bruno@clisp.org>
5788
5789         sys_select: Avoid syntax error on OpenBSD 5.0.
5790         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5791         currently being included, just include the system's <sys/select.h>.
5792
5793 2012-02-04  Bruno Haible  <bruno@clisp.org>
5794
5795         sys_select: Avoid syntax error on OpenBSD 5.0.
5796         * lib/sys_select.in.h: Include <signal.h> only after the include_next
5797         <sys/select.h>, not before.
5798         Reported by Jiri B <jirib@devio.us>.
5799
5800 2012-02-04  Bruno Haible  <bruno@clisp.org>
5801
5802         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5803         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5804         global variables.
5805         * tests/test-get-rusage-data.c (main): Likewise.
5806         Reported by Jim Meyering.
5807
5808 2012-02-04  Bruno Haible  <bruno@clisp.org>
5809
5810         stdioext: Fix last commit.
5811         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5812
5813 2012-02-03  Bruno Haible  <bruno@clisp.org>
5814
5815         stdioext: Add tentative support for Plan9.
5816         * lib/stdio-impl.h: Include <errno.h>.
5817         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5818         * lib/freadable.c (freadable): Likewise.
5819         * lib/fwritable.c (fwritable): Likewise.
5820         * lib/fbufmode.c (fbufmode): Likewise.
5821         * lib/freading.c (freading): Likewise.
5822         * lib/fwriting.c (fwriting): Likewise.
5823         * lib/freadptr.c (freadptr): Likewise.
5824         * lib/freadseek.c (freadptrinc): Likewise.
5825         * lib/freadahead.c (freadahead): Likewise.
5826         * lib/fpurge.c (fpurge): Likewise.
5827         * lib/fseeko.c (rpl_fseeko): Likewise.
5828         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5829         Reported by Jens Staal <staal1978@gmail.com>.
5830
5831 2012-02-02  Jim Meyering  <meyering@redhat.com>
5832
5833         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5834         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5835         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5836         not even to try to add the attribute.  Instead, add a pragma to suppress
5837         the suggestion/warning.
5838
5839 2012-01-31  Karl Berry  <karl@gnu.org>
5840
5841         setstate doc: typo.
5842         * doc/posix-functions/setstate.texi (setstate): { not (.
5843
5844 2012-01-31  Bruno Haible  <bruno@clisp.org>
5845
5846         popen: Make more robust on Windows.
5847         * lib/popen.c: On native Windows, use the _popen based code even if
5848         HAVE_POPEN is set.
5849         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5850         environment variable on native Windows.
5851
5852 2012-01-30  Bruno Haible  <bruno@clisp.org>
5853
5854         pclose: Fix typo.
5855         * lib/stdio.in.h (pclose): Fix typo in warning message.
5856
5857 2012-01-30  Bruno Haible  <bruno@clisp.org>
5858
5859         doc about getlogin_r, setstate.
5860         * doc/posix-functions/getlogin_r.texi: List the incompatible
5861         declaration problem under "not fixed by gnulib".
5862         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5863         problem on Solaris 11 and other platforms.
5864
5865 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5866             Bruno Haible  <bruno@clisp.org>
5867
5868         poll tests: Make test more robust.
5869         * tests/test-poll.c: Include macros.h.
5870         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5871         return value of various I/O operations.
5872         * modules/poll-tests (Files): Add tests/macros.h.
5873
5874 2012-01-30  Bruno Haible  <bruno@clisp.org>
5875
5876         sys_stat: Fix support for mingw64 and MSVC.
5877         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5878         header files already do it.
5879         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5880         stat itself.
5881         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5882
5883 2012-01-30  Bruno Haible  <bruno@clisp.org>
5884
5885         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5887         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5888
5889 2012-01-29  Bruno Haible  <bruno@clisp.org>
5890
5891         quotearg: Fix test failure on MacOS X 10.5.
5892         * tests/test-quotearg-simple.c: Include localcharset.h.
5893         (main): If the locale encoding is not ASCII, bypass the tests of
5894         locale_quoting_style and clocale_quoting_style.
5895         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5896
5897 2012-01-29  Jim Meyering  <meyering@redhat.com>
5898
5899         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5900         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5901         detect uses of canonicalize_file_name.
5902
5903 2012-01-28  Bruno Haible  <bruno@clisp.org>
5904
5905         test-framework-sh: Fix test failure with AIX 7.1 diff.
5906         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5907         in column 1, like 'diff -c' does.
5908         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5909         whether 'diff -u' is used. Instead, test whether the output contains
5910         some '@' character.
5911
5912 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5913
5914         strtoimax: eliminate need for stdint.h, inttypes.h checks
5915         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5916         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5917         the prerequisites for a recently-introduced strtoimax test.
5918         I guess this might cause strtoimax to be replaced when not
5919         strictly necessary on older hosts, but this shouldn't introduce
5920         any bugs and it should make Emacs 'configure' faster on typical
5921         modern hosts.  Problem discovered when importing the latest gnulib
5922         to an Emacs test version.
5923         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5924
5925 2012-01-28  Bruno Haible  <bruno@clisp.org>
5926
5927         sys_time: Override 'struct timeval' on some native Windows platforms.
5928         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5929         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5930         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5931         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5932         needs to be overridden.
5933         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5934         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5935         * tests/test-sys_select.c: Check that the tv_sec member has the same
5936         size as a 'time_t'.
5937         * tests/test-sys_time.c: Likewise.
5938         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5939         is set, set also REPLACE_GETTIMEOFDAY.
5940         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5941         convert the resulting 'struct timeval' before returning.
5942         * lib/select.c: Include <sys/time.h>.
5943         (select, timeval): Undefine at the right place.
5944         * modules/select (Depends-on): Add sys_time.
5945         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5946         some Windows platforms.
5947         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5948
5949 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5950
5951         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5952         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5953         an integer.
5954         * lib/fcntl.c (dupfd): Likewise.
5955         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5956
5957 2012-01-28  Bruno Haible  <bruno@clisp.org>
5958
5959         fcntl: Avoid compilation error on native Windows.
5960         * modules/fcntl (Depends-on): Add 'close'.
5961
5962 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5963
5964         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5965         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5966         pointer to an integer.
5967         * lib/poll.c (IsConsoleHandle): Likewise.
5968         * lib/isatty.c (IsConsoleHandle): Likewise.
5969
5970 2012-01-28  Jim Meyering  <meyering@redhat.com>
5971
5972         doc: clarify README-release
5973         * top/README-release: Clarify: you should make a point to have
5974         the latest stable versions of build tools in your PATH, and the
5975         reference to buildreq is solely for its list of tool names, not
5976         for its minimal-functional version numbers.
5977         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5978
5979         maint.mk: use more readable (yet functionally equivalent) quoting
5980         It is common to quote a single quote in a single quoted string like
5981         this:  '...'\''...'.  Unless you know the idiom, that looks like
5982         gibberish, so prefer to double-quote the string when possible.
5983         Then you can use a more readable, lone single quote: "...'..."
5984         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5985         "don't" is more readable than the equivalent 'don'\''t'.
5986         (sc_cast_of_x_alloc_return_value): Likewise.
5987         (sc_cast_of_alloca_return_value): Likewise.
5988         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5989         rather than '\'':'\''.
5990
5991 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5992
5993         stdalign: relax _Alignof and tighten _Alignas test
5994         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5995         as it was too strict: alignof must divide offsetof, but it need
5996         not equal offsetof.  Inspired by Joseph S. Myers's comment
5997         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5998         Conversely, tighten the _Alignas test a bit, as the resulting
5999         alignment must be exactly 8.
6000
6001 2012-01-27  Bruno Haible  <bruno@clisp.org>
6002
6003         stdalign: Document the last change.
6004         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
6005
6006 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6007
6008         stdalign: check that alignof and offsetof are consistent
6009         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
6010         Problem reported for gnulib by Richard W.M. Jones in
6011         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
6012
6013 2012-01-27  Jim Meyering  <meyering@redhat.com>
6014
6015         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
6016         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
6017         convert a sequence with gaps to the minimal containing range.
6018         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
6019         * tests/test-update-copyright.sh: Test for this.
6020         The FSF confirmed it is ok to do this, assuming there is at
6021         least one significant change per year in the affected range:
6022         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
6023
6024 2012-01-26  Bruno Haible  <bruno@clisp.org>
6025
6026         pipe2: refine doc about thread-safety
6027         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
6028         multithread-safety problem.
6029         * doc/glibc-functions/accept4.texi: Likewise.
6030
6031 2012-01-26  Bruno Haible  <bruno@clisp.org>
6032
6033         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
6034         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
6035         In the test program, include <fcntl.h>, for O_RDONLY.
6036
6037 2012-01-26  Eric Blake  <eblake@redhat.com>
6038
6039         pipe2: document lack of thread-safety in replacement
6040         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
6041         issue in replacement.
6042         * doc/glibc-functions/accept4.texi (accept4): Likewise.
6043         Based on a report by Eric Wong.
6044
6045 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6046             Bruno Haible  <bruno@clisp.org>
6047
6048         malloca: Avoid warnings on x86_64 mingw64.
6049         * lib/malloca.c: Include <stdint.h>.
6050         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
6051         * modules/malloca (Depends-on): Add stdint.
6052         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
6053
6054 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6055
6056         obstack: remove __STDC__ conditionals
6057         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
6058         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
6059         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
6060         m4/include_next.m4 as the only gnulib-maintained places that still
6061         refer to __STDC__.
6062
6063 2012-01-24  Bruno Haible  <bruno@clisp.org>
6064
6065         havelib: Modern quoting.
6066         * build-aux/config.rpath: Quote 'like this', not `like this', as per
6067         the recent change to the GNU coding standards.
6068
6069 2012-01-24  Bruno Haible  <bruno@clisp.org>
6070
6071         stdint: Improve support for Android.
6072         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
6073         Reported by Simon Josefsson <simon@josefsson.org>.
6074
6075 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6076
6077         doc: omit trailing empty lines from INSTALL etc.
6078         * doc/Makefile (INSTALL): Omit trailing empty lines.
6079         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
6080         omit trailing empty lines.  This simplifies the build procedure.
6081
6082 2012-01-23  Jim Meyering  <meyering@redhat.com>
6083
6084         tests: avoid spurious warnings about gl_sockets_startup
6085         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
6086         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
6087         reporting a "statement with no effect".
6088         * tests/test-accept.c (main): Mark as "(void)".
6089         * tests/test-accept4.c (main): Likewise.
6090         * tests/test-bind.c (main): Likewise.
6091         * tests/test-connect.c (main): Likewise.
6092         * tests/test-getpeername.c (main): Likewise.
6093         * tests/test-getsockname.c (main): Likewise.
6094         * tests/test-getsockopt.c (main): Likewise.
6095         * tests/test-listen.c (main): Likewise.
6096         * tests/test-recv.c (main): Likewise.
6097         * tests/test-recvfrom.c (main): Likewise.
6098         * tests/test-send.c (main): Likewise.
6099         * tests/test-sendto.c (main): Likewise.
6100         * tests/test-setsockopt.c (main): Likewise.
6101         * tests/test-shutdown.c (main): Likewise.
6102
6103 2012-01-21  Bruno Haible  <bruno@clisp.org>
6104
6105         locale-fr.m4: Fix for Android.
6106         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
6107         failure of the test program on Bionic libc.
6108
6109 2012-01-21  Jim Meyering  <meyering@redhat.com>
6110
6111         bootstrap: fail when bootstrap_post_import_hook fails
6112         Otherwise, it's far too easy to miss diagnostics emitted
6113         between gnulib-tool's output and that of running configure.
6114         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
6115
6116 2012-01-17  Jim Meyering  <meyering@redhat.com>
6117
6118         maint: enable sc_trailing_blank
6119         * build-aux/pmccabe.css: Remove trailing blanks.
6120         * doc/acl-cygwin.txt: Likewise.
6121         * doc/gnu-oids.texi: Likewise
6122         * cfg.mk: Enable sc_trailing_blank.
6123         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
6124
6125 2012-01-17  Jim Meyering  <meyering@redhat.com>
6126
6127         maint: enable sc_prohibit_openat_without_use
6128         * cfg.mk: Enable sc_prohibit_openat_without_use.
6129         Exempt lib/selinux-at.c.
6130
6131 2012-01-17  Jim Meyering  <meyering@redhat.com>
6132
6133         maint: enable sc_prohibit_cloexec_without_use
6134         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6135         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6136
6137 2012-01-17  Jim Meyering  <meyering@redhat.com>
6138
6139         maint: enable sc_prohibit_intprops_without_use
6140         * cfg.mk: Enable sc_prohibit_intprops_without_use
6141         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6142
6143 2012-01-17  Jim Meyering  <meyering@redhat.com>
6144
6145         maint: enable sc_prohibit_hash_pjw_without_use
6146         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6147         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6148         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6149         following " (".
6150
6151 2012-01-17  Jim Meyering  <meyering@redhat.com>
6152
6153         maint: enable double-word-prohibiting rule
6154         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6155         Exempt three files.
6156
6157 2012-01-17  Jim Meyering  <meyering@redhat.com>
6158
6159         maint: remove empty lines at EOF, but excluding modules/*
6160         Apply syntax rules at home as well as abroad.  Most changes
6161         were induced by running this:
6162           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6163             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6164             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6165         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6166         Exempt modules/* and two binary files.
6167         Also exempt doc/INSTALL*, per request from Bruno Haible.
6168         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6169         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6170         * doc/Copyright/request-assign.future: Likewise.
6171         * doc/Copyright/request-disclaim.changes: Likewise.
6172         * doc/INSTALL: Likewise.
6173         * doc/INSTALL.ISO: Likewise.
6174         * doc/INSTALL.UTF-8: Likewise.
6175         * doc/acl-cygwin.txt: Likewise.
6176         * doc/acl-resources.txt: Likewise.
6177         * doc/fdl-1.2.texi: Likewise.
6178         * doc/fdl-1.3.texi: Likewise.
6179         * doc/fdl.texi: Likewise.
6180         * lib/argp-pin.c: Likewise.
6181         * lib/round.c: Likewise.
6182         * lib/unicase/u16-totitle.c: Likewise.
6183         * lib/unictype/block_test.c: Likewise.
6184         * lib/uninorm/canonical-decomposition.c: Likewise.
6185         * m4/README: Likewise.
6186         * m4/relocatable-lib.m4: Likewise.
6187         * tests/test-isnand-nolibm.c: Likewise.
6188         * tests/test-isnand.c: Likewise.
6189         * tests/uninorm/NormalizationTest.txt: Likewise.
6190
6191 2012-01-17  Jim Meyering  <meyering@redhat.com>
6192
6193         maint: add framework to run syntax-check rules against gnulib sources
6194         * cfg.mk: New file, to disable all currently-failing tests.
6195         We'll enable them one by one, as they are made to pass.
6196         * Makefile (sc_maint): New rule.
6197
6198 2012-01-21  Bruno Haible  <bruno@clisp.org>
6199
6200         stdint: Add support for Android.
6201         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6202         include the system's <stdint.h>.
6203         Reported by Simon Josefsson <simon@josefsson.org>.
6204
6205 2012-01-19  Jim Meyering  <meyering@redhat.com>
6206
6207         bootstrap: add bootstrap_post_import_hook
6208         Bison does still need something like the gnulib_mk_hook whose
6209         invocation I had to remove along with slurp in commit 767ccd40.
6210         Technically, we could get along without it, but doing so would
6211         have required living with a warning and a mandatory post-bootstrap
6212         automake rerun.
6213         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6214         (bootstrap_post_import_hook): New function.
6215         Invoke it after gnulib-tool --import and before autoreconf.
6216
6217 2012-01-18  Jim Meyering  <meyering@redhat.com>
6218
6219         gitlog-to-changelog: don't use "no_"-prefixed variable name
6220         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6221         to enable both --cluster and --no-cluster.  Change variable name,
6222         s/\$no_cluster/$cluster/, and reverse usage to match.
6223
6224         gitlog-to-changelog: use "||", not "or" in expressions
6225         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6226         expressions.
6227
6228 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6229
6230         gitlog-to-changelog: new option --no-cluster
6231         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6232         clustering of adjacent commit messages.
6233
6234 2012-01-17  Jim Meyering  <meyering@redhat.com>
6235
6236         maint: spell file systems with two words, not one
6237         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6238         two words, not one.
6239
6240 2012-01-16  Jim Meyering  <meyering@redhat.com>
6241
6242         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6243         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6244
6245 2012-01-16  Eric Blake  <eblake@redhat.com>
6246
6247         bootstrap: cater to autoconf 2.59
6248         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6249         is not available.
6250
6251         bootstrap: properly check for libtool
6252         * build-aux/bootstrap (libtoolize): Also run libtool when older
6253         usage is detected.
6254
6255 2012-01-15  Bruno Haible  <bruno@clisp.org>
6256
6257         Improve support for MSVC 9.
6258         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6259         clashes on MSVC.
6260         * lib/fcntl.in.h: Likewise.
6261         * lib/stdlib.in.h: Likewise.
6262         * lib/sys_stat.in.h: Likewise.
6263
6264 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6265
6266         gnupload: we hold the master copy of this script now
6267         For motivation and more information, see:
6268         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6269         * build-aux/gnupload: Make it clear in the heading comments that the
6270         master copy of this file is maintained by gnulib.  Since we are at
6271         it, bump its copyright year and ...
6272         ($scriptversion): ... the date in its version.
6273         ($usage): Patches and bug reports should be sent to the gnulib list,
6274         not the automake one.
6275         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6276         anymore.
6277
6278 2012-01-15  Bruno Haible  <bruno@clisp.org>
6279
6280         Fix module 'random'.
6281         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6282         initstate, setstate are declared.
6283
6284 2012-01-14  Bruno Haible  <bruno@clisp.org>
6285
6286         Tests for module 'random'.
6287         * modules/random-tests: New file.
6288         * tests/test-random.c: New file, based on tests/test-random_r.c.
6289
6290         New module 'random'.
6291         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6292         declarations.
6293         * lib/random.c: New file, based on glibc/stdlib/random.c.
6294         * m4/random.m4: New file.
6295         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6296         HAVE_RANDOM.
6297         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6298         * modules/random: New file.
6299         * config/srclist.txt: Add an entry for random.c.
6300         * doc/posix-functions/random.texi: Mention the 'random' module.
6301         * doc/posix-functions/initstate.texi: Likewise.
6302         * doc/posix-functions/setstate.texi: Likewise.
6303         * doc/posix-functions/srandom.texi: Likewise.
6304
6305 2012-01-12  Bruno Haible  <bruno@clisp.org>
6306
6307         random_r: Use common idioms.
6308         * lib/random_r.c: Include <stdlib.h> first.
6309
6310         random_r: Override incompatible API on AIX, OSF/1.
6311         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6312         Override the system function if REPLACE_RANDOM_R is 1.
6313         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6314         and OSF/1, set REPLACE_RANDOM_R.
6315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6316         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6317         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6318         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6319         * doc/glibc-functions/random_r.texi: Likewise.
6320         * doc/glibc-functions/setstate_r.texi: Likewise.
6321
6322         random_r: Support for MSVC 9.
6323         * lib/random_r.c: Include stdint.h, not inttypes.h.
6324
6325 2012-01-12  Eric Blake  <eblake@redhat.com>
6326
6327         inet_ntop: guard extra work by IF_LINT
6328         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6329         better code generation when not checking for warnings.
6330         Suggested by Paul Eggert and Jim Meyering.
6331
6332         strptime: fix regression on mingw
6333         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6334         Fix regression.  Reported by Bruno Haible.
6335
6336 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6337             Bruno Haible  <bruno@clisp.org>
6338
6339         copy-file: add error-code-returning variant.
6340         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6341         (qcopy_file_preserving): New declaration.
6342         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6343         copy_file_preserving. Change return type to 'int'. Don't emit an error
6344         message here.
6345         (copy_file_preserving): New function.
6346         * tests/test-copy-file.c: Include <stdlib.h>.
6347         (main): Test qcopy_file_preserving if the environment variable
6348         NO_STDERR_OUTPUT is set.
6349         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6350         with NO_STDERR_OUTPUT
6351         * tests/test-copy-file-2.sh: Likewise.
6352
6353 2012-01-10  Bruno Haible  <bruno@clisp.org>
6354
6355         copy-file: Use 'quote' module consistently.
6356         * lib/copy-file.c (copy_file_preserving): Use quote().
6357
6358         copy-file: Refactor.
6359         * lib/copy-file.c: Include quote.h.
6360         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6361         message here.
6362         * modules/copy-file (Depends-on): Add quote.
6363
6364         acl: Export qcopy_acl.
6365         * lib/acl.h (qcopy_acl): New declaration.
6366         * lib/copy-acl.c (qcopy_acl): Make non-static.
6367
6368         acl: Rename a local variable.
6369         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6370
6371         acl: Align return values of copy_acl and qcopy_acl.
6372         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6373         maybe < -1.
6374
6375 2012-01-11  Eric Blake  <eblake@redhat.com>
6376
6377         strptime: silence gcc warnings
6378         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6379         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6380         Reported by Daniel P. Berrange.
6381
6382         inet_ntop: silence gcc warning
6383         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6384         Reported by Daniel P. Berrange.
6385
6386 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6387
6388         getloadavg test: skip the test on GNU/Linux without /proc mounted
6389         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6390         file.  When /proc is not mounted, it always fails with ENOENT.
6391         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6392         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6393
6394 2012-01-10  Bruno Haible  <bruno@clisp.org>
6395
6396         regex: Avoid link error on MSVC 9.
6397         * modules/regex (Depends-on): Add wctype.
6398
6399 2012-01-10  Bruno Haible  <bruno@clisp.org>
6400
6401         doc: Mention --with-tests option.
6402         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6403         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6404         --with-tests.
6405         Reported by Reuben Thomas.
6406
6407 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6408
6409         users.txt: order package names lexicographically.
6410         * users.txt: Order package names lexicographically.
6411
6412 2012-01-10  Jim Meyering  <meyering@redhat.com>
6413
6414         maint.mk: fix description in comment
6415         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6416
6417         ignore-value: remove deprecated ignore_ptr function
6418         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6419         * NEWS: Note this.
6420
6421 2012-01-09  Jim Meyering  <meyering@redhat.com>
6422
6423         test-init.sh: avoid a subshell
6424         * tests/test-init.sh: Remove protective subshell.
6425         Suggested by Bernhard Voelker.  While a subshell is normally
6426         required to protect against older shells (Solaris, FreeBSD) that
6427         warn about a missing program before performing redirection, the
6428         shell-selection tests performed by init.sh probably exclude any
6429         offending shell.
6430
6431 2012-01-08  Bruno Haible  <bruno@clisp.org>
6432
6433         setlocale tests: Avoid test failure on Solaris 11 2011-11.
6434         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
6435         variable.
6436
6437 2012-01-08  Bruno Haible  <bruno@clisp.org>
6438
6439         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
6440         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6441         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6442         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
6443         macro.
6444         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
6445         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6446         * lib/spawn_faction_addopen.c: Add workaround implementation if
6447         HAVE_WORKING_POSIX_SPAWN.
6448         * modules/spawn (Makefile): Substitute
6449         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6450         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
6451         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
6452         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6453         (Depends-on): Update conditions.
6454         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
6455         the Solaris 11 bug.
6456
6457 2012-01-08  Bruno Haible  <bruno@clisp.org>
6458
6459         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6460         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6461         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6462         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6463         macro.
6464         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6465         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6466         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6467         HAVE_WORKING_POSIX_SPAWN.
6468         * modules/spawn (Makefile): Substitute
6469         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6470         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6471         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6472         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6473         (Depends-on): Update conditions.
6474         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6475         the Solaris 11 bug.
6476
6477 2012-01-08  Bruno Haible  <bruno@clisp.org>
6478
6479         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6480         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6481         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6482         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6483         HAVE_WORKING_POSIX_SPAWN.
6484         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6485         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6486         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6487         * lib/spawn_faction_addclose.c: Add workaround implementation if
6488         HAVE_WORKING_POSIX_SPAWN.
6489         * modules/spawn (Makefile): Substitute
6490         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6491         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6492         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6493         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6494         (Depends-on): Update conditions.
6495         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6496         the Solaris 11 bug.
6497
6498 2012-01-08  Bruno Haible  <bruno@clisp.org>
6499
6500         doc: Update for Solaris 11 2011-11.
6501         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6502         * m4/printf.m4: Update comments.
6503
6504 2012-01-08  Bruno Haible  <bruno@clisp.org>
6505
6506         mktime: Avoid compilation error on Solaris 11.
6507         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6508
6509 2012-01-08  Bruno Haible  <bruno@clisp.org>
6510
6511         doc: Small fix.
6512         * doc/posix-headers/nl_types.texi: Correct platforms list.
6513
6514 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6515
6516         Add lgpl-3.0 module.
6517         * MODULES.html.sh (Support for building documentation): Add
6518         lgpl-3.0.
6519         * modules/lgpl-3.0: New file.
6520
6521 2012-01-08  Jim Meyering  <meyering@redhat.com>
6522
6523         select.c: indent with spaces, not TABs
6524         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6525
6526 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6527
6528         quotearg: do not use grave accent for left quote
6529         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6530         locale_quoting_style.
6531         (quotearg_buffer_restyled): Fix example.
6532         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6533
6534 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6535
6536         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6537         Most programs do not have translation catalogs for English and much
6538         less separate catalogs for British and American English.  Drop the
6539         suggestion to translators about these two, and provide it
6540         automatically for Unicode locales.  Like most programs, even those
6541         using American English, we use single quotation marks.  This conflicts
6542         with the American typographic convention, but works better when you
6543         cite the entire error message within double quotes.  It also tries not
6544         to clash with established practice and with what non-gnulib programs
6545         will usually do.
6546         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6547         using an UTF-8 or GB-18030 locale.  The list of other locales with
6548         quotes was provided by Bruno Haible.
6549         (quotearg_buffer_restyled): Adjust instructions to translators.
6550         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6551         text, since this would be wrong when using Unicode.
6552         * modules/quotearg: Depend on c-strcaseeq.
6553
6554 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6555
6556         quotearg: fix Wikipedia link
6557         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6558
6559 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6560
6561         Fix for mingw with MSVC9.
6562         * m4/ld-version-script.m4: Check that compiler rejects version
6563         scripts with syntax errors.  Reported by Bruno Haible
6564         <bruno@clisp.org>.
6565
6566 2012-01-06  Bruno Haible  <bruno@clisp.org>
6567
6568         Talk about "native Windows API", not "Woe32".
6569         * lib/accept4.c: Update comments to mention native Windows.
6570         * lib/execute.c: Likewise.
6571         * lib/fatal-signal.c: Likewise.
6572         * lib/localcharset.c: Likewise.
6573         * lib/nanosleep.c: Likewise.
6574         * lib/nl_langinfo.c: Likewise.
6575         * lib/pclose.c: Likewise.
6576         * lib/pipe-filter-gi.c: Likewise.
6577         * lib/pipe-filter-ii.c: Likewise.
6578         * lib/pipe.c: Likewise.
6579         * lib/pipe2.c: Likewise.
6580         * lib/popen.c: Likewise.
6581         * lib/progreloc.c: Likewise.
6582         * lib/relocatable.c: Likewise.
6583         * lib/sigaction.c: Likewise.
6584         * lib/sigprocmask.c: Likewise.
6585         * lib/spawn-pipe.h: Likewise.
6586         * lib/spawn-pipe.c: Likewise.
6587         * lib/spawni.c: Likewise.
6588         * lib/stat-time.h: Likewise.
6589         * lib/w32spawn.h: Likewise.
6590         * tests/test-isatty.c: Likewise.
6591         * lib/config.charset: More comments.
6592         * doc/gnulib-intro.texi: Mention native Windows.
6593         * doc/posix-functions/_Exit_C99.texi: Likewise.
6594         * doc/posix-headers/fcntl.texi: Likewise.
6595
6596 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6597
6598         argp: Avoid crash if translator uses % characters in a translation.
6599         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6600         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6601
6602 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6603
6604         doc: C11 and C++11 are now official
6605         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6606         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6607         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6608         * modules/stdalign:
6609         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6610
6611 2012-01-06  Bruno Haible  <bruno@clisp.org>
6612
6613         uc-is-grapheme-break tests: Tweak.
6614         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6615         message.
6616
6617 2012-01-06  Bruno Haible  <bruno@clisp.org>
6618
6619         test-init.sh: correct the test for diff -u
6620         * tests/test-init.sh: Also redirect stdout to /dev/null.
6621
6622 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6623
6624         Use ', not `, for quoting output.
6625         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6626         (print_changelog_deltas, get_tool_versions, main program):
6627         * build-aux/git-version-gen:
6628         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6629         * build-aux/move-if-change (help):
6630         * build-aux/useless-if-before-free (usage, main program):
6631         * check-module (parse_module_file, usage)
6632         (find_included_lib_files, check_module):
6633         * lib/argmatch.c (main) [TEST]:
6634         * lib/argp-help.c (_help):
6635         * lib/getopt1.c (main) [TEST]:
6636         * lib/git-merge-changelog.c (usage):
6637         * lib/xstrtol-error.c (xstrtol_error):
6638         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6639         * m4/argz.m4 (gl_FUNC_ARGZ):
6640         * m4/bison.m4 (gl_BISON):
6641         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6642         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6643         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6644         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6645         * m4/gc-random.m4 (gl_GC_RANDOM):
6646         * m4/intl.m4 (gt_CHECK_DECL):
6647         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6648         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6649         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6650         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6651         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6652         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6653         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6654         * tests/test-dirname.c (main):
6655         * tests/test-getpass.c (main):
6656         * tests/test-iconvme.c (main):
6657         * tests/test-parse-datetime.c (LOG):
6658         * tests/test-xstrtoimax.sh:
6659         * tests/test-xstrtol.sh:
6660         * tests/test-xstrtoll.sh:
6661         * tests/test-xstrtoumax.sh:
6662         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6663         * top/GNUmakefile (abort-due-to-no-makefile):
6664         Quote 'like this', not `like this', as per the recent change to
6665         the GNU coding standards.
6666
6667 2012-01-05  Bruno Haible  <bruno@clisp.org>
6668
6669         strtoimax: Don't force a replacement on systems where intmax_t is int.
6670         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6671         'intmax_t' is not larger than 'int'.
6672         Reported by Pádraig Brady <P@draigBrady.com>.
6673
6674 2012-01-05  Bruno Haible  <bruno@clisp.org>
6675
6676         doc: Mention NetBSD bugs.
6677         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6678         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6679
6680 2012-01-05  Bruno Haible  <bruno@clisp.org>
6681
6682         strtoumax tests: Enhance tests.
6683         * tests/test-strtoumax.c (main): Add tests for large values.
6684
6685 2012-01-05  Bruno Haible  <bruno@clisp.org>
6686
6687         strtoimax: Work around AIX 5.1 bug.
6688         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6689         definition.
6690         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6691         Set HAVE_STRTOIMAX.
6692         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6693         REPLACE_STRTOIMAX.
6694         * modules/inttypes-incomplete (Makefile.am): Substitute
6695         REPLACE_STRTOIMAX.
6696         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6697         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6698         (Depends-on): Update conditions.
6699         * tests/test-strtoimax.c (main): Add tests for large values.
6700         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6701
6702 2012-01-05  Bruno Haible  <bruno@clisp.org>
6703
6704         inttypes: Modernize.
6705         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6706         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6707         (Makefile.am): Update inttypes.h rule.
6708
6709 2012-01-05  Jim Meyering  <meyering@redhat.com>
6710
6711         init.sh: don't waste a subshell just to redirect stderr
6712         * tests/init.sh: In testing for diff -u and diff -c, use a
6713         stderr-redirecting exec inside `...` rather than a subshell.
6714
6715         test-init.sh: avoid failure on HP-UX 11.00
6716         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6717         resolves to diff -c or cmp.  Reported by Bruno Haible.
6718
6719 2012-01-05  Bruno Haible  <bruno@clisp.org>
6720
6721         Tests for module 'strtoull'.
6722         * modules/strtoull-tests: New file.
6723         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6724
6725 2012-01-05  Bruno Haible  <bruno@clisp.org>
6726
6727         Tests for module 'strtoll'.
6728         * modules/strtoll-tests: New file.
6729         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6730
6731 2012-01-05  Bruno Haible  <bruno@clisp.org>
6732
6733         Tests for module 'strtoul'.
6734         * modules/strtoul-tests: New file.
6735         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6736
6737 2012-01-05  Bruno Haible  <bruno@clisp.org>
6738
6739         Tests for module 'strtol'.
6740         * modules/strtol-tests: New file.
6741         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6742
6743 2012-01-04  Jim Meyering  <meyering@redhat.com>
6744
6745         test-init.sh: accommodate Solaris 5.10's different diff -u output
6746         * tests/test-init.sh: Also exempt @@ lines from the comparison
6747         of diff output, since Solaris 5.10 and GNU diff formats differ.
6748         Reported by Stefano Lattarini.
6749
6750 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6751
6752         test-posixtm: don't assume signed integer wraparound
6753         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6754         after signed integer overflow.  Inspired by (though it may not
6755         fix) Bruno Haible's bug report in
6756         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6757
6758         Spell out "Windows 9x" and "Windows XP".
6759         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6760         "Windows 9x" and "WinXP" with "Windows XP".
6761
6762 2012-01-04  Jim Meyering  <meyering@redhat.com>
6763
6764         test-vc-list-files-cvs.sh: remove obsolete comment
6765         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6766         double exit.  Now that's all encapsulated via skip_ and Exit.
6767
6768 2012-01-04  Bruno Haible  <bruno@clisp.org>
6769
6770         Talk about "native Windows API", not "Win32".
6771         * lib/classpath.c: Update comments to mention native Windows.
6772         * lib/csharpexec.c: Likewise.
6773         * lib/dup2.c: Likewise.
6774         * lib/error.c: Likewise.
6775         * lib/fcntl.c: Likewise.
6776         * lib/filename.h: Likewise.
6777         * lib/findprog.c: Likewise.
6778         * lib/get-rusage-as.c: Likewise.
6779         * lib/get-rusage-data.c: Likewise.
6780         * lib/getpagesize.c: Likewise.
6781         * lib/javaexec.c: Likewise.
6782         * lib/msvc-inval.c: Likewise.
6783         * lib/msvc-nothrow.c: Likewise.
6784         * lib/nanosleep.c: Likewise.
6785         * lib/nonblocking.c: Likewise.
6786         * lib/printf-parse.c: Likewise.
6787         * lib/setlocale.c: Likewise.
6788         * lib/sigaction.c: Likewise.
6789         * lib/strerror_r.c: Likewise.
6790         * lib/tmpdir.c: Likewise.
6791         * lib/vasnprintf.c: Likewise.
6792         * lib/w32spawn.h: Likewise.
6793         * lib/waitpid.c: Likewise.
6794         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6795         * m4/locale-ar.m4: Likewise.
6796         * m4/locale-fr.m4: Likewise.
6797         * m4/locale-ja.m4: Likewise.
6798         * m4/locale-tr.m4: Likewise.
6799         * m4/locale-zh.m4: Likewise.
6800         * m4/printf.m4: Likewise.
6801         * tests/test-cloexec.c: Likewise.
6802         * tests/test-copy-acl.sh: Likewise.
6803         * tests/test-copy-file.sh: Likewise.
6804         * tests/test-file-has-acl.sh: Likewise.
6805         * tests/test-set-mode-acl.sh: Likewise.
6806         * tests/test-dup-safer.c: Likewise.
6807         * tests/test-dup2.c: Likewise.
6808         * tests/test-dup3.c: Likewise.
6809         * tests/test-fcntl.c: Likewise.
6810         * tests/test-nonblocking-pipe.h: Likewise.
6811         * tests/test-nonblocking-socket.h: Likewise.
6812         * tests/test-pipe.c: Likewise.
6813         * tests/test-pipe2.c: Likewise.
6814         * tests/test-spawn-pipe-child.c: Likewise.
6815         * doc/acl-resources.txt: Likewise.
6816         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6817         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6818         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6819         * lib/localcharset.c: Update comments to mention native Windows.
6820         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6821         * lib/localename.c: Likewise.
6822         * lib/progreloc.c: Likewise.
6823         * lib/relocatable.c: Likewise.
6824         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6825         (windows_compute_revents): Renamed from win32_compute_revents.
6826         (windows_compute_revents_socket): Renamed from
6827         win32_compute_revents_socket.
6828         * lib/select.c: Update comments to mention native Windows.
6829         (windows_poll_handle): Renamed from win32_poll_handle.
6830         * m4/threadlib.m4: Update comments to mention native Windows.
6831         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6832         --enable-threads=windows instead of --enable-threads=win32. Set
6833         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6834         * lib/glthread/lock.h: Update comments to mention native Windows.
6835         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6836         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6837         USE_WIN32_THREADS.
6838         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6839         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6840         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6841         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6842         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6843         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6844         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6845         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6846         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6847         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6848         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6849         * tests/test-tls.c: Likewise.
6850         Rationale:
6851         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6852         on both 32-bit and 64-bit Windows systems.
6853         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6854         line of distinction is between "native Windows" on one side and Unix/
6855         POSIX systems on the other side. More details in
6856         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6857         Suggested by Paul Eggert.
6858
6859 2012-01-03  Bruno Haible  <bruno@clisp.org>
6860
6861         isatty: Support for MSVC 9.
6862         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6863         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6864         (_isatty_nothrow): New function.
6865         (isatty): Use it instead of _isatty.
6866         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6867         * lib/poll.c (IsConsoleHandle): Likewise.
6868         * lib/select.c (IsConsoleHandle): Likewise.
6869         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6870         (gl_PREREQ_ISATTY): New macro.
6871         * modules/isatty (Depends-on): Add msvc-inval.
6872         (configure.ac): Invoke gl_PREREQ_ISATTY.
6873
6874 2012-01-03  Jim Meyering  <meyering@redhat.com>
6875
6876         maint.mk: remove temporary transition aid from over 1.5 years ago
6877         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6878         purpose was to aid in the transition (avoiding silent malfunction)
6879         from that old name to the new _sc_search_regexp.  This shim was
6880         added by commit 219c504b.
6881
6882         init.sh: do not try to accommodate compare arguments starting with "-"
6883         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6884         compare arguments that start with "-".  Besides, we do not worry
6885         about this when invoking diff or cmp; why start now with sed?
6886         Using "--" to separate options from argument would trigger sed
6887         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6888         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6889
6890 2012-01-02  Bruno Haible  <bruno@clisp.org>
6891
6892         Enhance tests for module 'isatty'.
6893         * modules/isatty-tests (Depends-on): Add pipe-posix.
6894         * tests/test-isatty.c: Include <fcntl.h>.
6895         (DEV_NULL): New macro.
6896         (main): Test the resut of isatty() also on regular files, pipes, and
6897         /dev/null.
6898
6899         New module 'isatty'.
6900         * lib/unistd.in.h (isatty): New declaration.
6901         * lib/isatty.c: New file, based on an idea of
6902         Bastien Roucariès <roucaries.bastien@gmail.com>.
6903         * m4/isatty.m4: New file.
6904         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6905         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6906         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6907         REPLACE_ISATTY.
6908         * modules/isatty: New file.
6909         * doc/posix-functions/isatty.texi: Mention the new module.
6910         Suggested by Paolo Bonzini.
6911
6912 2012-01-02  Bruno Haible  <bruno@clisp.org>
6913
6914         canonicalize: Tweak 2011-12-29 commit.
6915         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6916         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6917
6918 2012-01-02  Jim Meyering  <meyering@redhat.com>
6919
6920         gitlog-to-changelog: describe input syntax in --help output
6921         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6922
6923         gitlog-to-changelog: fix typo in --help: show backslash before email @
6924         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6925         in sources, but not in actual output.
6926
6927 2011-12-30  Jim Meyering  <meyering@redhat.com>
6928
6929         gitlog-to-changelog: don't malfunction when name contains %-directive
6930         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6931         in a name string cause trouble.  E.g., with a user name of "%s",
6932         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6933
6934 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6935
6936         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6937         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6938         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6939         the "  (tiny change)" notation that is appended to the standard
6940         ChangeLog "date  name  email" header line.
6941
6942 2012-01-01  Jim Meyering  <meyering@redhat.com>
6943
6944         test-framework-sh: init.sh: fix "make dist" failure
6945         When using gnulib-tool's --with-tests option and any module that
6946         depends on test-framework-sh, "make dist" would fail due to the
6947         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6948         in the gltests directory, and not in the gllib/ directory.
6949         One way to work around that is to move the EXTRA_DIST += init.sh
6950         from the primary module to the -tests one:
6951         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6952         * modules/test-framework-sh (Makefile.am): ...not here.
6953         Reported by Tom G. Christensen in
6954         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6955
6956         version-etc: update copyright year reported by --version
6957         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6958
6959 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6960
6961         canonicalize: only stat() if required
6962         * lib/canonicalize.c (canonicalize_filename_mode):
6963         Avoid calling l?stat() when both CAN_MISSING,
6964         and CAN_NOLINKS are set, as we neither need
6965         to resolve symlinks or test component existence.
6966
6967 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6968
6969         doc: cover st_ino issues once; add OpenVMS etc.
6970         * doc/posix-functions/stat.texi (stat):
6971         * doc/posix-functions/lstat.texi (lstat):
6972         * doc/posix-functions/fstatat.texi (fstatat):
6973         * doc/posix-functions/fstat.texi (fstat):
6974         Move general 'struct stat' stuff to sys_stat.texi,
6975         leaving behind a pointer.
6976         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6977         Merge duplicate info about 'struct stat' problems into here.
6978         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6979         and suggest partial workarounds.
6980
6981         same-inode: port to OpenVMS
6982         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6983         three st_ino values.
6984
6985 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6986
6987         canonicalize: fix references to stat() and lstat()
6988         * lib/canonicalize.c (canonicalize_filename_mode):
6989         Ensure references always resolve to a replacement
6990         function if required (even via a macro).
6991
6992 2011-12-30  Jim Meyering  <meyering@redhat.com>
6993
6994         gitlog-to-changelog: remove a little duplication
6995         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6996         rather than twice.
6997
6998 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6999
7000         canonicalize: add support for not resolving symlinks
7001         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
7002         indicate we don't want to follow symlinks.  Also
7003         provide CAN_MODE_MASK to aid setting these existing
7004         mutually exclusive values.
7005         * lib/canonicalize.c (canonicalize_filename_mode):
7006         Extract the flags from can_mode parameter, which
7007         are currently just used to select between stat()
7008         and lstat().  Also ensure that mutually exclusive
7009         values are flagged immediately as invalid.
7010         * tests/test-canonicalize.c: Verify symlinks are
7011         not followed, and that invalid flag combinations
7012         are diagnosed.
7013
7014 2011-12-25  Jim Meyering  <meyering@redhat.com>
7015
7016         gitlog-to-changelog: do not clump multi-paragraph entries
7017         Identical header lines (date,name,email+coauthors) are suppressed,
7018         thus putting all entries with those same characteristics under
7019         a single header.  However, when a log entry consists of two or
7020         more paragraphs, it may not be clear where it starts and ends.
7021         This change makes it so that such an entry is always separated
7022         from others by a header line, even when that header would
7023         otherwise be suppressed.
7024         * build-aux/gitlog-to-changelog: Implement the above.
7025         Inspired by a related request from Stefano Lattarini in
7026         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
7027
7028 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7029
7030         announce-gen: fix `cmd' typo in diagnostic
7031         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
7032         diagnostic: a missing '$' meant that the command was not output.
7033
7034 2011-12-23  Jim Meyering  <meyering@redhat.com>
7035
7036         test-framework-sh: distribute init.sh
7037         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
7038         Otherwise, "make -C gnulib-tests check" (at least in grep) would
7039         fail due to the lack of init.sh.
7040
7041         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
7042         * modules/atexit-tests: Rather than listing tests/init.sh,
7043         now that there's a module for it, simply depend on that new module.
7044         * modules/closein-tests: Likewise.
7045         * modules/exclude-tests: Likewise.
7046         * modules/getcwd-tests: Likewise.
7047         * modules/perror-tests: Likewise.
7048         * modules/pread-tests: Likewise.
7049         * modules/pwrite-tests: Likewise.
7050         * modules/vc-list-files-tests: Likewise.
7051         * modules/verify-tests: Likewise.
7052         * modules/xalloc-die-tests: Likewise.
7053         * modules/xstrtoimax-tests: Likewise.
7054         * modules/xstrtol-tests: Likewise.
7055         * modules/xstrtoll-tests: Likewise.
7056         * modules/xstrtoumax-tests: Likewise.
7057         * modules/yesno-tests: Likewise.
7058
7059 2011-12-22  Jim Meyering  <meyering@redhat.com>
7060
7061         test-framework-sh: add minimal tests of init.sh's compare function
7062         * modules/test-framework-sh-tests: New file.
7063         * tests/test-init.sh: New file.
7064
7065         test-framework-sh: new module
7066         * modules/test-framework-sh: New file.
7067         * MODULES.html.sh (Support for maintaining and releasing projects):
7068         List it.
7069
7070         init.sh: do not emit simulated diff output to stderr
7071         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
7072
7073 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7074
7075         .gitignore: ignore gnulib.dvi and regex.info
7076         * doc/.gitignore:add gnulib.dvi and regex.info
7077
7078 2011-12-22  Jim Meyering  <meyering@redhat.com>
7079
7080         init.sh: correct previous change
7081         * tests/init.sh (compare): My previous change was wrong.
7082         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
7083
7084         init.sh: avoid unwarranted test failure when using "set -e"
7085         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
7086         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
7087         a use like "compare exp out" would get evoke an unconditional failure.
7088
7089 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
7090
7091         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
7092         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
7093         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
7094         autoreconf that did not.
7095         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
7096         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7097
7098 2011-12-17  Jim Meyering  <meyering@redhat.com>
7099
7100         bootstrap: remove some now-unneeded code
7101         This script arose back when gnulib-tool was young.
7102         Since then, it has seen improvements that render much of this
7103         script unnecessary.  In particular, it can now make symlinks
7104         to the files it uses.  Also, I no longer see as much value in
7105         marking files as read-only via comments.
7106         If you relied on the symlink-creation feature of the preceding
7107         version of this script, you can get most of that functionality
7108         by adding the --symlink option to the definition of
7109         gnulib_tool_option_extras in your bootstrap.conf file.
7110         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
7111         Run autopoint and libtoolize *before* gnulib-tool.
7112         After it, run an abbreviated autoreconf, rather than a loop around
7113         all tools.
7114         (slirp, bt_mark_as_generated): Remove functions.
7115
7116 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7117
7118         ftoastr: fix typo
7119         * lib/ftoastr.h: Fix misspelling in comment.
7120
7121 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
7122
7123         * top/README-release: fix punctuation.
7124
7125 2011-12-17  Jim Meyering  <meyering@redhat.com>
7126
7127         bootstrap: correct the recent buildreq change
7128         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7129         had no effect.
7130         * build-aux/bootstrap (buildreq): Bracket each search term with
7131         "*...*", so that the shell "case" statement works as intended.
7132         Add comments.
7133
7134 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7135
7136         build: let bootstrap resort to wget when downloading .po files
7137         * build-aux/bootstrap (download_po_files): Fallback to wget when
7138         downloading the .po files via rsync fails.  This is necessary to
7139         bootstrap from behind a strict firewall.
7140
7141 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7142
7143         stdint: don't assume C++11 when compiling with g++
7144         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7145         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7146         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7147         work also in C++ before C++11, as that improperly inhibits
7148         generating a substitute stdint.h for that case.
7149
7150 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7151
7152         alloca: protect comment from gnulib-tool
7153         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7154         that gnulib-tool doesn't think it's a license, and munge it to
7155         say "GCC version 3".
7156
7157 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7158
7159         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7160         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7161         $(abs_top_builddir) instead of $(top_builddir).
7162
7163 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7164
7165         strftime-tests: also test nanoseconds
7166         * tests/test-strftime.c (T): Add a test of %N.
7167
7168 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7169
7170         inttypes, stdint: add C++11 support
7171         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7172         when including inttypes.h and stdint.h.  Support this change to
7173         the standard.
7174         * doc/posix-headers/inttypes.texi (inttypes.h):
7175         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7176         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7177         Define if not defined already, for the benefit of pre-C++11 hosts.
7178         Define the standard format macros (e.g., PRId8) always.
7179         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7180         Likewise, if __cpluspus.  Define the standard constant and limit
7181         macros (e.g., INT8_C, INT8_MAX) always.
7182         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7183         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7184         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7185         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7186         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7187         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7188         Likewise.
7189
7190 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7191
7192         nonblocking tests: Fix test failure on Linux/PPC.
7193         Suggested by Prerna Saxena in
7194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7195         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7196         Set to 1100000.
7197
7198 2011-12-12  Jim Meyering  <meyering@redhat.com>
7199
7200         argmatch: don't hard-code `' when listing valid option arguments
7201         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7202         use the quote function to add quotes.  Use fputs rather than
7203         fprintf for the format string with no format directive.
7204
7205 2011-12-07  Eric Blake  <eblake@redhat.com>
7206
7207         bootstrap: detect tools required by gnulib-tool
7208         * build-aux/bootstrap (buildreq): Provide minimum implicit
7209         dependencies.
7210         * DEPENDENCIES: Mention patch as a prereq.
7211
7212 2011-12-04  Bruno Haible  <bruno@clisp.org>
7213
7214         sethostname: Port to Windows platforms.
7215         * lib/sethostname.c: Provide an alternate implementation for Windows
7216         platforms.
7217         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7218         (main): Skip the test if sethostname() fails with EPERM. On Windows
7219         platforms, don't check the result of gethostname().
7220
7221 2011-12-04  Bruno Haible  <bruno@clisp.org>
7222             Jim Meyering  <meyering@redhat.com>
7223
7224         tests: Avoid spurious error message on platforms without mktemp program.
7225         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7226
7227 2011-12-04  Bruno Haible  <bruno@clisp.org>
7228
7229         sethostname: Fix documentation.
7230         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7231         "not fixed" section.
7232
7233 2011-12-03  Bruno Haible  <bruno@clisp.org>
7234
7235         gnulib-tool: Verify that the License field is present and non-empty.
7236         * gnulib-tool (func_get_license_raw): New function, extracted from
7237         func_get_license.
7238         (func_get_license): Use it. Warn if the module is not a test module and
7239         has no license.
7240         Suggested by Jim Meyering.
7241
7242 2011-12-03  Bruno Haible  <bruno@clisp.org>
7243
7244         sethostname tests: Fix link error on mingw.
7245         * tests/test-sethostname1.c: New file, extracted from
7246         tests/test-sethostname.c.
7247         * tests/test-sethostname2.c: New file, extracted from
7248         tests/test-sethostname.c.
7249         * tests/test-sethostname.c: Remove file.
7250         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7251         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7252         (Depends-on): Add gethostname.
7253         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7254         Link the latter with $(GETHOSTNAME_LIB).
7255
7256         sethostname tests: Fix compilation error on mingw.
7257         * tests/test-sethostname.c: Don't include <sys/types.h>.
7258         (geteuid): Use a dummy value without uid_t.
7259         * modules/sethostname-tests (Depends-on): Remove sys_types.
7260
7261         sethostname tests: Avoid a gcc warning.
7262         * tests/test-sethostname.c (main): Remove an unused variable.
7263
7264         Tweak last commit.
7265         * modules/sethostname-tests (Files): Sort by decreasing importance.
7266         (configure.ac): Check for geteuid.
7267         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7268         the test when there's nothing to test. Drop an unnecessary cast.
7269         Improve an error message. Verify that the final sethostname() call
7270         succeeds.
7271
7272 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7273
7274         Add a test suite for the sethostname module.
7275         * modules/sethostname-tests: New file.  A test program
7276         for the sethostname module.
7277         * tests/test-sethostname.c: Likewise.
7278
7279 2011-12-03  Bruno Haible  <bruno@clisp.org>
7280
7281         Tweak last commit.
7282         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7283         Fix preprocessor directives indentation. Fix typos.
7284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7285         * modules/unistd (Makefile): Likewise.
7286
7287 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7288
7289         Integrate the sethostname module into unistd.
7290         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7291         into the unistd.h header.
7292         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7293         preprocessor directives.
7294         * modules/unistd: Setup the Makefile substitutions of the
7295         SETHOSTNAME preprocessor directives.
7296
7297 2011-12-03  Bruno Haible  <bruno@clisp.org>
7298
7299         Tweak last commit.
7300         * lib/sethostname.c: Don't include <string.h>.
7301         (sethostname): No need to copy the argument string to the stack. Don't
7302         call clearerr. Preserve errno when fprintf failed.
7303         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7304         Don't invoke AC_REPLACE_FUNCS.
7305         * modules/sethostname (Link): Remove empty section.
7306         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7307         failure problem.
7308
7309 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7310
7311         New module 'sethostname'.
7312         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7313         for systems that lack it.
7314         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7315         sethostname declaration and function.
7316         * modules/sethostname: New file.  Define the sethostname module.
7317
7318 2011-12-03  Bruno Haible  <bruno@clisp.org>
7319
7320         Tweak last commit.
7321         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7322
7323 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7324
7325         Split the HOST_NAME_MAX detection into a separate m4 macro.
7326         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7327         macro so it can be used by the pending sethostname module.
7328
7329 2011-12-03  Bruno Haible  <bruno@clisp.org>
7330
7331         Fix module descriptions syntax.
7332         * modules/argv-iter (License): Fix syntax.
7333         * modules/di-set (License): Likewise.
7334         * modules/ino-map (License): Likewise.
7335         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7336
7337 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7338
7339         stdalign: port to Clang 3.0
7340         Problem reported by Simon Josefsson in
7341         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7342         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7343         which has <stdalign.h> but which does not define alignof.
7344         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7345
7346 2011-12-01  Eric Blake  <eblake@redhat.com>
7347
7348         mktempd: silence dd usage
7349         * build-aux/mktempd (rand_bytes): Silence dd.
7350
7351 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7352
7353         manywarnings: Don't mention gcc version in docstring.
7354         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7355         Jim Meyering <meyering@redhat.com>.
7356
7357 2011-11-30  Jim Meyering  <meyering@redhat.com>
7358
7359         hash: mark a few floating point constants with "f" suffix
7360         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7361         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7362         floating point constants with "f", since they're destined to be
7363         saved/used as "float"s.
7364
7365 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7366
7367         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7368         * tests/test-float.c (test_long_double): Correct and re-enable the
7369         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7370
7371 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7372
7373         Avoid subtracting two pointers that don't point into the same block.
7374         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7375         only pointers into the same memory block are subtracted. We cannot
7376         assume that sizeof (ptrdiff_t) == sizeof (void *).
7377
7378 2011-11-29  Eric Blake  <eblake@redhat.com>
7379
7380         maint.mk: add syntax check for use of compare from init.sh
7381         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7382         moved here from coreutils.
7383
7384         manywarnings: drop -Wunsuffixed-float-constants
7385         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7386         '1.0D', which is the only way to silence this warning for 'double'.
7387
7388 2011-11-29  Jim Meyering  <meyering@redhat.com>
7389
7390         hash: mark compute_bucket_size with the pure attribute
7391         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7392
7393         quotearg, propername: correct pragma guard expression
7394         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7395         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7396
7397 2011-11-28  Jim Meyering  <meyering@redhat.com>
7398
7399         propername: do not mark proper_name with the const attribute
7400         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7401         since it examines data pointed to by its parameter.
7402         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7403         the suggestion from -Wsuggest-attribute=const.
7404
7405         propername: mark one more function as const
7406         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7407
7408 2011-11-27  Jim Meyering  <meyering@redhat.com>
7409
7410         mark functions with const and pure attributes
7411
7412         Mark functions per suggestions from gcc-4.6 when using these options:
7413         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7414         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7415         Follow these guidelines: when possible, apply the attribute to
7416         an extern declaration, not to its definition.  Apply it to the
7417         definition only when the definition is static.
7418         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7419         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7420         * lib/base64.h (isbase64): Likewise.
7421         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7422         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7423         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
7424         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
7425         (c_tolower, c_toupper): Likewise.
7426         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
7427         * lib/chdir-long.c (find_non_slash): Likewise.
7428         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
7429         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
7430         * lib/file-type.h (file_type): Likewise.
7431         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
7432         * lib/filevercmp.c (verrevcmp): Likewise.
7433         * lib/freadahead.h (freadahead): Likewise.
7434         * lib/fts.c (fts_maxarglen): Likewise.
7435         * lib/hash-pjw.h (hash_pjw): Likewise.
7436         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
7437         * lib/hash.c (is_prime, next_prime): Likewise.
7438         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
7439         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
7440         (hash_table_ok, hash_get_first, hash_string): Likewise.
7441         (compute_bucket_size): Likewise.
7442         * lib/i-ring.h (i_ring_empty): Likewise.
7443         * lib/isnan.c (isnanl): Likewise.
7444         * lib/math.h (isnanl, rpl_isnanl): Likewise.
7445         * lib/memcasecmp.h (memcasecmp): Likewise.
7446         * lib/memchr2.h (memchr2): Likewise.
7447         * lib/memcmp2.h (memcmp2): Likewise.
7448         * lib/parse-datetime.y (lookup_zone): Likewise.
7449         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
7450         [!WINDOWS_SOCKETS]: Likewise.
7451         * lib/strnlen1.h (strnlen1): Likewise.
7452         * lib/uniwidth.in.h (uc_width): Likewise.
7453         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
7454         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
7455         (quoting_options_from_style): Add a comment.
7456         * lib/propername.h (proper_name): Add a comment.
7457
7458 2011-11-27  Bruno Haible  <bruno@clisp.org>
7459
7460         Remove unused macros from !_LIBC code in glibc-borrowed files.
7461         * lib/fnmatch.c (STRCOLL): Remove macro.
7462         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7463         * lib/glob.c (__stat, __readdir64): Remove macros.
7464         * lib/tempname.c (__open64, __xstat64): Remove macros.
7465         Suggested by Paul Eggert.
7466
7467 2011-11-27  Bruno Haible  <bruno@clisp.org>
7468
7469         getcwd: Fix link error on MSVC 9.
7470         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7471
7472 2011-11-27  Bruno Haible  <bruno@clisp.org>
7473
7474         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7475         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7476         HAVE_OPENDIR is 0.
7477         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7478         HAVE_CLOSEDIR is 0.
7479         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7480         is 0.
7481         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7482
7483 2011-11-27  Bruno Haible  <bruno@clisp.org>
7484
7485         getcwd: Fix bug from 2011-08-17.
7486         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7487         platforms that need it.
7488         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7489         code of 4 to be a failure, not a success. This ensures that
7490         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7491
7492 2011-11-27  Bruno Haible  <bruno@clisp.org>
7493
7494         binary-io tests: Avoid test failure on mingw when libtool is used.
7495         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7496         Don't verify the size of t-bin-out1.tmp here.
7497         * tests/test-binary-io.sh: Verify it here.
7498         Reported by Simon Josefsson.
7499
7500 2011-11-26  Bruno Haible  <bruno@clisp.org>
7501
7502         Fix conflict between two instantiations of module 'unistd'.
7503         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7504         ${include_guard_prefix} also in the autoconf snippet.
7505         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7507         GNULIB_UNISTD_H_GETOPT.
7508         * modules/getopt-posix (configure.ac): Set the
7509         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7510         * modules/getopt-gnu (configure.ac): Likewise.
7511         * modules/unistd (Makefile.am): Change the substitution value of
7512         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7513         Reported by Simon Josefsson.
7514
7515 2011-11-25  Bruno Haible  <bruno@clisp.org>
7516
7517         pagealign_alloc: Doc and comments.
7518         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7519         module.
7520         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7521
7522 2011-11-25  Jim Meyering  <meyering@redhat.com>
7523
7524         test-update-copyright.sh: avoid false-positive failure
7525         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7526         around false positive failure on Cygwin/Windows.  The latter was
7527         matching erroneously-created files with names like
7528         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7529
7530 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7531
7532         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7533         * m4/valgrind-tests.m4: Check that the parameters that will be
7534         used works, not just a subset of them.  Reported by Bruno Haible
7535         <bruno@clisp.org>.
7536
7537 2011-11-24  Jim Meyering  <meyering@redhat.com>
7538
7539         test-stdalign.c: comment out long double tests
7540         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7541         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7542         error: '_Alignas' specifiers cannot reduce alignment of \
7543         'static_longdouble_alignas'.
7544
7545 2011-11-22  Jim Meyering  <meyering@redhat.com>
7546
7547         init.sh: make "compare /dev/null FILE" output more readable
7548         * tests/init.sh (compare_): Document the preferred order of arguments.
7549         (emit_diff_u_header_): New function.
7550         (compare_dev_null_): Emit a simulated diff, rather than just the
7551         contents of the unexpected file.  Suggestion from Bruno Haible.
7552
7553 2011-11-21  Jim Meyering  <meyering@redhat.com>
7554             Eric Blake  <eblake@redhat.com>
7555
7556         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7557         * tests/init.sh: Make our compare function slightly more portable.
7558         Reported by Bruno Haible in
7559         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7560
7561 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7562
7563         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7564         before using it, in code that ends up in config.h.
7565
7566 2011-11-20  Bruno Haible  <bruno@clisp.org>
7567
7568         getcwd: Work around getcwd bug on AIX 5..7.
7569         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7570         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7571         Use a different value for gl_cv_func_getcwd_path_max. Move the
7572         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7573         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7574         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7575         Define HAVE_MINIMALLY_WORKING_GETCWD.
7576         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7577         where it is not even minimally working, that is, on AIX.
7578         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7579         m4/getcwd-path-max.m4.
7580         (main): Update exit code computation.
7581         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7582         getcwd does not handle long file names.
7583
7584 2011-11-20  Bruno Haible  <bruno@clisp.org>
7585
7586         getcwd: Fix bug from 2009-09-10.
7587         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7588         like "no".
7589
7590 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7591
7592         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7593
7594 2011-11-20  Bruno Haible  <bruno@clisp.org>
7595
7596         fma tests: Avoid shadowing local variables.
7597         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7598         expected.
7599
7600 2011-11-20  Bruno Haible  <bruno@clisp.org>
7601
7602         copysignf tests: Fix.
7603         * tests/test-copysignf.c: Fix signature check.
7604
7605 2011-11-20  Bruno Haible  <bruno@clisp.org>
7606
7607         fma: Remove unused code.
7608         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7609         unused macros.
7610
7611 2011-11-20  Bruno Haible  <bruno@clisp.org>
7612
7613         sethostname: Fix doc about AIX.
7614         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7615         sethostname; it has it.
7616
7617         sethostname: Mention more portability problems.
7618         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7619         problem.
7620         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7621
7622 2011-11-19  Bruno Haible  <bruno@clisp.org>
7623
7624         Depend on module fcntl-h when AT_FDCWD is used.
7625         * modules/utimens (Depends-on): Add fcntl-h.
7626         * modules/areadlinkat (Depends-on): Likewise.
7627         * modules/areadlinkat-with-size (Depends-on): Likewise.
7628         * modules/faccessat (Depends-on): Likewise.
7629         * modules/fchmodat (Depends-on): Likewise.
7630         * modules/fchownat (Depends-on): Likewise.
7631         * modules/getcwd (Depends-on): Likewise.
7632         * modules/mkdirat (Depends-on): Likewise.
7633         * modules/mkfifoat (Depends-on): Likewise.
7634         * modules/readlinkat (Depends-on): Likewise.
7635         * modules/symlinkat (Depends-on): Likewise.
7636         * modules/dup2-tests (Depends-on): Likewise.
7637         * modules/fdutimensat-tests (Depends-on): Likewise.
7638         * modules/futimens-tests (Depends-on): Likewise.
7639
7640 2011-11-19  Bruno Haible  <bruno@clisp.org>
7641
7642         euidaccess: Update a comment.
7643         * lib/euidaccess.c: Update comment about platforms with faccessat.
7644
7645 2011-11-19  Bruno Haible  <bruno@clisp.org>
7646
7647         openat: Fix file list.
7648         * modules/openat (Files): Remove lib/at-func.c.
7649
7650 2011-11-19  Bruno Haible  <bruno@clisp.org>
7651
7652         fstatat: Simplify.
7653         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7654         gnulib should define rpl_fstatat, there is a
7655         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7656
7657 2011-11-19  Bruno Haible  <bruno@clisp.org>
7658
7659         Ensure 'inline' can be used in tests/test-utimens-common.h.
7660         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7661         * modules/futimens-tests (configure.ac): Likewise.
7662         * modules/utimens-tests (configure.ac): Likewise.
7663         * modules/utimensat-tests (configure.ac): Likewise.
7664
7665 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7666
7667         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7668         not hash_insert0.
7669         (hash_insert_if_absent): Doc fix.
7670
7671 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7672
7673         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7674
7675 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7676
7677         test-getcwd: disambiguate exit status
7678         * tests/test-getcwd.c (test_long_name): Return 0..7.
7679         (main): Exit with an unambiguous exit status.  The old
7680         code yielded a mysterious mixture of two failure codes.
7681
7682         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7683         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7684         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7685         rpl_fstatat or fstatat.  This should fix the other problem
7686         reported by Kai Habel in
7687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7688         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7690         and I reproduced it on a Solaris 8 host we still have in production.
7691
7692 2011-11-18  Jim Meyering  <meyering@redhat.com>
7693
7694         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7695         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7696         Add a sentence to the comment.
7697         (hash_insert0): New function that simply calls hash_insert_if_absent.
7698         * lib/hash.h (hash_insert_if_absent): Declare it.
7699         (hash_insert0): Add deprecation attribute.
7700         (_GL_ATTRIBUTE_DEPRECATED): Define.
7701         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7702         not hash_insert0.
7703         * NEWS: Mention it, even though it's not really an incompatible change.
7704
7705 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7706
7707         openat: avoid compilation failure due to lack of <errno.h> inclusion
7708         * lib/openat.c: Include <errno.h>.
7709
7710 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7711
7712         * modules/getcwd (Depends-on): Add fdopendir.
7713         This fixes one of the two problems reported by Kai Habel in
7714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7715
7716         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7717         stdalign problem reported by Ian Beckwith in
7718         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7719         * modules/crypto/gc-arcfour (Depends-on):
7720         Depend conditionally on crypto/arcfour.
7721         * modules/crypto/gc-arctwo (Depends-on):
7722         Depend conditionally on crypto/arctwo.
7723         * modules/crypto/gc-des (Depends-on):
7724         Depend conditionally on crypto/des.
7725         * modules/crypto/gc-hmac-md5 (Depends-on):
7726         Depend conditionally on crypto/hmac-md5.
7727         * modules/crypto/gc-hmac-sha1 (Depends-on):
7728         Depend conditionally on crypto/hmac-sha1.
7729         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7730         * modules/crypto/gc-md4 (Depends-on):
7731         Depend conditionally on crypto/md4.
7732         * modules/crypto/gc-md5 (Depends-on):
7733         Depend conditionally on crypto/md5.
7734         * modules/crypto/gc-rijndael (Depends-on):
7735         Depend conditionally on crypto/rijndael.
7736         * modules/crypto/gc-sha1 (Depends-on):
7737         Depend conditionally on crypto/sha1.
7738         * modules/crypto/gc-arcfour:
7739         * modules/crypto/gc-arctwo:
7740         * modules/crypto/gc-des:
7741         * modules/crypto/gc-hmac-md5:
7742         * modules/crypto/gc-hmac-sha1:
7743         * modules/crypto/gc-md2:
7744         * modules/crypto/gc-md4:
7745         * modules/crypto/gc-md5:
7746         * modules/crypto/gc-rijndael:
7747         * modules/crypto/gc-sha1:
7748         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7749         now that the conditional dependencies do the work for us.
7750
7751 2011-11-17  Jim Meyering  <meyering@redhat.com>
7752
7753         tests: factor st_ctime-comparison out of two headers
7754         * tests/test-utimens-common.h (ctime_compare): Define.
7755         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7756         * tests/test-lutimens.h (test_lutimens): Likewise.
7757         * tests/test-utimens.h (test_utimens): Likewise.
7758
7759         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7760         Invoke the test program via an init.sh-using wrapper.
7761         * tests/test-getcwd.sh: New file.
7762         * modules/getcwd-tests (Files): Add it.
7763         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7764
7765 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7766
7767         gitlog-to-changelog: support multi-author commits.
7768         The FSF cares about keeping track of all authors of patches to its
7769         projects, but Git doesn't provide obvious support for multi-author
7770         changesets. Consensus seems to be forming around the use of extra
7771         Signed-off-by inspired lines in the log message formatted as
7772         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7773         multi-author commits between version control systems.
7774         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7775         log message and output in standard ChangeLog multi-author format.
7776         Reported by Peter Rosin <peda@lysator.liu.se>
7777
7778 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7779             Bruno Haible  <bruno@clisp.org>
7780
7781         Fix some modules' file list.
7782         * modules/fstatat (Files): Add m4/lstat.m4.
7783         * modules/openat (Files): Likewise.
7784         * modules/unlinkat (Files): Likewise.
7785
7786 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7787
7788         maint.mk: fix tight-scope.mk generation in VPATH builds.
7789         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7790         reference with $(srcdir) so that the file is found correctly even
7791         when running `make syntax-check' in a VPATH build.
7792
7793 2011-11-13  Bruno Haible  <bruno@clisp.org>
7794             Jim Meyering  <meyering@redhat.com>
7795
7796         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7797         * tests/init.sh (compare): Remove "No differences encountered" or
7798         synonymous output from the 'diff' program.
7799
7800 2011-11-13  Bruno Haible  <bruno@clisp.org>
7801
7802         Makefile: Tweak indentation.
7803         * Makefile: Use tab as first character in every line that contains rule
7804         commands.
7805
7806 2011-11-13  Bruno Haible  <bruno@clisp.org>
7807
7808         Syntax check for copyright statements.
7809         * check-copyright: New file.
7810         * Makefile (sc_check_copyright): New rule.
7811
7812 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7813
7814         * build-aux/git-version-gen: Add --prefix to configure the tag
7815         match string.
7816
7817 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7818
7819         * build-aux/git-version-gen: Add --help and --version.
7820
7821 2011-11-12  Jim Meyering  <meyering@redhat.com>
7822
7823         revamp the other test-exclude?.sh scripts to use init.sh, too
7824         * tests/test-exclude1.sh: Use init.sh.
7825         * tests/test-exclude2.sh: Likewise.
7826         * tests/test-exclude3.sh: Likewise.
7827         * tests/test-exclude4.sh: Likewise.
7828         * tests/test-exclude5.sh: Likewise.
7829         * tests/test-exclude6.sh: Likewise.
7830         * tests/test-exclude7.sh: Likewise.
7831         * tests/test-exclude8.sh: Likewise.
7832         * modules/exclude-tests (Files): List init.sh.
7833
7834         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7835         These shell scripts ignored failure of the binary test-exclude,
7836         so making the latter return 77 didn't cause them to be skipped.
7837         * tests/test-exclude5.sh: Exit with test-exclude's error status
7838         when that program fails.  Revamp to use init.sh.
7839         * tests/test-exclude2.sh: Likewise.
7840
7841         test-exclude: fix a typo
7842         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7843
7844 2011-11-11  Bruno Haible  <bruno@clisp.org>
7845
7846         obstack: Fix compilation error on MSVC 9.
7847         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7848
7849 2011-11-11  Jim Meyering  <meyering@redhat.com>
7850
7851         test-exclude: skip tests rather than failing on deficient systems
7852         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7853         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7854         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7855         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7856
7857 2011-11-10  Bruno Haible  <bruno@clisp.org>
7858
7859         ptsname_r test: Avoid gcc warning on glibc systems.
7860         * tests/test-ptsname_r.c (null_ptr): New function.
7861         (test_errors): Use it.
7862
7863 2011-11-10  Bruno Haible  <bruno@clisp.org>
7864
7865         ptsname_r: Avoid compilation error on OSF/1 5.1.
7866         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7867         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7868         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7869         function is not declared or incompatibly declared.
7870         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7871         * modules/ptsname_r (Depends-on, configure.ac): Update.
7872         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7873
7874 2011-11-10  Bruno Haible  <bruno@clisp.org>
7875
7876         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7877         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7878         When cross-compiling, guess yes on all platforms except AIX.
7879         Reported by Ludovic Courtès <ludo@gnu.org>.
7880
7881 2011-11-09  Bruno Haible  <bruno@clisp.org>
7882
7883         ptsname_r tests: Fix bugs.
7884         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7885         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7886
7887 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7888
7889         fstatat: work with cross-compilation
7890         Problem reported by Ludovic Courtès in
7891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7892         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7893         "cross-compiling" and assume the bug is present.  Replace
7894         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7895         an inverted sense, to be more conservative about our assumptions.
7896         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7897
7898 2011-11-09  Bruno Haible  <bruno@clisp.org>
7899
7900         Improve MODULES.html output.
7901         * modules/mkfifoat (Description): Use the word "function".
7902         * modules/readlinkat (Description): Likewise.
7903         * modules/symlinkat (Description): Likewise.
7904
7905 2011-11-09  Eric Blake  <eblake@redhat.com>
7906
7907         ptsname_r-tests: new test module
7908         * modules/ptsname_r-tests: New module.
7909         * tests/test-ptsname_r.c: New file.
7910
7911         ptsname_r: new module
7912         * modules/ptsname_r: New module.
7913         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7914         * lib/ptsname.c (__ptsname_r): Split...
7915         * lib/ptsname_r.c: ...into new file.
7916         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7917         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7918         * modules/stdlib (Makefile.am): Substitute witnesses.
7919         * lib/stdlib.in.h (ptsname_r): Declare it.
7920         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7921         * MODULES.html.sh (Misc): Likewise.
7922         * modules/ptsname (Depends-on): Alter dependency.
7923         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7924
7925 2011-11-09  Jim Meyering  <meyering@redhat.com>
7926
7927         announce-gen: be more concise when there's only one URL+tarball
7928         * build-aux/announce-gen (get_tool_versions): When you distribute
7929         only one type of tarball, combine the first two "Here are..."
7930         sections and make the key-checking grammar independent of
7931         how many tarballs there are.
7932
7933 2011-11-09  Eric Blake  <eblake@redhat.com>
7934
7935         openpty: provide a stub on mingw
7936         * lib/pty.in.h (includes): Provide forward declarations.
7937         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7938
7939         raise: fix mingw handling of SIGPIPE
7940         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7941
7942 2011-11-08  Bruno Haible  <bruno@clisp.org>
7943
7944         More conditional dependencies.
7945         * modules/faccessat (Depends-on): Add conditions.
7946         * modules/fchmodat (Depends-on): Likewise.
7947         * modules/fchownat (Depends-on): Likewise.
7948         * modules/fstatat (Depends-on): Likewise.
7949         * modules/mkfifoat (Depends-on): Likewise.
7950         * modules/readlinkat (Depends-on): Likewise.
7951         * modules/symlinkat (Depends-on): Likewise.
7952         * modules/unlinkat (Depends-on): Likewise.
7953         * modules/utimensat (Depends-on): Likewise.
7954         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7955         * modules/linkat (Depends-on): Refine the conditions.
7956         * modules/renameat (Depends-on): Likewise.
7957
7958 2011-11-08  Bruno Haible  <bruno@clisp.org>
7959
7960         faccessat: Move AC_LIBOBJ invocation to module description.
7961         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7962         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7963         invocation from here...
7964         * modules/faccessat (configure.ac): ... to here. Invoke
7965         gl_PREREQ_FACCESSAT.
7966
7967 2011-11-08  Bruno Haible  <bruno@clisp.org>
7968
7969         faccessat: Simplify autoconf macro.
7970         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7971         gl_FUNC_EUIDACCESS.
7972
7973 2011-11-08  Bruno Haible  <bruno@clisp.org>
7974
7975         renameat: Fix dependencies.
7976         * modules/renameat (Depends-on): Add stdbool.
7977
7978 2011-11-08  Bruno Haible  <bruno@clisp.org>
7979
7980         mkfifoat: Fix module description.
7981         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7982         not gl_UNISTD_MODULE_INDICATOR.
7983
7984 2011-11-08  Bruno Haible  <bruno@clisp.org>
7985
7986         fstatat: Remove unused dependency.
7987         * modules/fstatat (Depends-on): Remove fstat.
7988
7989 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7990
7991         GNUmakefile: behave when Makefile is missing.
7992         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7993
7994 2011-11-08  Bruno Haible  <bruno@clisp.org>
7995
7996         openat: Conditionalize dependencies.
7997         * lib/openat.c: Reduce the scope of some #includes.
7998         * modules/openat (Depends-on): Add conditions.
7999
8000 2011-11-07  Jim Meyering  <meyering@redhat.com>
8001
8002         maint.mk: extract GPG key ID without using a temporary file
8003         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
8004         without using a temporary file.  Based on a suggestion from Werner Koch
8005         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
8006
8007 2011-11-07  Eric Blake  <eblake@redhat.com>
8008
8009         grantpt: fix typo
8010         * lib/stdlib.in.h (grantpt): Check correct function.
8011
8012         maint.mk: silence new syntax check
8013         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
8014
8015 2011-11-06  Bruno Haible  <bruno@clisp.org>
8016
8017         Doc about floating-point and math API.
8018         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
8019         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
8020
8021 2011-11-06  Bruno Haible  <bruno@clisp.org>
8022
8023         stdalign tests: Skip the test when compiled by Sun C.
8024         * tests/test-stdalign.c (main): Skip the test on Sun C.
8025
8026 2011-11-06  Bruno Haible  <bruno@clisp.org>
8027
8028         ansi-c++-opt: Complete the 2011-06-05 change.
8029         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
8030         does not support namespaces, set the variable to "no", not to ":".
8031
8032 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8033
8034         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
8035
8036 2011-11-06  Bruno Haible  <bruno@clisp.org>
8037
8038         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
8039         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
8040         (minus_zerol) [HP-UX]: New macro.
8041         (unary_minus) [HP-UX]: New function.
8042         (copysignl) [HP-UX]: Use unary_minus function.
8043
8044 2011-11-06  Bruno Haible  <bruno@clisp.org>
8045
8046         ldexp, ldexpf, ldexpl: Enhance tests.
8047         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
8048         and tests/test-ldexpl.c.
8049         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
8050         LDEXP, MIN_EXP, MAX_EXP): New macros.
8051         Include test-ldexp.h.
8052         (main): Just call test_function.
8053         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
8054         infinity.h, nan.h.
8055         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8056         MAX_EXP): New macros.
8057         Include test-ldexp.h.
8058         (x, y): Remove variables.
8059         (main): Just call test_function.
8060         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
8061         infinity.h, nan.h.
8062         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8063         MAX_EXP): New macros.
8064         Include test-ldexp.h.
8065         (x, y): Remove variables.
8066         (main): Just call test_function.
8067         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
8068         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
8069         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8070         (Depends-on): Add isnand-nolibm, signbit, float.
8071         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
8072         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8073         (Depends-on): Add isnanf-nolibm, signbit, float.
8074
8075 2011-11-06  Bruno Haible  <bruno@clisp.org>
8076
8077         math tests: Cosmetics.
8078         * tests/test-math-c++.cc: Reorder declarations.
8079
8080 2011-11-05  Bruno Haible  <bruno@clisp.org>
8081
8082         fma*: Simplify test.
8083         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
8084         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
8085
8086         Tests for module 'fmal'.
8087         * modules/fmal-tests: New file.
8088         * tests/test-fmal1.c: New file.
8089         * tests/test-fmal2.c: New file.
8090
8091         New module 'fmal'.
8092         * lib/math.in.h (fmal): New declaration.
8093         * lib/fmal.c: New file.
8094         * m4/fmal.m4: New file.
8095         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
8096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
8097         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
8098         REPLACE_FMAL.
8099         * modules/fmal: New file.
8100         * doc/posix-functions/fmal.texi: Mention the new module and the various
8101         bugs.
8102
8103         Tests for module 'fmaf'.
8104         * modules/fmaf-tests: New file.
8105         * tests/test-fmaf1.c: New file.
8106         * tests/test-fmaf2.c: New file.
8107
8108         New module 'fmaf'.
8109         * lib/math.in.h (fmaf): New declaration.
8110         * lib/fmaf.c: New file.
8111         * m4/fmaf.m4: New file.
8112         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
8113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
8114         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
8115         REPLACE_FMAF.
8116         * modules/fmaf: New file.
8117         * doc/posix-functions/fmaf.texi: Mention the new module and the various
8118         bugs.
8119
8120         Tests for module 'fma'.
8121         * modules/fma-tests: New file.
8122         * tests/test-fma1.c: New file.
8123         * tests/test-fma1.h: New file.
8124         * tests/test-fma2.c: New file.
8125         * tests/test-fma2.h: New file.
8126
8127         New module 'fma'.
8128         * lib/math.in.h (fma): New declaration.
8129         * lib/fma.c: New file.
8130         * m4/fma.m4: New file.
8131         * m4/fegetround.m4: New file.
8132         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8133         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8134         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8135         REPLACE_FMA.
8136         * modules/fma: New file.
8137         * doc/posix-functions/fma.texi: Mention the new module and the various
8138         bugs.
8139
8140         Extend gl_MATHFUNC.
8141         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8142         Support 'void' as argument type.
8143         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8144
8145 2011-11-05  Jim Meyering  <meyering@redhat.com>
8146
8147         maint.mk: also prohibit inclusion of dirent.h without use
8148         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8149
8150 2011-11-05  Bruno Haible  <bruno@clisp.org>
8151
8152         ldexpl tests: Avoid test failure on MSVC 9.
8153         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8154         value. Needed in order to enforce the conversion from a value greater
8155         than LDBL_MAX to Infinity.
8156
8157 2011-11-05  Bruno Haible  <bruno@clisp.org>
8158
8159         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8160         * modules/at-internal: New file, extracted from modules/openat.
8161         * modules/openat-h: New file.
8162         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8163         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8164         * modules/openat (Description): Add reference to POSIX function.
8165         (Files): Remove lib/openat.h, lib/openat-proc.c.
8166         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8167         intprops, unistd.
8168         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8169         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8170         gl_FCNTL_MODULE_INDICATOR.
8171         (Include): Remove unistd.h, openat.h.
8172         * modules/areadlinkat (Files): Add lib/at-func.c.
8173         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8174         openat-die, openat-h, save-cwd.
8175         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8176         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8177         openat-die, openat-h, save-cwd, unistd.
8178         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8179         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8180         openat-h, save-cwd. Remove fcntl-h, openat.
8181         * modules/fchmodat (Files): Remove lib/openat.h.
8182         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8183         openat, stdbool, unistd.
8184         * modules/fchownat (Files): Remove lib/openat.h.
8185         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8186         openat, stdbool, sys_stat.
8187         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8188         lib/openat-proc.c.
8189         (Depends-on): Add at-internal.
8190         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8191         * modules/fstatat (Files): Remove lib/openat.h.
8192         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8193         stdbool, unistd.
8194         * modules/fts (Depends-on): Add openat-h.
8195         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8196         openat.
8197         * modules/mkdirat (Files): Remove lib/openat.h.
8198         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8199         openat, stdbool, sys_stat.
8200         * modules/mkfifoat (Files): Add lib/at-func.c.
8201         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8202         openat-h, save-cwd. Remove fcntl-h, openat.
8203         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8204         * modules/readlinkat (Files): Add lib/at-func.c.
8205         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8206         openat-h, save-cwd. Remove fcntl-h, openat.
8207         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8208         openat.
8209         * modules/selinux-at (Files): Add lib/at-func.c.
8210         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8211         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8212         * modules/symlinkat (Files): Add lib/at-func.c.
8213         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8214         openat-h, save-cwd. Remove fcntl-h, openat.
8215         * modules/unlinkat (Files): Remove lib/openat.h.
8216         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8217         stdbool.
8218         * modules/utimensat (Files): Add lib/at-func.c.
8219         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8220         openat-die, openat-h, save-cwd.
8221         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8222         * modules/fdutimensat-tests (Depends-on): Add openat.
8223         * modules/fstatat-tests (Depends-on): Add openat-h.
8224         * modules/readlinkat-tests (Depends-on): Add openat.
8225         * modules/symlinkat-tests (Depends-on): Add openat.
8226
8227 2011-11-05  Bruno Haible  <bruno@clisp.org>
8228
8229         openat: Include <stdbool.h>.
8230         * lib/openat.c: Include <stdbool.h>.
8231
8232 2011-11-04  Bruno Haible  <bruno@clisp.org>
8233
8234         fchownat, renameat, unlinkat: Fix dependencies.
8235         * modules/fchownat (Depends-on): Add fstatat.
8236         * modules/renameat (Depends-on): Likewise.
8237         * modules/unlinkat (Depends-on): Likewise.
8238
8239 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8240
8241         openat: remove direct dependency on dirent
8242         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8243         and hasn't been needed ever since fdopendir was split into its own
8244         module on 2009-08-31.
8245         * modules/openat (Depends-on): Remove dirent.
8246
8247 2011-11-04  Bruno Haible  <bruno@clisp.org>
8248
8249         renameat: Optimize code size.
8250         * modules/renameat (configure.ac): Don't compile at-func2.c if
8251         REPLACE_RENAMEAT is 1.
8252
8253 2011-11-04  Bruno Haible  <bruno@clisp.org>
8254
8255         openat tests: Fix file list.
8256         * modules/openat-tests (Files): Add tests/test-open.h.
8257
8258 2011-11-04  Bruno Haible  <bruno@clisp.org>
8259
8260         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8261         * modules/fchmodat (Depends-on): Add openat-die.
8262         * modules/fchownat (Depends-on): Likewise.
8263         * modules/linkat (Depends-on): Likewise.
8264         * modules/renameat (Depends-on): Likewise.
8265         * modules/openat (Depends-on): Add dirent.
8266
8267 2011-11-04  Jim Meyering  <meyering@redhat.com>
8268
8269         at-func*.c: fix comments
8270         * lib/at-func2.c: Correct/improve first-line comment.
8271         * lib/at-func.c: Correct grammar in first-line comment.
8272
8273 2011-11-04  Bruno Haible  <bruno@clisp.org>
8274
8275         New module 'mkdirat', split off from module 'openat'.
8276         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8277         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8278         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8279         * modules/mkdirat: New file, extracted from modules/openat.
8280         * modules/openat (Files): Remove lib/mkdirat.c.
8281         (Depends-on): Remove mkdir.
8282         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8283         (Include): Remove <sys/stat.h>.
8284         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8285         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8286         tests/test-mkdir.h.
8287         (Depends-on): Remove ignore-value.
8288         (Makefile.am): Remove rules for test-mkdirat.
8289         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8290         of module 'openat'.
8291         * NEWS: Mention the change.
8292
8293 2011-11-04  Bruno Haible  <bruno@clisp.org>
8294
8295         closedir: Avoid warning on mingw.
8296         * lib/closedir.c: Include <unistd.h>.
8297
8298 2011-11-04  Bruno Haible  <bruno@clisp.org>
8299
8300         New module 'fstatat', split off from module 'openat'.
8301         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8302         defined.
8303         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8304         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8305         gl_FUNC_FSTATAT.
8306         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8307         * modules/fstatat: New file, extracted from modules/openat.
8308         * modules/openat (Files): Remove lib/fstatat.c.
8309         (Depends-on): Remove lstat.
8310         (configure.ac): Remove AC_LIBOBJ of fstatat.
8311         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8312         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8313         tests/test-lstat.h, tests/test-stat.h.
8314         (Depends-on): Remove getcwd-lgpl.
8315         (Makefile.am): Remove rules for test-fstatat.
8316         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8317         of module 'openat'.
8318         * NEWS: Mention the change.
8319         * modules/getcwd (Depends-on): Add fstatat.
8320         * modules/linkat (Depends-on): Likewise.
8321         * modules/mkfifoat-tests (Depends-on): Likewise.
8322         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8323
8324 2011-11-03  Bruno Haible  <bruno@clisp.org>
8325
8326         New module 'unlinkat', split off from module 'openat'.
8327         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8328         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8329         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8330         * modules/unlinkat: New file, extracted from modules/openat. Correct
8331         the dependency conditions.
8332         * modules/openat (Files): Remove lib/unlinkat.c.
8333         (Depends-on): Remove rmdir, unlink.
8334         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8335         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8336         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8337         tests/test-rmdir.h, tests/test-unlink.h.
8338         (Depends-on): Remove unlinkdir.
8339         (Makefile.am): Remove rules for test-unlinkat.
8340         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8341         of module 'openat'.
8342         * NEWS: Mention the change.
8343         * modules/linkat-tests (Depends-on): Add unlinkat.
8344         * modules/mkfifoat-tests (Depends-on): Likewise.
8345         * modules/readlinkat-tests (Depends-on): Likewise.
8346
8347 2011-11-02  Bruno Haible  <bruno@clisp.org>
8348
8349         New module 'fchmodat', split off from module 'openat'.
8350         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8351         defined.
8352         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8353         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8354         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8355         * modules/fchmodat: New file, extracted from modules/openat.
8356         * modules/openat (Files): Remove lib/fchmodat.c.
8357         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8358         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8359         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8360         (Makefile.am): Remove rules for test-fchmodat.
8361         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8362         of module 'openat'.
8363         * NEWS: Mention the change.
8364
8365 2011-11-02  Jim Meyering  <meyering@redhat.com>
8366
8367         putenv: indent #definition of "environ" to placate cppi
8368         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8369
8370         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8371         Git logs are often treated as immutable, because editing them
8372         changes the SHA1 checksums of all descendants.  Thus, errors in
8373         git logs tend to stay there forever.  However, when we generate
8374         a ChangeLog file -- typically for distribution -- from that git log,
8375         we can actually make corrections in the generated file.  The key
8376         lies in recording in machine-readable/applicable form the desired
8377         corrections.  See --help for description and an example.
8378         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8379         (usage): Describe it; alphabetize option descriptions.
8380         (main): Honor the new option, carefully.
8381
8382 2011-11-01  Jim Meyering  <meyering@redhat.com>
8383
8384         gitlog-to-changelog: avoid an infloop
8385         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8386         that ends up being empty.
8387
8388 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8389
8390         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8391         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8392         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8393         contains (possibly-quoted) backslashes.  This should avoid
8394         all-too-common shell bugs if COMPLICATED contains backslashes in
8395         the "wrong" places.  Reported by David Evans in
8396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8397         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8398         because we want ASCII ranges.  Is there some reason we don't use
8399         the C locale everywhere in this script?
8400         (func_module, top level): Avoid unwanted pathname expansion when
8401         $repo_url_prefix or $repo_url_suffix_repl contain shell
8402         metacharacters like '?' and '*'.
8403
8404 2011-11-01  Bruno Haible  <bruno@clisp.org>
8405
8406         fchownat: Improve description.
8407         * modules/fchownat (Description): Add link to function.
8408
8409 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8412         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8414         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8415
8416 2011-11-01  Bruno Haible  <bruno@clisp.org>
8417
8418         alignof: Avoid collision with stdalign module.
8419         * lib/alignof.h (alignof): Remove macro.
8420         * NEWS: Mention the change.
8421         Reported by Paul Eggert.
8422
8423 2011-11-01  Bruno Haible  <bruno@clisp.org>
8424
8425         New module 'fchownat', split off from module 'openat'.
8426         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
8427         defined.
8428         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
8429         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
8430         invoke gl_FUNC_FCHOWNAT.
8431         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
8432         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
8433         * modules/fchownat: New file, extracted from modules/openat.
8434         * modules/openat (Files): Remove lib/fchownat.c.
8435         (Depends-on): Remove lchown.
8436         (configure.ac): Remove AC_LIBOBJ of fchownat.
8437         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
8438         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
8439         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
8440         (Depends-on): Remove mgetgroups, usleep, stat-time.
8441         (configure.ac): Remove test for getegid.
8442         (Makefile.am): Remove rules for test-fchownat.
8443         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
8444         of module 'openat'.
8445         * NEWS: Mention the change.
8446
8447 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8448
8449         stdalign: port better to MSVC and to Sun C 5.11
8450         This fixes some of the problems reported by Bruno Haible in
8451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
8452         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
8453         shortcomings of MSVC and of Sun C 5.11.
8454         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
8455         around __declspec arg.
8456         * modules/stdalign-tests (Files): Add tests/macros.h.
8457         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8458         Include macros.h, for ASSERT.
8459         (DECLARE_ALIGNED): Remove.
8460         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8461         to catch bug), and to 1 if not (simplifies the rest of the code).
8462         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8463         (CHECK_AUTO): Remove.
8464         (CHECK_ALIGNED): Check only the alignment of the static vars,
8465         since auto var alignment isn't supported by Sun C 5.11.
8466         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8467         ASSERT failures are easier to diagnose.
8468
8469 2011-10-31  Bruno Haible  <bruno@clisp.org>
8470
8471         doc about some IRIX 5.3 problems.
8472         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8473         on IRIX 5.3.
8474         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8475         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8476         5.3.
8477         * doc/posix-functions/grantpt.texi: Likewise.
8478         * doc/posix-functions/unlockpt.texi: Likewise.
8479         * doc/posix-functions/lgamma.texi: Likewise.
8480         * doc/posix-functions/nextafter.texi: Likewise.
8481         * doc/posix-functions/remainder.texi: Likewise.
8482         * doc/posix-functions/select.texi: Mention misplaced declaration on
8483         IRIX 5.3.
8484         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8485
8486 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8487
8488         gitlog-to-changelog: fix git-log invocation.
8489         git-log mishandles date strings before 1970-01-01 UTC, and there is
8490         no use to specify --since=1970-01-01 by default anyway.
8491         * build-aux/gitlog-to-changelog: By default, when no --since option
8492         was given, do not specify explicit --since option to git-log.
8493
8494 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8495
8496         gitlog-to-changelog: new option --append-dot.
8497         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8498         first non-blank line of each commit message terminated with a dot.
8499
8500 2011-10-30  Bruno Haible  <bruno@clisp.org>
8501
8502         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8503         * lib/ffsl.h: Include <config.h>.
8504         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8505
8506 2011-10-30  Jim Meyering  <meyering@redhat.com>
8507
8508         GNUmakefile: reenable "make syntax-check" for most projects
8509         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8510         build-aux variable", "syntax-check" would do nothing but succeed with
8511         the "No version control files detected..." diagnostic (unless you
8512         happened to override _build-aux via cfg.mk).
8513         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8514         to precede inclusion of maint.mk.  Otherwise, these variables would
8515         be used undefined in any project that does not override the default.
8516
8517 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8518
8519         gitlog-to-changelog: treat a message with only blank lines as empty.
8520         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8521         trailing blank lines before the code that issues a warning about an
8522         empty commit message.
8523
8524 2011-10-30  Jim Meyering  <meyering@redhat.com>
8525
8526         test-parse-datetime.c: avoid new DST-related false positive test failure
8527         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8528         based on the time/date we'll convert, not the current time.
8529         Otherwise, the moment we cross a DST boundary like today's in
8530         Europe, (CEST to CET), that offset ends up being one hour off.
8531
8532 2011-10-27  Bruno Haible  <bruno@clisp.org>
8533
8534         fstat: Tweak documentation.
8535         * modules/fstat (Description): More precise description.
8536
8537 2011-10-27  Bruno Haible  <bruno@clisp.org>
8538
8539         Update documentation regarding 'largefile' module.
8540         * doc/posix-functions/fstat.texi: Tweak wording.
8541         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8542         problems with huge directories and/or small ino_t types.
8543         * doc/posix-functions/readdir.texi: Likewise.
8544         * doc/posix-functions/rewinddir.texi: Likewise.
8545
8546 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8547
8548         maint.mk: don't maintain a second build-aux variable.
8549         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8550         depends on GNUmakefile, which already maintains a cfg.mk
8551         overridable $(_build-aux) for projects with a non-standard
8552         build-aux directory location, although without the $(srcdir)
8553         prefix.  Use that variable consistently instead of introducing a
8554         second one.  Adjust all call sites.
8555
8556 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8557
8558         Add stdalign module and use it in other modules.
8559         This is based on a previous proposal by Bruno Haible
8560         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8561
8562         stdalign: new module
8563         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8564         * modules/stdalign: New files.
8565         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8566         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8567
8568         stdalign-tests: new module
8569         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8570
8571         argp: use stdalign
8572         * lib/argp-parse.c: Include <stdalign.h>.
8573         (alignof): Remove.
8574         * modules/argp (Depends-on): Add stdalign.
8575
8576         crypto libraries: use stdalign
8577         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8578         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8579         Do not include <stdlib.h> twice, in md4.c.
8580         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8581         because we are accessing a pointer's bit-pattern, not a size.
8582         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8583         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8584         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8585         * modules/crypto/sha512: Likewise.
8586
8587         sys_socket: use stdalign, not alignof
8588         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8589         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8590
8591 2011-10-27  Bruno Haible  <bruno@clisp.org>
8592
8593         raise test: Avoid a test failure on Linux/MIPS.
8594         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8595         because 99 is a valid signal on Linux/MIPS.
8596
8597 2011-10-27  Bruno Haible  <bruno@clisp.org>
8598
8599         nonblocking tests: Fix test failure on Linux/MIPS.
8600         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8601         Set to 270000.
8602
8603 2011-10-27  Bruno Haible  <bruno@clisp.org>
8604
8605         utimensat: Work around problem on Linux/hppa.
8606         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8607         values.
8608         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8609
8610 2011-10-25  Jim Meyering  <meyering@redhat.com>
8611
8612         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8613         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8614         after symbols like NULL, size_t, etc.
8615         Reported by Alfred M. Szmidt.
8616
8617         maint.mk: exempt ENODATA from a syntax-check rule
8618         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8619         from the sc_prohibit_always-defined_macros syntax-check rule.
8620         Add a comment.  See this for more details:
8621         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8622
8623 2011-10-23  Jim Meyering  <meyering@redhat.com>
8624
8625         fts: close parent dir FD before returning from post-traversal fts_read
8626         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8627         unlink A, even though an FD open on A remained.  This is suboptimal
8628         (holding a file descriptor open longer than needed), but otherwise not
8629         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8630         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8631         that represents a real problem: it causes the removal of A to fail
8632         with e.g., "rm: cannot remove `A': Device or resource busy"
8633
8634         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8635         directory file descriptors.  After completing the final, FTS_DP,
8636         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8637         cache, but then proceeded to add a new FD to it via the subsequent
8638         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8639         final file descriptor would be closed only via fts_close's call to
8640         fd_ring_clear.  Now, it is usually closed earlier, via the final
8641         FTS_DP-returning fts_read call.
8642         * lib/fts.c (restore_initial_cwd): New function, converted from
8643         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8644         Update callers.
8645         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8646         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8647
8648 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8649             Bruno Haible  <bruno@clisp.org>
8650             Jim Meyering  <jim@meyering.net>
8651
8652         readme-release: improve safety of release prep instructions.
8653         * README-release: Don't git pull all branches when only master
8654         is needed for the release process.
8655         Run make maintainer-clean before changing trees and merging.
8656         Don't try to run ./configure right after git pull in case files
8657         that influence the bootstrap process have changed, move the
8658         ./configure step to after running ./bootstrap.
8659         Don't bootstrap "one last time"... it's the first time!
8660
8661 2011-10-22  Bruno Haible  <bruno@clisp.org>
8662
8663         errno, strerror-override: Support for MSVC 10.
8664         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8665         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8666         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8667         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8668         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8669         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8670         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8671         Assign values compatible with MSVC 10.
8672         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8673         New macros.
8674         (GNULIB_defined_EWINSOCK): New macro.
8675         * lib/strerror-override.c (strerror_override): Update accordingly.
8676         * lib/strerror-override.h: Likewise.
8677         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8678         longer equal to the corresponding errno value.
8679         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8680
8681 2011-10-22  Bruno Haible  <bruno@clisp.org>
8682
8683         perror: Recognize when test program crashes.
8684         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8685         strerror, set gl_cv_func_perror_works to no.
8686         Reported by Daniel Richard G. <skunk@iskunk.org>.
8687
8688         perror: Fix indentation.
8689         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8690
8691 2011-10-22  Bruno Haible  <bruno@clisp.org>
8692
8693         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8694         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8695         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8696         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8697         functions, not as a macro.
8698         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8699         macros.
8700         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8701         absence of macro.
8702         Suggested by Eric Blake.
8703         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8704
8705 2011-10-21  Bruno Haible  <bruno@clisp.org>
8706
8707         relocatable-prog-wrapper: Don't leave object files behind.
8708         * build-aux/install-reloc: Re-synchronize list of .o files to be
8709         removed with list of compilation units.
8710
8711 2011-10-20  Bruno Haible  <bruno@clisp.org>
8712
8713         openpty, posix_openpt: Remove code duplication.
8714         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8715         * lib/openpty.c: Include <stdlib.h>.
8716         (openpty): Use posix_openpt on all platforms except IRIX.
8717         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8718
8719 2011-10-20  Bruno Haible  <bruno@clisp.org>
8720
8721         unlockpt: Detect invalid argument.
8722         * lib/unlockpt.c: Include <fcntl.h>.
8723         (unlockpt): Check whether fd is valid, using fcntl().
8724         * modules/unlockpt (Depends-on): Add fcntl-h.
8725
8726 2011-10-20  Bruno Haible  <bruno@clisp.org>
8727
8728         openpty: Avoid compilation error on AIX 6.1.
8729         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8730
8731 2011-10-20  Bruno Haible  <bruno@clisp.org>
8732
8733         posix_openpt: Support for OpenBSD.
8734         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8735         (posix_openpt) [OpenBSD]: New code.
8736         * lib/grantpt.c: Include <fcntl.h>.
8737         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8738         * modules/grantpt (Depends-on): Add fcntl-h.
8739
8740 2011-10-20  Bruno Haible  <bruno@clisp.org>
8741
8742         posix_openpt test: Coding style.
8743         * tests/test-posix_openpt.c: Use GNU coding style.
8744
8745 2011-10-20  Bruno Haible  <bruno@clisp.org>
8746
8747         grantpt: Support --avoid=pt_chown.
8748         * modules/grantpt (Files): Add lib/pty-private.h.
8749
8750 2011-10-20  Bruno Haible  <bruno@clisp.org>
8751
8752         posix_openpt: Fix autoconf macro.
8753         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8754         unneeded check for _getpty.
8755
8756 2011-10-20  Bruno Haible  <bruno@clisp.org>
8757
8758         openpty: Update comments.
8759         * lib/openpty.c: Add comments about Minix.
8760
8761 2011-10-19  Eric Blake  <eblake@redhat.com>
8762
8763         openpty: relax license
8764         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8765
8766         pt_chown: use configmake to simplify build
8767         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8768
8769         ptsname and others: relax license
8770         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8771         * modules/unlockpt (License): Likewise.
8772         * modules/pt_chown (License): Likewise.
8773         * modules/ptsname (License): Likewise.
8774         * modules/ttyname_r (License): Likewise.
8775
8776 2011-10-19  Jim Meyering  <meyering@redhat.com>
8777
8778         posix_openpt: remove spurious #endif
8779         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8780
8781 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8782
8783         maint.mk: Respect $(build_aux) in web-manual rule.
8784         * top/maint.mk (web-manual): Find gen-announce script in user's
8785         $(build_aux) directory instead of hard-coding 'build-aux'.
8786
8787 2011-10-19  Bruno Haible  <bruno@clisp.org>
8788
8789         posix_openpt: Fix compilation error.
8790         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8791         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8792         Mention the openpty module as an alternative.
8793
8794 2011-10-19  Bruno Haible  <bruno@clisp.org>
8795
8796         Support for old NeXTstep 3.3 frexp().
8797         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8798         execution time of the test to 5 seconds.
8799         Reported by Daniel Richard G. <skunk@iskunk.org>.
8800
8801 2011-10-19  Bruno Haible  <bruno@clisp.org>
8802
8803         Support for old NeXTstep 3.3 sed.
8804         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8805         part, use /.../, not \|...|. Escape periods in the header file name.
8806         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8807         Reported by Daniel Richard G. <skunk@iskunk.org>.
8808
8809 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8810
8811         Support for old NeXTstep 3.3 gcc.
8812         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8813         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8814         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8815         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8816         * lib/regex.h (_Restrict_arr_): Likewise.
8817         * lib/regex_internal.h (re_token_t): Likewise.
8818         * lib/regexec.c (check_node_accept_bytes): Likewise.
8819         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8820
8821 2011-10-18  Eric Blake  <eblake@redhat.com>
8822
8823         posix_openpt: new module
8824         * modules/posix_openpt: New module.
8825         * m4/posix_openpt.m4: New file.
8826         * lib/posix_openpt.c: Likewise.
8827         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8828         (gl_STDLIB_H_DEFAULTS): Set defaults.
8829         * modules/stdlib (Makefile.am): Substitute macros.
8830         * lib/stdlib.in.h (posix_openpt): Declare.
8831         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8832         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8833         * modules/posix_openpt-tests: New test module.
8834         * tests/test-posix_openpt.c: New test.
8835
8836 2011-10-15  Bruno Haible  <bruno@clisp.org>
8837
8838         xstrtoll: Fix compilation failure.
8839         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8840         from lib/strtol.c.
8841         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8842         some platforms.
8843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8844
8845 2011-10-15  Bruno Haible  <bruno@clisp.org>
8846
8847         vasnprintf: Optimize bit search operation.
8848         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8849         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8850         gl_DOUBLE_EXPONENT_LOCATION.
8851         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8852         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8853         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8854         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8855         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8856         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8857         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8858         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8859         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8860
8861 2011-10-15  Bruno Haible  <bruno@clisp.org>
8862
8863         vasnprintf: Fix comments.
8864         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8865
8866 2011-10-14  Bruno Haible  <bruno@clisp.org>
8867
8868         Tests for module 'integer_length_ll'.
8869         * modules/integer_length_ll-tests: New file.
8870         * tests/test-integer_length_ll.c: New file.
8871
8872         New module 'integer_length_ll'.
8873         * lib/integer_length_ll.c: New file.
8874         * modules/integer_length_ll: New file.
8875
8876 2011-10-14  Bruno Haible  <bruno@clisp.org>
8877
8878         Tests for module 'integer_length_l'.
8879         * modules/integer_length_l-tests: New file.
8880         * tests/test-integer_length_l.c: New file.
8881
8882         New module 'integer_length_l'.
8883         * lib/integer_length_l.c: New file.
8884         * modules/integer_length_l: New file.
8885
8886 2011-10-14  Bruno Haible  <bruno@clisp.org>
8887
8888         Tests for module 'integer_length'.
8889         * modules/integer_length-tests: New file.
8890         * tests/test-integer_length.c: New file.
8891
8892         New module 'integer_length'.
8893         * lib/integer_length.h: New file.
8894         * lib/integer_length.c: New file.
8895         * modules/integer_length: New file.
8896
8897 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8898
8899         popen: Fix dependency conditions.
8900         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8901
8902 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8903
8904         perror: Fix autoconf test.
8905         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8906         <stdlib.h> and <string.h>.
8907
8908 2011-10-14  Bruno Haible  <bruno@clisp.org>
8909
8910         ffsl: Optimize on 64-bit platforms.
8911         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8912         unrolling.
8913
8914 2011-10-13  Bruno Haible  <bruno@clisp.org>
8915
8916         ffsl: Optimize on 32-bit platforms.
8917         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8918         use ffs() without a loop.
8919
8920         ffsl, ffsll: Optimize for GCC.
8921         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8922         * lib/ffsl.c (GCC_BUILTIN): New macro.
8923         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8924
8925 2011-10-13  Bruno Haible  <bruno@clisp.org>
8926
8927         ffs, bcopy, memset: Support symbol renaming via config.h.
8928         * lib/ffs.c: Include <config.h>.
8929         * lib/bcopy.c: Likewise.
8930         * lib/memset.c: Likewise.
8931
8932 2011-10-10  Bruno Haible  <bruno@clisp.org>
8933
8934         atanl: Simplify for platforms where 'long double' == 'double'.
8935         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8936         alternative implementation.
8937         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8938         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8939         * modules/atanl (Depends-on): Add atan. Update conditions.
8940
8941 2011-10-10  Bruno Haible  <bruno@clisp.org>
8942
8943         acosl: Simplify for platforms where 'long double' == 'double'.
8944         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8945         alternative implementation.
8946         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8947         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8948         * modules/acosl (Depends-on): Add acos. Update conditions.
8949
8950 2011-10-10  Bruno Haible  <bruno@clisp.org>
8951
8952         asinl: Simplify for platforms where 'long double' == 'double'.
8953         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8954         alternative implementation.
8955         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8956         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8957         * modules/asinl (Depends-on): Add asin. Update conditions.
8958
8959 2011-10-10  Bruno Haible  <bruno@clisp.org>
8960
8961         tanl: Simplify for platforms where 'long double' == 'double'.
8962         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8963         implementation.
8964         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8965         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8966         * modules/tanl (Depends-on): Add tan. Update conditions.
8967         (configure.ac): Don't compile trigl.c if
8968         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8969
8970 2011-10-10  Bruno Haible  <bruno@clisp.org>
8971
8972         cosl: Simplify for platforms where 'long double' == 'double'.
8973         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8974         implementation.
8975         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8976         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8977         * modules/cosl (Depends-on): Add cos. Update conditions.
8978         (configure.ac): Don't compile sincosl.c and trigl.c if
8979         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8980
8981 2011-10-10  Bruno Haible  <bruno@clisp.org>
8982
8983         sinl: Simplify for platforms where 'long double' == 'double'.
8984         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8985         implementation.
8986         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8987         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8988         * modules/sinl (Depends-on): Add sin. Update conditions.
8989         (configure.ac): Don't compile sincosl.c and trigl.c if
8990         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8991
8992 2011-10-10  Bruno Haible  <bruno@clisp.org>
8993
8994         logl: Simplify for platforms where 'long double' == 'double'.
8995         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8996         implementation.
8997         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8998         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8999         * modules/logl (Depends-on): Add log. Update conditions.
9000
9001 2011-10-10  Bruno Haible  <bruno@clisp.org>
9002
9003         expl: Simplify for platforms where 'long double' == 'double'.
9004         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9005         implementation.
9006         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9007         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9008         * modules/expl (Depends-on): Add exp. Update conditions.
9009
9010 2011-10-10  Bruno Haible  <bruno@clisp.org>
9011
9012         sqrtl: Simplify for platforms where 'long double' == 'double'.
9013         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9014         alternative implementation.
9015         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9016         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9017         * modules/sqrtl (Depends-on): Update conditions.
9018
9019 2011-10-10  Bruno Haible  <bruno@clisp.org>
9020
9021         ldexpl: Simplify for platforms where 'long double' == 'double'.
9022         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9023         alternative implementation.
9024         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9025         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9026         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
9027
9028 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
9029
9030         ffsll: set correct witness
9031         * modules/ffsll (configure.ac): Fix typo.
9032
9033 2011-10-10  Bruno Haible  <bruno@clisp.org>
9034
9035         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
9036         * lib/printf-frexpl.c: Include <config.h>.
9037         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9038         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
9039         second time.
9040         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
9041         gl_LONG_DOUBLE_VS_DOUBLE.
9042         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
9043         conditions.
9044
9045 2011-10-10  Bruno Haible  <bruno@clisp.org>
9046
9047         frexpl: Simplify for platforms where 'long double' == 'double'.
9048         * lib/frexpl.c: Include <config.h>.
9049         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9050         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9051         time.
9052         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9053         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9054         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
9055         * modules/frexpl (Depends-on): Add frexp. Update conditions.
9056         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
9057         conditions.
9058
9059 2011-10-10  Jim Meyering  <meyering@redhat.com>
9060
9061         test-renameat: don't leave behind a temporary file
9062         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
9063           ERROR: files left in build directory after distclean:
9064           ./gltests/test-renameat.too
9065           make[1]: *** [distcleancheck] Error 1
9066         Reported by Tom G. Christensen.
9067
9068 2011-10-09  Bruno Haible  <bruno@clisp.org>
9069
9070         rint: Determine RINT_LIBM correctly on AIX 7.
9071         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
9072         directly, not only through a function pointer. Also accept an optional
9073         4th argument with extra code.
9074         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
9075         rintf() call by gcc when optimizing.
9076
9077         mathfunc.m4: Refactor.
9078         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
9079         m4 variable.
9080
9081 2011-10-09  Bruno Haible  <bruno@clisp.org>
9082
9083         rintl: Simplify for platforms where 'long double' == 'double'.
9084         * lib/rintl.c: Include <config.h>.
9085         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9086         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9087         time.
9088         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9089         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9090         * modules/rintl (Depends-on): Add rint. Update conditions.
9091
9092 2011-10-09  Bruno Haible  <bruno@clisp.org>
9093
9094         roundl: Simplify for platforms where 'long double' == 'double'.
9095         * lib/roundl.c: Include <config.h>.
9096         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9097         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9098         time.
9099         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9100         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9101         * modules/roundl (Depends-on): Add round. Update conditions.
9102
9103 2011-10-09  Bruno Haible  <bruno@clisp.org>
9104
9105         truncl: Simplify for platforms where 'long double' == 'double'.
9106         * lib/truncl.c: Include <config.h>.
9107         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9108         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9109         time.
9110         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9111         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9112         * modules/truncl (Depends-on): Add trunc. Update conditions.
9113
9114 2011-10-09  Bruno Haible  <bruno@clisp.org>
9115
9116         ceill: Simplify for platforms where 'long double' == 'double'.
9117         * lib/ceill.c: Include <config.h>.
9118         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9119         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9120         time.
9121         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9122         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9123         * modules/ceill (Depends-on): Add ceil. Update conditions.
9124
9125 2011-10-09  Bruno Haible  <bruno@clisp.org>
9126
9127         floorl: Simplify for platforms where 'long double' == 'double'.
9128         * lib/floorl.c: Include <config.h>.
9129         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9130         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9131         time.
9132         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9133         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9134         * modules/floorl (Depends-on): Add floor. Update conditions.
9135
9136 2011-10-09  Bruno Haible  <bruno@clisp.org>
9137
9138         rint: Fix ordering constraints.
9139         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9140         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9141         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9142
9143 2011-10-09  Bruno Haible  <bruno@clisp.org>
9144
9145         copysignl: Simplify for platforms where 'long double' == 'double'.
9146         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9147         alternative.
9148         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9149         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9150         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9151
9152 2011-10-09  Bruno Haible  <bruno@clisp.org>
9153
9154         Tests for module 'rintl'.
9155         * modules/rintl-tests: New file.
9156         * tests/test-rintl.c: New file.
9157
9158         New module 'rintl'.
9159         * lib/math.in.h (rintl): New declaration.
9160         * lib/rintl.c: New file.
9161         * m4/rintl.m4: New file.
9162         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9163         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9164         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9165         * modules/rintl: New file.
9166         * tests/test-math-c++.cc: Check the declaration of rintl.
9167         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9168         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9169         * doc/posix-functions/rintl.texi: Mention the new module.
9170
9171 2011-10-09  Bruno Haible  <bruno@clisp.org>
9172
9173         Tests for module 'rintf'.
9174         * modules/rintf-tests: New file.
9175         * tests/test-rintf.c: New file.
9176
9177         New module 'rintf'.
9178         * lib/math.in.h (rintf): New declaration.
9179         * lib/rintf.c: New file.
9180         * m4/rintf.m4: New file.
9181         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9182         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9183         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9184         * modules/rintf: New file.
9185         * tests/test-math-c++.cc: Check the declaration of rintf.
9186         * doc/posix-functions/rintf.texi: Mention the new module.
9187
9188 2011-10-09  Bruno Haible  <bruno@clisp.org>
9189
9190         rint: Support for MSVC.
9191         * lib/math.in.h (rint): New declaration.
9192         * lib/rint.c: New file.
9193         * m4/rint.m4: New file.
9194         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9196         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9197         * modules/rint (Description): Fix.
9198         (Files): Add lib/rint.c, m4/rint.m4.
9199         (Depends-on): Add math.
9200         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9201         gl_MATH_MODULE_INDICATOR.
9202         * tests/test-math-c++.cc: Check the declaration of rint.
9203         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9204         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9205         * doc/posix-functions/rint.texi: Mention the replacement provided by
9206         the module.
9207
9208         rint tests: More tests.
9209         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9210         minus-zero.h, infinity.h, nan.h.
9211         (main): Skip the test if the current rounding mode is not standard. Add
9212         tests for negative numbers, minus zero, infinity, NaN.
9213         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9214         tests/nan.h.
9215         (Depends-on): Add isnand-nolibm.
9216
9217 2011-10-09  Bruno Haible  <bruno@clisp.org>
9218
9219         Tests for module 'copysignl'.
9220         * modules/copysignl-tests: New file.
9221         * tests/test-copysignl.c: New file.
9222
9223         New module 'copysignl'.
9224         * lib/math.in.h (copysignl): New declaration.
9225         * lib/copysignl.c: New file.
9226         * m4/copysignl.m4: New file.
9227         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9228         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9229         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9230         HAVE_COPYSIGNL.
9231         * modules/copysignl: New file.
9232         * tests/test-math-c++.cc: Check the declaration of copysignl.
9233         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9234         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9235         * doc/posix-functions/copysignl.texi: Mention the new module.
9236
9237 2011-10-09  Bruno Haible  <bruno@clisp.org>
9238
9239         Tests for module 'copysignf'.
9240         * modules/copysignf-tests: New file.
9241         * tests/test-copysignf.c: New file.
9242
9243         New module 'copysignf'.
9244         * lib/math.in.h (copysignf): New declaration.
9245         * lib/copysignf.c: New file.
9246         * m4/copysignf.m4: New file.
9247         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9248         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9249         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9250         HAVE_COPYSIGNF.
9251         * modules/copysignf: New file.
9252         * tests/test-math-c++.cc: Check the declaration of copysignf.
9253         * doc/posix-functions/copysignf.texi: Mention the new module.
9254
9255 2011-10-09  Bruno Haible  <bruno@clisp.org>
9256
9257         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9258         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9259         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9260         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9261         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9262         gl_SIGNAL_H_DEFAULTS.
9263
9264 2011-10-09  Bruno Haible  <bruno@clisp.org>
9265
9266         poll: Make macro safer.
9267         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9268         ac_cv_header_poll_h is not set.
9269
9270 2011-10-09  Bruno Haible  <bruno@clisp.org>
9271
9272         copysign: Provide replacement.
9273         * lib/math.in.h (copysign): New declaration.
9274         * lib/copysign.c: New file.
9275         * m4/copysign.m4: New file.
9276         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9278         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9279         HAVE_COPYSIGN.
9280         * modules/copysign (Description): Clarify.
9281         (Files): Add lib/copysign.c, m4/copysign.m4.
9282         (Depends-on): Add math, signbit.
9283         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9284         gl_MATH_MODULE_INDICATOR.
9285         * tests/test-math-c++.cc: Check the declaration of copysign.
9286         * doc/posix-functions/copysign.texi: Mention the effects of the module
9287         on Minix and MSVC.
9288
9289 2011-10-09  Bruno Haible  <bruno@clisp.org>
9290
9291         isinf: Ensure macro on AIX 5.1.
9292         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9293         macro.
9294         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9295
9296 2011-10-09  Bruno Haible  <bruno@clisp.org>
9297
9298         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9299         * modules/snprintf-posix-tests (configure.ac): Require
9300         gl_LONG_DOUBLE_VS_DOUBLE.
9301         * modules/sprintf-posix-tests (configure.ac): Likewise.
9302         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9303         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9304         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9305         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9306         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9307         tests on platforms where 'long double' is the same as 'double'.
9308         * tests/test-sprintf-posix.h (test_function): Likewise.
9309         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9310         * tests/test-vasprintf-posix.c (test_function): Likewise.
9311
9312         *printf: Fix for platforms where 'long double' == 'double'.
9313         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9314         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9315         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9316         * modules/fprintf-posix (Files): Likewise.
9317         * modules/obstack-printf-posix (Files): Likewise.
9318         * modules/snprintf-posix (Files): Likewise.
9319         * modules/sprintf-posix (Files): Likewise.
9320         * modules/vasnprintf (Files): Likewise.
9321         * modules/vasnprintf-posix (Files): Likewise.
9322         * modules/vasprintf-posix (Files): Likewise.
9323         * modules/vdprintf-posix (Files): Likewise.
9324         * modules/vfprintf-posix (Files): Likewise.
9325         * modules/vsnprintf-posix (Files): Likewise.
9326         * modules/vsprintf-posix (Files): Likewise.
9327         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9328         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9329         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9330         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9331         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9332         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9333         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9334
9335         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9336         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9337         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9338         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9339         'long double'.
9340         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9341
9342         isinf: Fix for platforms where 'long double' == 'double'.
9343         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9344         Don't blindly assume 80-bit 'long double'.
9345
9346         isfinite: Fix for platforms where 'long double' == 'double'.
9347         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9348         Don't blindly assume 80-bit 'long double'.
9349
9350         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9351         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9352         * modules/isfinite-tests (configure.ac): Require
9353         gl_LONG_DOUBLE_VS_DOUBLE.
9354         * modules/isinf-tests (configure.ac): Likewise.
9355         * modules/isnan-tests (configure.ac): Likewise.
9356         * modules/isnanl-tests (configure.ac): Likewise.
9357         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9358         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9359         tests on platforms where 'long double' is the same as 'double'.
9360         * tests/test-isinf.c (test_isinfl): Likewise.
9361         * tests/test-isnan.c (test_long_double): Likewise.
9362         * tests/test-isnanl.h (main): Likewise.
9363
9364 2011-10-08  Bruno Haible  <bruno@clisp.org>
9365
9366         Tests for module 'tanhf'.
9367         * modules/tanhf-tests: New file.
9368         * tests/test-tanhf.c: New file.
9369
9370         New module 'tanhf'.
9371         * lib/math.in.h (tanhf): New declaration.
9372         * lib/tanhf.c: New file.
9373         * m4/tanhf.m4: New file.
9374         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9375         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9376         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9377         * modules/tanhf: New file.
9378         * tests/test-math-c++.cc: Check the declaration of tanhf.
9379         * doc/posix-functions/tanhf.texi: Mention the new module.
9380
9381         tanh: Use a .m4 file.
9382         * m4/tanh.m4: New file.
9383         * modules/tanh (Files): Add it.
9384         (configure.ac): Just invoke gl_FUNC_TANH.
9385
9386 2011-10-08  Bruno Haible  <bruno@clisp.org>
9387
9388         Tests for module 'coshf'.
9389         * modules/coshf-tests: New file.
9390         * tests/test-coshf.c: New file.
9391
9392         New module 'coshf'.
9393         * lib/math.in.h (coshf): New declaration.
9394         * lib/coshf.c: New file.
9395         * m4/coshf.m4: New file.
9396         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9398         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9399         * modules/coshf: New file.
9400         * tests/test-math-c++.cc: Check the declaration of coshf.
9401         * doc/posix-functions/coshf.texi: Mention the new module.
9402
9403         cosh: Use a .m4 file.
9404         * m4/cosh.m4: New file.
9405         * modules/cosh (Files): Add it.
9406         (configure.ac): Just invoke gl_FUNC_COSH.
9407
9408 2011-10-08  Bruno Haible  <bruno@clisp.org>
9409
9410         Tests for module 'sinhf'.
9411         * modules/sinhf-tests: New file.
9412         * tests/test-sinhf.c: New file.
9413
9414         New module 'sinhf'.
9415         * lib/math.in.h (sinhf): New declaration.
9416         * lib/sinhf.c: New file.
9417         * m4/sinhf.m4: New file.
9418         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9419         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9420         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9421         * modules/sinhf: New file.
9422         * tests/test-math-c++.cc: Check the declaration of sinhf.
9423         * doc/posix-functions/sinhf.texi: Mention the new module.
9424
9425         sinh: Use a .m4 file.
9426         * m4/sinh.m4: New file.
9427         * modules/sinh (Files): Add it.
9428         (configure.ac): Just invoke gl_FUNC_SINH.
9429
9430 2011-10-08  Bruno Haible  <bruno@clisp.org>
9431
9432         Tests for module 'atan2f'.
9433         * modules/atan2f-tests: New file.
9434         * tests/test-atan2f.c: New file.
9435
9436         New module 'atan2f'.
9437         * lib/math.in.h (atan2f): New declaration.
9438         * lib/atan2f.c: New file.
9439         * m4/atan2f.m4: New file.
9440         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
9441         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
9442         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
9443         * modules/atan2f: New file.
9444         * tests/test-math-c++.cc: Check the declaration of atan2f.
9445         * doc/posix-functions/atan2f.texi: Mention the new module.
9446
9447         atan2: Use a .m4 file.
9448         * m4/atan2.m4: New file.
9449         * modules/atan2 (Files): Add it.
9450         (configure.ac): Just invoke gl_FUNC_ATAN2.
9451
9452 2011-10-08  Bruno Haible  <bruno@clisp.org>
9453
9454         Tests for module 'atanf'.
9455         * modules/atanf-tests: New file.
9456         * tests/test-atanf.c: New file.
9457
9458         New module 'atanf'.
9459         * lib/math.in.h (atanf): New declaration.
9460         * lib/atanf.c: New file.
9461         * m4/atanf.m4: New file.
9462         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9464         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9465         * modules/atanf: New file.
9466         * tests/test-math-c++.cc: Check the declaration of atanf.
9467         * doc/posix-functions/atanf.texi: Mention the new module.
9468
9469         atan: Use a .m4 file.
9470         * m4/atan.m4: New file.
9471         * modules/atan (Files): Add it.
9472         (configure.ac): Just invoke gl_FUNC_ATAN.
9473
9474 2011-10-08  Bruno Haible  <bruno@clisp.org>
9475
9476         Tests for module 'acosf'.
9477         * modules/acosf-tests: New file.
9478         * tests/test-acosf.c: New file.
9479
9480         New module 'acosf'.
9481         * lib/math.in.h (acosf): New declaration.
9482         * lib/acosf.c: New file.
9483         * m4/acosf.m4: New file.
9484         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9486         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9487         * modules/acosf: New file.
9488         * tests/test-math-c++.cc: Check the declaration of acosf.
9489         * doc/posix-functions/acosf.texi: Mention the new module.
9490
9491         acos: Use a .m4 file.
9492         * m4/acos.m4: New file.
9493         * modules/acos (Files): Add it.
9494         (configure.ac): Just invoke gl_FUNC_ACOS.
9495
9496 2011-10-08  Bruno Haible  <bruno@clisp.org>
9497
9498         Tests for module 'asinf'.
9499         * modules/asinf-tests: New file.
9500         * tests/test-asinf.c: New file.
9501
9502         New module 'asinf'.
9503         * lib/math.in.h (asinf): New declaration.
9504         * lib/asinf.c: New file.
9505         * m4/asinf.m4: New file.
9506         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9508         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9509         * modules/asinf: New file.
9510         * tests/test-math-c++.cc: Check the declaration of asinf.
9511         * doc/posix-functions/asinf.texi: Mention the new module.
9512
9513         asin: Use a .m4 file.
9514         * m4/asin.m4: New file.
9515         * modules/asin (Files): Add it.
9516         (configure.ac): Just invoke gl_FUNC_ASIN.
9517
9518 2011-10-08  Bruno Haible  <bruno@clisp.org>
9519
9520         Tests for module 'tanf'.
9521         * modules/tanf-tests: New file.
9522         * tests/test-tanf.c: New file.
9523
9524         New module 'tanf'.
9525         * lib/math.in.h (tanf): New declaration.
9526         * lib/tanf.c: New file.
9527         * m4/tanf.m4: New file.
9528         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9529         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9530         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9531         * modules/tanf: New file.
9532         * tests/test-math-c++.cc: Check the declaration of tanf.
9533         * doc/posix-functions/tanf.texi: Mention the new module.
9534
9535         tan: Use a .m4 file.
9536         * m4/tan.m4: New file.
9537         * modules/tan (Files): Add it.
9538         (configure.ac): Just invoke gl_FUNC_TAN.
9539
9540 2011-10-08  Bruno Haible  <bruno@clisp.org>
9541
9542         Tests for module 'cosf'.
9543         * modules/cosf-tests: New file.
9544         * tests/test-cosf.c: New file.
9545
9546         New module 'cosf'.
9547         * lib/math.in.h (cosf): New declaration.
9548         * lib/cosf.c: New file.
9549         * m4/cosf.m4: New file.
9550         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9551         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9552         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9553         * modules/cosf: New file.
9554         * tests/test-math-c++.cc: Check the declaration of cosf.
9555         * doc/posix-functions/cosf.texi: Mention the new module.
9556
9557         cos: Use a .m4 file.
9558         * m4/cos.m4: New file.
9559         * modules/cos (Files): Add it.
9560         (configure.ac): Just invoke gl_FUNC_COS.
9561
9562 2011-10-08  Bruno Haible  <bruno@clisp.org>
9563
9564         Tests for module 'sinf'.
9565         * modules/sinf-tests: New file.
9566         * tests/test-sinf.c: New file.
9567
9568         New module 'sinf'.
9569         * lib/math.in.h (sinf): New declaration.
9570         * lib/sinf.c: New file.
9571         * m4/sinf.m4: New file.
9572         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9574         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9575         * modules/sinf: New file.
9576         * tests/test-math-c++.cc: Check the declaration of sinf.
9577         * doc/posix-functions/sinf.texi: Mention the new module.
9578
9579         sin: Use a .m4 file.
9580         * m4/sin.m4: New file.
9581         * modules/sin (Files): Add it.
9582         (configure.ac): Just invoke gl_FUNC_SIN.
9583
9584 2011-10-08  Bruno Haible  <bruno@clisp.org>
9585
9586         Tests for module 'powf'.
9587         * modules/powf-tests: New file.
9588         * tests/test-powf.c: New file.
9589
9590         New module 'powf'.
9591         * lib/math.in.h (powf): New declaration.
9592         * lib/powf.c: New file.
9593         * m4/powf.m4: New file.
9594         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9595         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9596         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9597         * modules/powf: New file.
9598         * tests/test-math-c++.cc: Check the declaration of powf.
9599         * doc/posix-functions/powf.texi: Mention the new module.
9600
9601         pow: Use a .m4 file.
9602         * m4/pow.m4: New file.
9603         * modules/pow (Files): Add it.
9604         (configure.ac): Just invoke gl_FUNC_POW.
9605
9606 2011-10-08  Bruno Haible  <bruno@clisp.org>
9607
9608         Tests for module 'log10f'.
9609         * modules/log10f-tests: New file.
9610         * tests/test-log10f.c: New file.
9611
9612         New module 'log10f'.
9613         * lib/math.in.h (log10f): New declaration.
9614         * lib/log10f.c: New file.
9615         * m4/log10f.m4: New file.
9616         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9617         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9618         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9619         * modules/log10f: New file.
9620         * tests/test-math-c++.cc: Check the declaration of log10f.
9621         * doc/posix-functions/log10f.texi: Mention the new module.
9622
9623         log10: Use a .m4 file.
9624         * m4/log10.m4: New file.
9625         * modules/log10 (Files): Add it.
9626         (configure.ac): Just invoke gl_FUNC_LOG10.
9627
9628 2011-10-08  Bruno Haible  <bruno@clisp.org>
9629
9630         Tests for module 'logf'.
9631         * modules/logf-tests: New file.
9632         * tests/test-logf.c: New file.
9633
9634         New module 'logf'.
9635         * lib/math.in.h (logf): New declaration.
9636         * lib/logf.c: New file.
9637         * m4/logf.m4: New file.
9638         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9639         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9640         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9641         * modules/logf: New file.
9642         * tests/test-math-c++.cc: Check the declaration of logf.
9643         * doc/posix-functions/logf.texi: Mention the new module.
9644
9645         log: Use a .m4 file.
9646         * m4/log.m4: New file.
9647         * modules/log (Files): Add it.
9648         (configure.ac): Just invoke gl_FUNC_LOG.
9649
9650 2011-10-08  Bruno Haible  <bruno@clisp.org>
9651
9652         Tests for module 'expf'.
9653         * modules/expf-tests: New file.
9654         * tests/test-expf.c: New file.
9655
9656         New module 'expf'.
9657         * lib/math.in.h (expf): New declaration.
9658         * lib/expf.c: New file.
9659         * m4/expf.m4: New file.
9660         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9662         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9663         * modules/expf: New file.
9664         * tests/test-math-c++.cc: Check the declaration of expf.
9665         * doc/posix-functions/expf.texi: Mention the new module.
9666
9667         exp: Use a .m4 file.
9668         * m4/exp.m4: New file.
9669         * modules/exp (Files): Add it.
9670         (configure.ac): Just invoke gl_FUNC_EXP.
9671
9672 2011-10-08  Bruno Haible  <bruno@clisp.org>
9673
9674         Tests for module 'sqrtf'.
9675         * modules/sqrtf-tests: New file.
9676         * tests/test-sqrtf.c: New file.
9677
9678         New module 'sqrtf'.
9679         * lib/math.in.h (sqrtf): New declaration.
9680         * lib/sqrtf.c: New file.
9681         * m4/sqrtf.m4: New file.
9682         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9684         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9685         * modules/sqrtf: New file.
9686         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9687         * doc/posix-functions/sqrtf.texi: Mention the new module.
9688
9689 2011-10-08  Bruno Haible  <bruno@clisp.org>
9690
9691         Tests: Avoid link failures w.r.t. libintl.
9692         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9693         $(LIBINTL).
9694         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9695         $(LIBINTL).
9696         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9697         against $(LIBINTL).
9698         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9699         $(LIBINTL).
9700         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9701         $(LIBINTL).
9702         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9703
9704 2011-10-08  Bruno Haible  <bruno@clisp.org>
9705
9706         pow tests: Defeat compiler optimizations.
9707         * tests/test-pow.c (main): Assign arguments to x and y before use.
9708
9709 2011-10-08  Bruno Haible  <bruno@clisp.org>
9710
9711         gnulib-tool: Improve last commit.
9712         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9713         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9714         ignore dependencies that are not among the modules list.
9715
9716 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9717
9718         gnulib-tool: don't follow dependencies to avoided modules
9719         This fixes a bug that is related to the previous one.
9720         * gnulib-tool (func_modules_transitive_closure)
9721         (func_emit_autoconf_snippets):
9722         Check whether a dependency is acceptable before using it.
9723         (--extract-dependencies): Report an error if --avoid is also used,
9724         since this combination of options is not yet supported.
9725
9726         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9727         Problem reported by Peter Dyballa in
9728         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9729         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9730         when echoing "$condition".
9731
9732 2011-10-07  Bruno Haible  <bruno@clisp.org>
9733
9734         Fix documentation about math functions on MacOS X.
9735         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9736         MacOS X 10.5.
9737         * doc/posix-functions/fdim.texi: Likewise.
9738         * doc/posix-functions/feclearexcept.texi: Likewise.
9739         * doc/posix-functions/fegetenv.texi: Likewise.
9740         * doc/posix-functions/fegetround.texi: Likewise.
9741         * doc/posix-functions/feholdexcept.texi: Likewise.
9742         * doc/posix-functions/feraiseexcept.texi: Likewise.
9743         * doc/posix-functions/fesetenv.texi: Likewise.
9744         * doc/posix-functions/fesetround.texi: Likewise.
9745         * doc/posix-functions/fetestexcept.texi: Likewise.
9746         * doc/posix-functions/feupdateenv.texi: Likewise.
9747         * doc/posix-functions/fmax.texi: Likewise.
9748         * doc/posix-functions/fmin.texi: Likewise.
9749         * doc/posix-functions/log2.texi: Likewise.
9750         * doc/posix-functions/modff.texi: Likewise.
9751         * doc/posix-functions/nan.texi: Likewise.
9752         * doc/posix-functions/nanf.texi: Likewise.
9753         * doc/posix-functions/nextafterf.texi: Likewise.
9754         * doc/posix-functions/remquo.texi: Likewise.
9755
9756 2011-10-07  Bruno Haible  <bruno@clisp.org>
9757
9758         modff: Drop assumption about library that defines modff.
9759         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9760         AC_CHECK_FUNCS.
9761         * modules/modff (Files): Add m4/mathfunc.m4.
9762
9763 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9764
9765         raise tests: Avoid a GCC warning.
9766         * tests/test-raise.c (handler): Use _Noreturn.
9767
9768 2011-10-07  Bruno Haible  <bruno@clisp.org>
9769
9770         Tests for module 'ldexpf'.
9771         * modules/ldexpf-tests: New file.
9772         * tests/test-ldexpf.c: New file.
9773
9774         New module 'ldexpf'.
9775         * lib/math.in.h (ldexpf): New declaration.
9776         * lib/ldexpf.c: New file.
9777         * m4/ldexpf.m4: New file.
9778         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9780         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9781         * modules/ldexpf: New file.
9782         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9783         * doc/posix-functions/ldexpf.texi: Mention the new module.
9784
9785 2011-10-06  Bruno Haible  <bruno@clisp.org>
9786
9787         frexpf: Work around problems on IRIX and mingw.
9788         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9790         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9791         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9792         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9793         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9794         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9795
9796 2011-10-06  Bruno Haible  <bruno@clisp.org>
9797
9798         fabsf: Drop assumption about library that defines fabsf.
9799         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9800         AC_CHECK_FUNCS.
9801         * modules/fabsf (Files): Add m4/mathfunc.m4.
9802
9803 2011-10-06  Bruno Haible  <bruno@clisp.org>
9804
9805         frexpf: Drop assumption about library that defines frexpf.
9806         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9807         'int *', 'float *', 'long double *', 'float', 'long double'.
9808         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9809         AC_CHECK_FUNCS.
9810         * modules/frexpf (Files): Add m4/mathfunc.m4.
9811
9812         Tests for module 'frexpf'.
9813         * modules/frexpf-tests: New file.
9814         * tests/test-frexpf.c: New file.
9815
9816         New module 'frexpf'.
9817         * lib/math.in.h (frexpf): New declaration.
9818         * lib/frexpf.c: New file.
9819         * m4/frexpf.m4: New file.
9820         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9822         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9823         * modules/frexpf: New file.
9824         * tests/test-math-c++.cc: Check the declaration of frexpf.
9825         * doc/posix-functions/frexpf.texi: Mention the new module.
9826
9827 2011-10-06  Bruno Haible  <bruno@clisp.org>
9828
9829         math: Sort function declarations of math.in.h.
9830         * lib/math.in.h (frexp, logb): Move declarations.
9831
9832 2011-10-05  Bruno Haible  <bruno@clisp.org>
9833
9834         Tests for module 'modff'.
9835         * modules/modff-tests: New file.
9836         * tests/test-modff.c: New file.
9837
9838         New module 'modff'.
9839         * lib/math.in.h (modff): New declaration.
9840         * lib/modff.c: New file.
9841         * m4/modff.m4: New file.
9842         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9843         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9844         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9845         * modules/modff: New file.
9846         * tests/test-math-c++.cc: Check the declaration of modff.
9847         * doc/posix-functions/modff.texi: Mention the new module.
9848
9849         modf tests: Make test sharper.
9850         * tests/test-modf.c (main): Strengthen upper bound.
9851
9852         modf: Use a .m4 file.
9853         * m4/modf.m4: New file.
9854         * modules/modf (Files): Add it.
9855         (configure.ac): Just invoke gl_FUNC_MODF.
9856
9857 2011-10-05  Bruno Haible  <bruno@clisp.org>
9858
9859         Tests for module 'fmodf'.
9860         * modules/fmodf-tests: New file.
9861         * tests/test-fmodf.c: New file.
9862
9863         New module 'fmodf'.
9864         * lib/math.in.h (fmodf): New declaration.
9865         * lib/fmodf.c: New file.
9866         * m4/fmodf.m4: New file.
9867         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9868         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9869         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9870         * modules/fmodf: New file.
9871         * tests/test-math-c++.cc: Check the declaration of fmodf.
9872         * doc/posix-functions/fmodf.texi: Mention the new module.
9873
9874         fmod: Use a .m4 file.
9875         * m4/fmod.m4: New file.
9876         * modules/fmod (Files): Add it.
9877         (configure.ac): Just invoke gl_FUNC_FMOD.
9878
9879 2011-10-05  Bruno Haible  <bruno@clisp.org>
9880
9881         Tests for module 'fabsf'.
9882         * modules/fabsf-tests: New file.
9883         * tests/test-fabsf.c: New file.
9884
9885         New module 'fabsf'.
9886         * lib/math.in.h (fabsf): New declaration.
9887         * lib/fabsf.c: New file.
9888         * m4/fabsf.m4: New file.
9889         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9891         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9892         * modules/fabsf: New file.
9893         * tests/test-math-c++.cc: Check the declaration of fabsf.
9894         * doc/posix-functions/fabsf.texi: Mention the new module.
9895
9896         fabs: Use a .m4 file.
9897         * m4/fabs.m4: New file.
9898         * modules/fabs (Files): Add it.
9899         (configure.ac): Just invoke gl_FUNC_FABS.
9900
9901 2011-10-05  Jim Meyering  <meyering@redhat.com>
9902
9903         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9904         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9905         ls -lL regression introduced in coreutils-8.12, it does so at the
9906         cost of an additional stat call in the common case.  Besides, now
9907         that the kernel change that prompted commit 95f7c57f has been reverted
9908         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9909         we have no use for commit 95f7c57f, "file-has-acl: use
9910         acl_extended_file_nofollow if available".
9911
9912 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9913
9914         file-has-acl: revert unintended change in behavior of ls -L
9915         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9916         derived from...
9917         (file_has_acl): ...code here.  Call it.
9918         This problem was introduced with 2011-07-22 commit 95f7c57f,
9919         "file-has-acl: use acl_extended_file_nofollow if available".
9920         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9921
9922 2011-10-03  Bruno Haible  <bruno@clisp.org>
9923
9924         poll: Avoid link errors on MSVC.
9925         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9926         * modules/poll (Depends-on): Add sockets.
9927         (Link): New section.
9928         * NEWS: Mention the change.
9929         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9930         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9931         $(LIB_POLL) instead of $(LIBSOCKET).
9932
9933 2011-10-03  Bruno Haible  <bruno@clisp.org>
9934
9935         sys_select tests: Fix link error on MSVC 9.
9936         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9937         with $(LIB_SELECT) instead of $(LIBSOCKET).
9938
9939 2011-10-03  Bruno Haible  <bruno@clisp.org>
9940
9941         sys_select: Fix compilation error on mingw.
9942         * lib/sys_select.in.h: On native Windows, include <io.h>.
9943
9944 2011-10-03  Bruno Haible  <bruno@clisp.org>
9945
9946         wmemset: Support for MSVC.
9947         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9948         whether wmemset() exists.
9949
9950 2011-10-03  Bruno Haible  <bruno@clisp.org>
9951
9952         wmemmove: Support for MSVC.
9953         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9954         whether wmemmove() exists.
9955
9956 2011-10-03  Bruno Haible  <bruno@clisp.org>
9957
9958         wmemcpy: Support for MSVC.
9959         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9960         whether wmemcpy() exists.
9961
9962 2011-10-03  Bruno Haible  <bruno@clisp.org>
9963
9964         wmemcmp: Support for MSVC.
9965         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9966         whether wmemcmp() exists.
9967
9968 2011-10-03  Bruno Haible  <bruno@clisp.org>
9969
9970         wmemchr: Support for MSVC.
9971         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9972         whether wmemchr() exists.
9973
9974 2011-10-03  Bruno Haible  <bruno@clisp.org>
9975
9976         glthread/*, strsignal: Support for MSVC.
9977         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9978         including <winsock.h> on MSVC 9.
9979         * lib/glthread/lock.h: Likewise.
9980         * lib/glthread/thread.h: Likewise.
9981         * lib/glthread/tls.h: Likewise.
9982         * lib/glthread/yield.h: Likewise.
9983         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9984         if HAVE_UNISTD_H is false.
9985         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9986
9987 2011-10-03  Bruno Haible  <bruno@clisp.org>
9988
9989         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9990         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9991         Set to 100000.
9992
9993 2011-10-03  Bruno Haible  <bruno@clisp.org>
9994
9995         acl: Fix specification.
9996         * lib/file-has-acl.c (file_has_acl): Fix specification.
9997
9998 2011-10-03  Bruno Haible  <bruno@clisp.org>
9999
10000         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
10001         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
10002         (compute_curr_prefix, shared_library_fullname,
10003         find_shared_library_fullname, get_shared_library_fullname, relocate):
10004         Use it together with PIC && INSTALLDIR.
10005         Reported by <jojelino@gmail.com>
10006         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
10007
10008 2011-10-01  Jim Meyering  <meyering@redhat.com>
10009
10010         maint.mk: adjust a release-related rule not to require use of gzip
10011         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
10012         Instead, check each file in $(DIST_ARCHIVES).  This is better for
10013         projects that build only .tar.xz files.  Also fix an erroneous test.
10014
10015         test-linkat: don't leave behind a temporary file
10016         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
10017         Otherwise, coreutils' "make distcheck" would fail with this:
10018           Only in /c/cu/tests/torture/coreutils/test/\
10019             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
10020           make[2]: *** [my-distcheck] Error 1
10021
10022         float, math: add omitted file
10023         * lib/itold.c: Add file, required for yesterday's float change.
10024
10025 2011-10-01  Bruno Haible  <bruno@clisp.org>
10026
10027         isinf: Fix for OpenBSD/x86.
10028         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
10029         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
10030         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
10031
10032 2011-10-01  Bruno Haible  <bruno@clisp.org>
10033
10034         isfinite: Fix syntax error in configure test.
10035         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
10036
10037         isfinite: Fix typo.
10038         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
10039         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
10040
10041 2011-10-01  Bruno Haible  <bruno@clisp.org>
10042
10043         nonblocking tests: Fix test failure on Linux/IA-64.
10044         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
10045         Set to 270000.
10046
10047 2011-10-01  Bruno Haible  <bruno@clisp.org>
10048
10049         mkfifoat tests: Fix a test failure on mingw.
10050         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
10051         with error ENOSYS.
10052
10053 2011-09-30  Bruno Haible  <bruno@clisp.org>
10054
10055         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
10056         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
10057         'long double'. Set REPLACE_ITOLD.
10058         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
10059         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
10060         * lib/itold.c: New file.
10061         * modules/float (Files): Add lib/itold.c.
10062         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
10063         (Makefile.am): Substitute REPLACE_ITOLD.
10064         * modules/math (Depends-on): Add float.
10065         (Makefile.am): Substitute REPLACE_ITOLD.
10066         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
10067         * doc/posix-headers/math.texi: Likewise.
10068         * doc/posix-functions/logl.texi: Likewise.
10069
10070 2011-09-30  Bruno Haible  <bruno@clisp.org>
10071
10072         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
10073         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
10074         Set to 140000.
10075
10076 2011-09-30  Bruno Haible  <bruno@clisp.org>
10077
10078         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
10079         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
10080         invocation, say "right after AC_PROG_CC_STDC", not "right after
10081         AC_PROG_CC".
10082         Reported by Gary V. Vaughan <gary@gnu.org>.
10083
10084 2011-09-30  Bruno Haible  <bruno@clisp.org>
10085
10086         Centralize C99 requirement.
10087         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
10088         * modules/stdarg (configure.ac-early): Invoke it instead of
10089         AC_PROG_CC_STDC.
10090         Reported by Gary V. Vaughan and Paul Eggert.
10091
10092 2011-09-29  Bruno Haible  <bruno@clisp.org>
10093
10094         float: Fix LDBL_MAX value on Linux/PowerPC.
10095         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
10096         on Linux/PowerPC.
10097         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
10098         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
10099         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
10100         platform.
10101         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
10102
10103 2011-09-29  Bruno Haible  <bruno@clisp.org>
10104
10105         doc: Improve doc about gl_EARLY.
10106         * doc/gnulib-tool.texi (Initial import): Mention where to place an
10107         AC_PROG_CC_STDC invocation.
10108         Reported by Gary V. Vaughan <gary@gnu.org>.
10109
10110 2011-09-28  Bruno Haible  <bruno@clisp.org>
10111
10112         fgetc, fputc, fread, fwrite tests: Fix link error.
10113         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
10114         on non-MSVC platforms.
10115         * tests/test-fputc.c (main): Likewise.
10116         * tests/test-fread.c (main): Likewise.
10117         * tests/test-fwrite.c (main): Likewise.
10118         Reported by Jim Meyering.
10119
10120 2011-09-27  Bruno Haible  <bruno@clisp.org>
10121
10122         fputc, fwrite tests: Avoid test failure on MSVC.
10123         * tests/test-fgetc.c: Include msvc-inval.h.
10124         (main): Invoke gl_msvc_inval_ensure_handler.
10125         * tests/test-fputc.c: Include msvc-inval.h.
10126         (main): Invoke gl_msvc_inval_ensure_handler.
10127         * tests/test-fread.c: Include msvc-inval.h.
10128         (main): Invoke gl_msvc_inval_ensure_handler.
10129         * tests/test-fwrite.c: Include msvc-inval.h.
10130         (main): Invoke gl_msvc_inval_ensure_handler.
10131         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10132         * modules/fputc-tests (Depends-on): Likewise.
10133         * modules/fread-tests (Depends-on): Likewise.
10134         * modules/fwrite-tests (Depends-on): Likewise.
10135
10136 2011-09-27  Bruno Haible  <bruno@clisp.org>
10137
10138         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10139         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10140         (raise): Remove older, duplicated declaration.
10141         (_gl_raise_SIGPIPE): New declaration.
10142         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10143         (rpl_raise): Remove function.
10144         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10145         a gnulib-defined SIGPIPE here.
10146         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10147         'sigprocmask' has detected missing signal-blocking and the module
10148         'sigpipe' is enabled.
10149         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10150
10151 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10152
10153         base64-tests: avoid memory leak
10154         * tests/test-base64.c (main): Plug memory leak.
10155
10156         base32: new module
10157         * modules/base32: New module.
10158         * lib/base32.c: New file.
10159         * lib/base32.h: Likewise.
10160         * m4/base32.m4: Likewise.
10161         * modules/base32-tests: New test.
10162         * tests/test-base32.c: Likewise.
10163         * MODULES.html.sh (Misc): Mention it.
10164
10165 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10166
10167         gnulib: use more-standard license notice wording
10168         * gnulib-tool (func_emit_copyright_notice): When emitting a
10169         license notice into a file, use the standard wording as suggested
10170         by the current information for GNU maintainers, except say "file"
10171         rather than "program".  The new wording gives a license version
10172         number, which addresses an issue raised by Glenn Morris in
10173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10174         * m4/onceonly.m4: Use that same wording here, too.
10175
10176         dup2: minor simplification
10177         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10178         as lib/dup2.c no longer uses 'inline'.
10179
10180 2011-09-25  Bruno Haible  <bruno@clisp.org>
10181
10182         strings: Fix compilation error on MSVC.
10183         * lib/strings.in.h: Include <stddef.h> for size_t.
10184
10185 2011-09-25  Bruno Haible  <bruno@clisp.org>
10186
10187         fflush et al.: Document limitation on MSVC.
10188         * doc/posix-functions/fflush.texi: Document possible crash in handling
10189         mode other than DEFAULT_HANDLING.
10190         * doc/posix-functions/fgetc.texi: Likewise.
10191         * doc/posix-functions/fputc.texi: Likewise.
10192         * doc/posix-functions/fread.texi: Likewise.
10193         * doc/posix-functions/fwrite.texi: Likewise.
10194
10195 2011-09-25  Bruno Haible  <bruno@clisp.org>
10196
10197         msvc-inval: Allow three invalid parameter handling modes.
10198         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10199         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10200         macros.
10201         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10202         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10203         SANE_LIBRARY_HANDLING as a no-op.
10204         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10205         <stdlib.h>.
10206         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10207
10208 2011-09-25  Bruno Haible  <bruno@clisp.org>
10209
10210         msvc-inval: Make handler multithread-safe.
10211         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10212         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10213         declarations.
10214         (gl_msvc_inval_current): New declaration.
10215         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10216         Operate on the structure returned by gl_msvc_inval_current().
10217         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10218         Remove varaiables.
10219         (tls_index, tls_initialized): New variables.
10220         (not_per_thread): New variable.
10221         (gl_msvc_inval_current): New function.
10222         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10223         returned by gl_msvc_inval_current().
10224
10225 2011-09-25  Bruno Haible  <bruno@clisp.org>
10226
10227         msvc-inval: Install handler globally.
10228         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10229         !_MSC_VER.
10230         (gl_msvc_invalid_parameter_handler): Remove declaration.
10231         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10232         declarations.
10233         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10234         Install the handler globally, don't uninstall it.
10235         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10236         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10237         currently valid, call RaiseException instead.
10238         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10239         for !_MSC_VER.
10240
10241 2011-09-25  Bruno Haible  <bruno@clisp.org>
10242
10243         strerror_r-posix: Fix for MSVC 9.
10244         * lib/strerror_r.c (local_snprintf): New function.
10245         (snprintf): Define to local_snprintf, not to _snprintf.
10246
10247 2011-09-25  Bruno Haible  <bruno@clisp.org>
10248
10249         ftruncate: Support for MSVC 9.
10250         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10251         (chsize_nothrow): New function.
10252         (chsize): Redefine as a macro.
10253         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10254         * modules/ftruncate (Depends-on): Add msvc-inval.
10255
10256 2011-09-25  Bruno Haible  <bruno@clisp.org>
10257
10258         New module 'fstat'.
10259         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10260         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10261         * lib/fchdir.c (rpl_fstat): Remove function.
10262         * m4/fstat.m4: New file.
10263         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10264         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10265         declared.
10266         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10267         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10268         * modules/fstat: New file.
10269         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10270         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10271         is set.
10272         * doc/posix-functions/fstat.texi: Mention the new module and the
10273         problem on MSVC.
10274         * NEWS: Mention the change.
10275         * modules/acl (Depends-on): Add fstat.
10276         * modules/chdir-safer (Depends-on): Likewise.
10277         * modules/chown (Depends-on): Likewise.
10278         * modules/copy-file (Depends-on): Likewise.
10279         * modules/fchdir (Depends-on): Likewise.
10280         * modules/fdopendir (Depends-on): Likewise.
10281         * modules/fopen (Depends-on): Likewise.
10282         * modules/fts (Depends-on): Likewise.
10283         * modules/getcwd (Depends-on): Likewise.
10284         * modules/isapipe (Depends-on): Likewise.
10285         * modules/linkat (Depends-on): Likewise.
10286         * modules/lseek (Depends-on): Likewise.
10287         * modules/mkdir-p (Depends-on): Likewise.
10288         * modules/open (Depends-on): Likewise.
10289         * modules/openat (Depends-on): Likewise.
10290         * modules/read-file (Depends-on): Likewise.
10291         * modules/renameat (Depends-on): Likewise.
10292         * modules/utimens (Depends-on): Likewise.
10293
10294 2011-09-25  Bruno Haible  <bruno@clisp.org>
10295
10296         linkat: Fix compilation on MSVC 9.
10297         * lib/linkat.c: Don't include <stdint.h>.
10298
10299 2011-09-25  Bruno Haible  <bruno@clisp.org>
10300
10301         fclose: Support for MSVC 9.
10302         * lib/fclose.c: Include msvc-inval.h.
10303         (fclose_nothrow): New function.
10304         (rpl_fclose): Use it.
10305         * modules/fclose (Depends-on): Add msvc-inval.
10306         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10307
10308 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10309
10310         dup2: minor simplifications
10311         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10312         that it's a performance win.
10313         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10314         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10315
10316 2011-09-24  Jim Meyering  <meyering@redhat.com>
10317
10318         test-futimens: avoid a warning from gcc -Wshadow
10319         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10320         to avoid a shadowing warning.
10321
10322 2011-09-24  Bruno Haible  <bruno@clisp.org>
10323
10324         fdopen: Support for MSVC 9.
10325         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10326         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10327         * lib/fdopen.c: Include msvc-inval.h.
10328         (fdopen_nothrow): New function.
10329         (rpl_fdopen): Use it.
10330         * modules/fdopen (Depends-on): Add msvc-inval.
10331         * modules/fclose-tests (Depends-on): Add fdopen.
10332         * modules/fflush-tests (Depends-on): Likewise.
10333         * modules/fgetc-tests (Depends-on): Likewise.
10334         * modules/fputc-tests (Depends-on): Likewise.
10335         * modules/fread-tests (Depends-on): Likewise.
10336         * modules/freopen-tests (Depends-on): Likewise.
10337         * modules/fseeko-tests (Depends-on): Likewise.
10338         * modules/ftello-tests (Depends-on): Likewise.
10339         * modules/fwrite-tests  (Depends-on): Likewise.
10340         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10341
10342 2011-09-24  Bruno Haible  <bruno@clisp.org>
10343
10344         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10345         * modules/fgetc-tests (Depends-on): Add unistd.
10346         * modules/fputc-tests (Depends-on): Likewise.
10347         * modules/fread-tests (Depends-on): Likewise.
10348         * modules/fwrite-tests (Depends-on): Likewise.
10349
10350 2011-09-24  Bruno Haible  <bruno@clisp.org>
10351
10352         dup: Simplify autoconf test.
10353         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10354         on gl_MSVC_INVAL's result.
10355
10356 2011-09-24  Bruno Haible  <bruno@clisp.org>
10357
10358         Tests for function fwrite().
10359         * modules/fwrite-tests: New file.
10360         * tests/test-fwrite.c: New file.
10361         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10362
10363         Tests for function fread().
10364         * modules/fread-tests: New file.
10365         * tests/test-fread.c: New file.
10366         * modules/stdio-tests (Depends-on): Add fread-tests.
10367
10368         Activate fputc tests.
10369         * modules/stdio-tests (Depends-on): Add fputc-tests.
10370
10371         Enhance fgetc, fputc tests.
10372         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10373         * tests/test-fputc.c (main): Likewise.
10374
10375 2011-09-24  Bruno Haible  <bruno@clisp.org>
10376
10377         write: Support for MSVC 9.
10378         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10379         is not 1.
10380         * lib/write.c (write_nothrow): New function.
10381         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10382         not 1. Use write_nothrow.
10383         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10384         invalid parameter handler.
10385         (gl_PREREQ_WRITE): New macro.
10386         * modules/write (Depends-on): Add msvc-inval.
10387         (configure.ac): Invoke gl_PREREQ_WRITE.
10388         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10389
10390 2011-09-24  Bruno Haible  <bruno@clisp.org>
10391
10392         read: Fix last commit.
10393         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10394
10395 2011-09-24  Bruno Haible  <bruno@clisp.org>
10396
10397         dup2: Fix last commit.
10398         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10399         (rpl_dup2): Disable fcntl workaround on native Windows.
10400
10401         sigprocmask: Make code safer.
10402         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10403         section that changes macro definitions for this compilation unit.
10404
10405 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10406
10407         dup2: clarify by coalescing Windows-specific material
10408         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10409         "msvc-nothrow.h"' to the Windows-specific section, so that the
10410         Emacs source need not contain these include files.
10411         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10412         Windows-specific fixes into this function rather than just the
10413         nothrow fix, as this shortens and clarifies the code.  Always
10414         define as a function, as that's a bit cleaner than having it be
10415         sometimes a function and sometimes a macro.
10416         (rpl_dup2): Move the Windows-specific stuff out of here and into
10417         ms_windows_dup2.  Don't protect the Haiku-related fix with
10418         "#if !defined __linux__", as the same code also works around
10419         a Linux kernel bug, and it doesn't add any system calls on any
10420         platform.  Add comment about FreeBSD 6.1.
10421
10422         sigprocmask: move #include directive
10423         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
10424         Windows-specific section, so that the Emacs source need not
10425         contain msvc-inval.h.
10426
10427 2011-09-23  Bruno Haible  <bruno@clisp.org>
10428
10429         read: Support for MSVC 9.
10430         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10431         is not 1.
10432         * lib/read.c (read_nothrow): New function.
10433         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
10434         read_nothrow.
10435         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
10436         invalid parameter handler.
10437         (gl_PREREQ_READ): New macro.
10438         * modules/read (Depends-on): Add msvc-inval.
10439         (configure.ac): Invoke gl_PREREQ_READ.
10440         * doc/posix-functions/read.texi: Mention the problem on MSVC.
10441
10442 2011-09-23  Bruno Haible  <bruno@clisp.org>
10443
10444         close: Support for MSVC 9.
10445         * lib/close.c: Include <errno.h>, msvc-inval.h.
10446         (close_nothrow): New function.
10447         (rpl_close): Use it.
10448         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
10449         invalid parameter handler.
10450         * modules/close (Depends-on): Add msvc-inval.
10451         * modules/dup2-tests (Depends-on): Add close.
10452         * modules/dup3-tests (Depends-on): Likewise.
10453         * modules/fcntl-tests (Depends-on): Likewise.
10454         * modules/spawn-pipe-tests (Depends-on): Likewise.
10455         * modules/unistd-safer-tests (Depends-on): Likewise.
10456         * doc/posix-functions/close.texi: Mention the problem on MSVC.
10457
10458 2011-09-23  Bruno Haible  <bruno@clisp.org>
10459
10460         New module 'dup'.
10461         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10462         Allow replacement.
10463         * lib/dup.c: New file.
10464         * lib/fchdir.c (rpl_dup): Remove function.
10465         * m4/dup.m4: New file.
10466         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10467         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10468         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10469         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10470         * modules/dup: New file.
10471         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10472         'dup' module is in use.
10473         * modules/fdopendir (Depends-on): Add dup.
10474         * modules/fdutimensat-tests (Depends-on): Likewise.
10475         * modules/fts (Depends-on): Likewise.
10476         * modules/futimens-tests (Depends-on): Likewise.
10477         * modules/posix_spawnp-tests (Depends-on): Likewise.
10478         * modules/unistd-safer-tests (Depends-on): Likewise.
10479         * modules/utimens-tests (Depends-on): Likewise.
10480         * doc/posix-functions/dup.texi: Mention the new module and the problem
10481         on MSVC.
10482
10483 2011-09-23  Bruno Haible  <bruno@clisp.org>
10484
10485         getdtablesize: Support for MSVC 9.
10486         * lib/getdtablesize.c: Include msvc-inval.h.
10487         (_setmaxstdio_nothrow): New function.
10488         (_setmaxstdio): Redefine it.
10489         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10490         * modules/getdtablesize (Depends-on): Add msvc-inval.
10491         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10492
10493 2011-09-23  Bruno Haible  <bruno@clisp.org>
10494
10495         signal-h: Rename from signal.
10496         * modules/signal-h: Renamed from modules/signal.
10497         * modules/pthread_sigmask (Depends-on): Update.
10498         * modules/raise (Depends-on): Likewise.
10499         * modules/sigaction (Depends-on): Likewise.
10500         * modules/sigpipe (Depends-on): Likewise.
10501         * modules/sigprocmask (Depends-on): Likewise.
10502         * modules/sys_select (Depends-on): Likewise.
10503         * modules/signal-h-tests: Renamed from modules/signal-tests.
10504         (Files, Depends-on, Makefile.am): Update.
10505         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10506         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10507         (Files, Makefile.am): Update.
10508         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10509         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10510         * modules/signal: New placeholder file.
10511         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10512         * doc/posix-headers/signal.texi: Update.
10513         * NEWS: Mention the change.
10514
10515 2011-09-23  Bruno Haible  <bruno@clisp.org>
10516
10517         sigprocmask: Avoid crashes through signal() on MSVC 9.
10518         * lib/sigprocmask.c: Include msvc-inval.h.
10519         (signal_nothrow): New function.
10520         (signal): Redefine it.
10521         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10522         * modules/sigprocmask (Depends-on): Add msvc-inval.
10523         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10524
10525 2011-09-23  Bruno Haible  <bruno@clisp.org>
10526
10527         Tests for module 'raise'.
10528         * modules/raise-tests: New file.
10529         * tests/test-raise.c: New file.
10530
10531         raise: Support for MSVC.
10532         * lib/signal.in.h (raise): New declaration.
10533         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10534         for native Windows platforms.
10535         * m4/raise.m4: New file.
10536         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10537         HAVE_RAISE, REPLACE_RAISE.
10538         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10539         REPLACE_RAISE.
10540         * modules/raise (Status, Notice): Remove fields.
10541         (Files): Add m4/raise.m4.
10542         (Depends-on): Add signal, msvc-inval.
10543         (configure.ac): Use the common idioms.
10544         (Maintainer): Add me.
10545         * tests/test-signal-c++.cc: Check the signature of raise.
10546         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10547
10548 2011-09-23  Bruno Haible  <bruno@clisp.org>
10549
10550         pipe2: Fix compilation on pre-C99 compilers.
10551         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10552
10553 2011-09-23  Bruno Haible  <bruno@clisp.org>
10554
10555         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10556         * lib/msvc-nothrow.h: New file.
10557         * lib/msvc-nothrow.c: New file.
10558         * m4/msvc-nothrow.m4: New file.
10559         * modules/msvc-nothrow: New file.
10560         * lib/dup2.c: Include msvc-nothrow.h.
10561         (rpl_dup2): No need to protect _get_osfhandle call here.
10562         * lib/accept4.c: Include msvc-nothrow.h.
10563         * lib/error.c: Likewise.
10564         * lib/fcntl.c: Likewise.
10565         * lib/lseek.c: Likewise.
10566         * lib/nonblocking.c: Likewise.
10567         * lib/poll.c: Likewise.
10568         * lib/read.c: Likewise.
10569         * lib/select.c: Likewise.
10570         * lib/sockets.h: Likewise.
10571         * lib/sockets.c: Likewise.
10572         * lib/stdio-read.c: Likewise.
10573         * lib/stdio-write.c: Likewise.
10574         * lib/write.c: Likewise.
10575         * lib/w32sock.h: Likewise.
10576         * lib/w32spawn.h: Likewise.
10577         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10578         * lib/fsync.c: Likewise.
10579         * lib/isapipe.c: Likewise.
10580         * modules/dup2 (Depends-on): Add msvc-nothrow.
10581         * modules/accept4 (Depends-on): Likewise.
10582         * modules/error (Depends-on): Likewise.
10583         * modules/fcntl (Depends-on): Likewise.
10584         * modules/lseek (Depends-on): Likewise.
10585         * modules/nonblocking (Depends-on): Likewise.
10586         * modules/poll (Depends-on): Likewise.
10587         * modules/read (Depends-on): Likewise.
10588         * modules/select (Depends-on): Likewise.
10589         * modules/sockets (Depends-on): Likewise.
10590         * modules/sigpipe (Depends-on): Likewise.
10591         * modules/write (Depends-on): Likewise.
10592         * modules/accept (Depends-on): Likewise.
10593         * modules/bind (Depends-on): Likewise.
10594         * modules/connect (Depends-on): Likewise.
10595         * modules/gethostname (Depends-on): Likewise.
10596         * modules/getpeername (Depends-on): Likewise.
10597         * modules/getsockname (Depends-on): Likewise.
10598         * modules/getsockopt (Depends-on): Likewise.
10599         * modules/ioctl (Depends-on): Likewise.
10600         * modules/listen (Depends-on): Likewise.
10601         * modules/recv (Depends-on): Likewise.
10602         * modules/recvfrom (Depends-on): Likewise.
10603         * modules/send (Depends-on): Likewise.
10604         * modules/sendto (Depends-on): Likewise.
10605         * modules/setsockopt (Depends-on): Likewise.
10606         * modules/shutdown (Depends-on): Likewise.
10607         * modules/socket (Depends-on): Likewise.
10608         * modules/execute (Depends-on): Likewise.
10609         * modules/spawn-pipe (Depends-on): Likewise.
10610         * modules/flock (Depends-on): Likewise.
10611         * modules/fsync (Depends-on): Likewise.
10612         * modules/isapipe (Depends-on): Likewise.
10613         * tests/test-cloexec.c: Include msvc-nothrow.h.
10614         * tests/test-dup-safer.c: Likewise.
10615         * tests/test-dup2.c: Likewise.
10616         * tests/test-dup3.c: Likewise.
10617         * tests/test-fcntl.c: Likewise.
10618         * tests/test-pipe.c: Likewise.
10619         * tests/test-pipe2.c: Likewise.
10620         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10621         * modules/unistd-safer-tests (Depends-on): Likewise.
10622         * modules/dup2-tests (Depends-on): Likewise.
10623         * modules/dup3-tests (Depends-on): Likewise.
10624         * modules/fcntl-tests (Depends-on): Likewise.
10625         * modules/pipe-posix-tests (Depends-on): Likewise.
10626         * modules/pipe2-tests (Depends-on): Likewise.
10627
10628 2011-09-23  Bruno Haible  <bruno@clisp.org>
10629
10630         dup2: Make code more maintainable.
10631         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10632         (rpl_dup2): Use it.
10633         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10634         * modules/dup2 (configure.ac): Invoke it.
10635         Reported by Paul Eggert.
10636
10637 2011-09-23  Bruno Haible  <bruno@clisp.org>
10638
10639         msvc-inval: Fix compilation error.
10640         * lib/msvc-inval.h: Include <excpt.h>.
10641
10642 2011-09-23  Bruno Haible  <bruno@clisp.org>
10643
10644         mkdir: Tweak for MSVC 9.
10645         * lib/sys_stat.in.h: Update comments.
10646         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10647
10648         Tests for module 'chdir'.
10649         * modules/chdir-tests: New file.
10650         * tests/test-chdir.c: New file.
10651
10652         New module 'chdir'.
10653         * modules/chdir: New file.
10654         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10655         (chdir): New declaration.
10656         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10657         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10658         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10659         * tests/test-unistd-c++.cc: Check signature of chdir.
10660         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10661         * modules/chdir-long (Depends-on): Add chdir.
10662         * modules/fchdir (Depends-on): Likewise.
10663         * modules/rename (Depends-on): Likewise.
10664         * modules/savewd (Depends-on): Likewise.
10665
10666         rmdir: Support for mingw, MSVC 9.
10667         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10668         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10669
10670         getcwd: Tweak for MSVC 9.
10671         * lib/unistd.in.h: Update comments.
10672         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10673
10674 2011-09-22  Bruno Haible  <bruno@clisp.org>
10675
10676         strerror_r-posix: Avoid a link error on MSVC.
10677         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10678         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10679
10680 2011-09-22  Bruno Haible  <bruno@clisp.org>
10681
10682         select: Avoid link errors on MSVC.
10683         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10684         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10685         * modules/pselect (Link): Likewise.
10686         * NEWS: Mention the change.
10687         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10688         test-select-stdin against $(LIB_SELECT).
10689         * modules/pselect-tests (Makefile.am): Link test-pselect against
10690         $(LIB_SELECT).
10691
10692 2011-09-22  Bruno Haible  <bruno@clisp.org>
10693
10694         select: Avoid compilation error on MSVC.
10695         * lib/select.c: Don't include <stdbool.h>.
10696
10697 2011-09-21  Bruno Haible  <bruno@clisp.org>
10698
10699         Consolidate all uses of PATH_MAX in *.m4 files.
10700         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10701         macros.
10702         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10703         and gl_PATHMAX_SNIPPET.
10704         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10705         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10706         * modules/chdir-long (Files): Add m4/pathmax.m4.
10707         * modules/getcwd (Files): Likewise.
10708
10709 2011-09-21  Bruno Haible  <bruno@clisp.org>
10710
10711         ftruncate: Un-deprecate, concentrate on Win32 support.
10712         * modules/ftruncate (Status, Notice): Remove sections.
10713         (Depends-on): Add largefile.
10714         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10715         non-mingw platforms.
10716         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10717         include <io.h>.
10718         * modules/perror-tests (Depends-on): Add ftruncate.
10719         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10720         'ftruncate' module.
10721
10722 2011-09-21  Bruno Haible  <bruno@clisp.org>
10723
10724         Add dependencies to new dirent related modules.
10725         * modules/opendir (Depends-on): Add closedir.
10726         * modules/getcwd (Depends-on): Add opendir, closedir.
10727         * modules/dirent-safer-tests (Depends-on): Likewise.
10728         * modules/fdopendir-tests (Depends-on): Likewise.
10729         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10730         * modules/renameat-tests (Depends-on): Likewise.
10731
10732 2011-09-21  Bruno Haible  <bruno@clisp.org>
10733
10734         opendir: Avoid compilation error on mingw.
10735         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10736         * modules/opendir (Depends-on): Add unistd.
10737
10738 2011-09-21  Bruno Haible  <bruno@clisp.org>
10739
10740         ftruncate tests: Avoid a test failure on mingw.
10741         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10742
10743 2011-09-21  Bruno Haible  <bruno@clisp.org>
10744
10745         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10746         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10747         native Windows.
10748
10749 2011-09-21  Bruno Haible  <bruno@clisp.org>
10750
10751         New module 'fdopen'.
10752         * lib/stdio.in.h (fdopen): New declaration.
10753         * lib/fdopen.c: New file.
10754         * m4/fdopen.m4: New file.
10755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10756         REPLACE_FDOPEN.
10757         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10758         REPLACE_FDOPEN.
10759         * modules/fdopen: New file.
10760         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10761         * tests/test-stdio-c++.cc: Check signature of fdopen.
10762         * doc/posix-functions/fdopen.texi: Mention the new module.
10763
10764 2011-09-21  Bruno Haible  <bruno@clisp.org>
10765
10766         unlockpt tests: Avoid test failure on NetBSD 5.1.
10767         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10768         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10769
10770 2011-09-21  Bruno Haible  <bruno@clisp.org>
10771
10772         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10773         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10774         * tests/test-getlogin_r.c (main): Likewise.
10775
10776 2011-09-20  Bruno Haible  <bruno@clisp.org>
10777
10778         time tests: Don't require pid_t.
10779         * doc/posix-headers/time.texi: Revert last change.
10780         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10781         * tests/test-time.c: Comment out the check for pid_t.
10782
10783 2011-09-20  Bruno Haible  <bruno@clisp.org>
10784
10785         fsync tests: Avoid a test failure on mingw.
10786         * tests/test-fsync.c (main): Allow a failure with EIO.
10787
10788 2011-09-20  Bruno Haible  <bruno@clisp.org>
10789
10790         euidaccess: Update comments.
10791         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10792
10793 2011-09-20  Bruno Haible  <bruno@clisp.org>
10794
10795         Ensure EBADF returns for socket functions on mingw.
10796         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10797         descriptor is invalid.
10798         * lib/bind.c (rpl_bind): Likewise.
10799         * lib/connect.c (rpl_connect): Likewise.
10800         * lib/getpeername.c (rpl_getpeername): Likewise.
10801         * lib/getsockname.c (rpl_getsockname): Likewise.
10802         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10803         * lib/listen.c (rpl_listen): Likewise.
10804         * lib/recv.c (rpl_recv): Likewise.
10805         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10806         * lib/send.c (rpl_send): Likewise.
10807         * lib/sendto.c (rpl_sendto): Likewise.
10808         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10809         * lib/shutdown.c (rpl_shutdown): Likewise.
10810
10811 2011-09-20  Bruno Haible  <bruno@clisp.org>
10812
10813         select tests: EBADF tests.
10814         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10815         test_bad_fd): New functions.
10816         (test_function): Invoke also test_bad_fd.
10817
10818 2011-09-20  Bruno Haible  <bruno@clisp.org>
10819
10820         Tests for module 'posix_spawn_file_actions_addopen.
10821         * modules/posix_spawn_file_actions_addopen-tests: New file.
10822         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10823
10824         Tests for module 'posix_spawn_file_actions_adddup2'.
10825         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10826         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10827
10828         Tests for module 'posix_spawn_file_actions_addclose'.
10829         * modules/posix_spawn_file_actions_addclose-tests: New file.
10830         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10831
10832 2011-09-20  Bruno Haible  <bruno@clisp.org>
10833
10834         Tests for module 'unlockpt'.
10835         * modules/unlockpt-tests: New file.
10836         * tests/test-unlockpt.c: New file.
10837         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10838
10839         Tests for module 'grantpt'.
10840         * modules/grantpt-tests: New file.
10841         * tests/test-grantpt.c: New file.
10842         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10843
10844 2011-09-20  Bruno Haible  <bruno@clisp.org>
10845
10846         freopen tests: EBADF tests.
10847         * tests/test-freopen.c: Include errno.h, unistd.h.
10848         (main): Add tests for EBADF, commented out for the moment.
10849
10850         fclose tests: EBADF tests.
10851         * tests/test-fclose.c (main): Add tests for EBADF.
10852
10853         fflush tests: EBADF tests.
10854         * tests/test-fflush.c: Include errno.h, macros.h.
10855         (main): Add tests for EBADF.
10856
10857         ftello tests: EBADF tests.
10858         * tests/test-ftello4.sh: New file.
10859         * tests/test-ftello4.c: New file.
10860         * modules/ftello-tests (Files): Add them.
10861         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10862
10863         fseeko tests: EBADF tests.
10864         * tests/test-fseeko4.sh: New file.
10865         * tests/test-fseeko4.c: New file.
10866         * modules/fseeko-tests (Files): Add them.
10867         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10868
10869         Tests for function fputc().
10870         * modules/fputc-tests: New file.
10871         * tests/test-fputc.c: New file.
10872         * modules/stdio-tests (Depends-on): Add fputc-tests.
10873
10874         Tests for function fgetc().
10875         * modules/fgetc-tests: New file.
10876         * tests/test-fgetc.c: New file.
10877         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10878
10879         Tests for function fdopen().
10880         * modules/fdopen-tests: New file.
10881         * tests/test-fdopen.c: New file.
10882         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10883
10884         Tests for module 'vdprintf'.
10885         * modules/vdprintf-tests: New file.
10886         * tests/test-vdprintf.c: New file.
10887
10888         Tests for module 'dprintf'.
10889         * modules/dprintf-tests: New file.
10890         * tests/test-dprintf.c: New file.
10891
10892 2011-09-20  Bruno Haible  <bruno@clisp.org>
10893
10894         Tests for module 'ioctl'.
10895         * modules/ioctl-tests: New file.
10896         * tests/test-ioctl.c: New file.
10897
10898 2011-09-20  Bruno Haible  <bruno@clisp.org>
10899
10900         fcntl tests: EBADF tests.
10901         * tests/test-fcntl.c (main): Add more tests for EBADF.
10902
10903 2011-09-20  Bruno Haible  <bruno@clisp.org>
10904
10905         utimensat tests: EBADF tests.
10906         * tests/test-utimensat.c (main): Add tests for EBADF.
10907
10908         renameat tests: EBADF tests.
10909         * tests/test-renameat.c (main): Add tests for EBADF.
10910
10911         mkfifoat tests: EBADF tests.
10912         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10913
10914         readlinkat tests: EBADF tests.
10915         * tests/test-readlinkat.c (main): Add tests for EBADF.
10916
10917         symlinkat tests: EBADF tests.
10918         * tests/test-symlinkat.c (main): Add tests for EBADF.
10919
10920         linkat tests: EBADF tests.
10921         * tests/test-linkat.c (main): Add tests for EBADF.
10922
10923         Tests for module 'faccessat'.
10924         * modules/faccessat-tests: New file.
10925         * tests/test-faccessat.c: New file.
10926
10927         fdopendir tests: EBADF tests.
10928         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10929
10930         openat tests: EBADF tests.
10931         * tests/test-fchownat.c (main): Add tests for EBADF.
10932         * tests/test-fstatat.c (main): Likewise.
10933         * tests/test-mkdirat.c (main): Likewise.
10934         * tests/test-openat.c (main): Likewise.
10935         * tests/test-unlinkat.c (main): Likewise.
10936         * tests/test-fchmodat.c: New file.
10937         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10938         (Makefile.am): Also run 'test-fchmodat'.
10939
10940 2011-09-20  Bruno Haible  <bruno@clisp.org>
10941
10942         utimens, futimens, fdutimensat tests: EBADF tests.
10943         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10944
10945         Tests for function fstat().
10946         * modules/fstat-tests: New file.
10947         * tests/test-fstat.c: New file.
10948         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10949
10950 2011-09-20  Bruno Haible  <bruno@clisp.org>
10951
10952         test-ttyname_r tests: EBADF tests.
10953         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10954
10955         Tests for module 'isatty'.
10956         * modules/isatty-tests: New file.
10957         * tests/test-isatty.c: New file.
10958
10959         Tests for module 'write'.
10960         * modules/write-tests: New file.
10961         * tests/test-write.c: New file.
10962
10963         Tests for module 'read'.
10964         * modules/read-tests: New file.
10965         * tests/test-read.c: New file.
10966
10967         pwrite tests: EBADF tests.
10968         * tests/test-pwrite.c (main): Add tests for EBADF.
10969
10970         pread tests: EBADF tests.
10971         * tests/test-pread.c (main): Add tests for EBADF.
10972
10973         lseek tests: EBADF tests.
10974         * tests/test-lseek.c (main): Add more tests for EBADF.
10975
10976         Tests for module 'ftruncate'.
10977         * modules/ftruncate-tests: New file.
10978         * tests/test-ftruncate.sh: New file.
10979         * tests/test-ftruncate.c: New file.
10980
10981         fsync tests: EBADF tests.
10982         * tests/test-fsync.c (main): Add more tests for EBADF.
10983
10984         fdatasync tests: EBADF tests.
10985         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10986
10987         Tests for module 'fchown'.
10988         * modules/fchown-tests: New file.
10989         * tests/test-fchown.c: New file.
10990
10991         Tests for module 'fchmod'.
10992         * modules/fchmod-tests: New file.
10993         * tests/test-fchmod.c: New file.
10994
10995         fchdir tests: EBADF tests.
10996         * tests/test-fchdir.c (main): Add more tests for EBADF.
10997
10998         dup2 tests: EBADF tests.
10999         * tests/test-dup2.c (main): Add more tests for EBADF.
11000
11001         Tests for module 'dup'.
11002         * modules/dup-tests: New file.
11003         * tests/test-dup.c: New file.
11004
11005         Tests for module 'close'.
11006         * modules/close-tests: New file.
11007         * tests/test-close.c: New file.
11008
11009 2011-09-20  Bruno Haible  <bruno@clisp.org>
11010
11011         Tests for module 'shutdown'.
11012         * modules/shutdown-tests: New file.
11013         * tests/test-shutdown.c: New file.
11014
11015         Tests for module 'setsockopt'.
11016         * modules/setsockopt-tests: New file.
11017         * tests/test-setsockopt.c: New file.
11018
11019         Tests for module 'sendto'.
11020         * modules/sendto-tests: New file.
11021         * tests/test-sendto.c: New file.
11022
11023         Tests for module 'send'.
11024         * modules/send-tests: New file.
11025         * tests/test-send.c: New file.
11026
11027         Tests for module 'recvfrom'.
11028         * modules/recvfrom-tests: New file.
11029         * tests/test-recvfrom.c: New file.
11030
11031         Tests for module 'recv'.
11032         * modules/recv-tests: New file.
11033         * tests/test-recv.c: New file.
11034
11035         Tests for module 'listen'.
11036         * modules/listen-tests: New file.
11037         * tests/test-listen.c: New file.
11038
11039         Tests for module 'getsockopt'.
11040         * modules/getsockopt-tests: New file.
11041         * tests/test-getsockopt.c: New file.
11042
11043         Tests for module 'getsockname'.
11044         * modules/getsockname-tests: New file.
11045         * tests/test-getsockname.c: New file.
11046
11047         Tests for module 'getpeername'.
11048         * modules/getpeername-tests: New file.
11049         * tests/test-getpeername.c: New file.
11050
11051         Tests for module 'connect'.
11052         * modules/connect-tests: New file.
11053         * tests/test-connect.c: New file.
11054
11055         Tests for module 'bind'.
11056         * modules/bind-tests: New file.
11057         * tests/test-bind.c: New file.
11058
11059         accept4 tests: Fix for native Windows.
11060         * tests/test-accept4.c: Include sockets.h.
11061         (main): Invoke gl_sockets_startup.
11062         * modules/accept4-tests (Depends-on): Add sockets.
11063
11064         accept tests: Fix for native Windows.
11065         * tests/test-accept.c: Include sockets.h.
11066         (main): Invoke gl_sockets_startup.
11067         * modules/accept-tests (Depends-on): Add sockets.
11068
11069 2011-09-19  Bruno Haible  <bruno@clisp.org>
11070
11071         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
11072         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
11073         do...while(0).
11074         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
11075         Suggested by Paul Eggert.
11076
11077 2011-09-19  Bruno Haible  <bruno@clisp.org>
11078
11079         sched: Ensure pid_t is defined.
11080         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
11081         not define pid_t.
11082         * lib/sched.in.h: Include <sys/types.h>.
11083         * doc/posix-headers/sched.texi: Mention the pid_t problem.
11084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11085
11086 2011-09-19  Bruno Haible  <bruno@clisp.org>
11087
11088         msvc-inval: Ensure the entire expansion is a single statement.
11089         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
11090         of braces.
11091
11092 2011-09-19  Jim Meyering  <meyering@redhat.com>
11093
11094         tests: use printf, not echo in init.sh's warn_ function
11095         * tests/init.sh (warn_): Use printf, not echo.  The latter would
11096         misbehave when given strings containing a backslash or starting
11097         with e.g., -n.  James Youngman suggested setting IFS.
11098
11099 2011-09-19  Eric Blake  <eblake@redhat.com>
11100
11101         futimens: enhance test
11102         * tests/test-futimens.h (test_futimens): Also check for EBADF on
11103         closed non-negative fd.
11104
11105         date: accept 'hence' as opposite of 'ago'
11106         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
11107         * tests/test-parse-datetime.c (main): Enhance test.
11108         Suggested by Jesse Wilson.
11109
11110 2011-09-19  Jim Meyering  <meyering@redhat.com>
11111
11112         getcwd: don't fail in a deep directory on a system without openat
11113         Before this change, getcwd would fail when called from a directory
11114         of depth PATH_MAX / 3 or greater.  That was due to the fact that
11115         the non-openat implementation used "..", "../..", "../../..", etc.
11116         to access ancestor directories.  With too many, that string would
11117         be longer than PATH_MAX.
11118         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
11119         using gnulib's openat replacement.
11120         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
11121         we're using the replacement function.
11122
11123 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
11124
11125         maint.mk: avoid warnings from perl about missing files
11126         * top/maint.mk (def_sym_regex): Ignore files listed in
11127         $(gl_other_headers_) that do not exist, say because a project
11128         does not use a corresponding module.
11129
11130 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11131
11132         stat: use pathmax.h only if needed
11133         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11134         This is better for Emacs, which does not have a mingw port and
11135         therefore can avoid the pathmax module.
11136
11137         utimens: remove dependency on dup2
11138         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11139         to work around the Linux kernel bug.
11140         * modules/utimens (Depends-on): Remove dup2.
11141
11142 2011-09-18  Bruno Haible  <bruno@clisp.org>
11143
11144         inet_ntop, inet_pton: Look for it also in libresolv.
11145         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11146         libnsl, search for it in libresolv.
11147         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11148         Needed on Solaris 7.
11149
11150 2011-09-18  Bruno Haible  <bruno@clisp.org>
11151
11152         accept, accept4 tests: Avoid link error on Solaris.
11153         * modules/accept-tests (Makefile.am): Link test-accept against
11154         $(LIBSOCKET).
11155         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11156         $(LIBSOCKET).
11157
11158         accept4: Avoid link error on Solaris.
11159         * modules/accept4 (Link): New section.
11160
11161         socket functions: Avoid link errors on Solaris.
11162         * modules/accept (Depends-on): Add socketlib.
11163         (Link): New section.
11164         * modules/bind (Depends-on): Add socketlib.
11165         (Link): New section.
11166         * modules/connect (Depends-on): Add socketlib.
11167         (Link): New section.
11168         * modules/getpeername (Depends-on): Add socketlib.
11169         (Link): New section.
11170         * modules/getsockname (Depends-on): Add socketlib.
11171         (Link): New section.
11172         * modules/getsockopt (Depends-on): Add socketlib.
11173         (Link): New section.
11174         * modules/listen (Depends-on): Add socketlib.
11175         (Link): New section.
11176         * modules/recv (Depends-on): Add socketlib.
11177         (Link): New section.
11178         * modules/recvfrom (Depends-on): Add socketlib.
11179         (Link): New section.
11180         * modules/send (Depends-on): Add socketlib.
11181         (Link): New section.
11182         * modules/sendto (Depends-on): Add socketlib.
11183         (Link): New section.
11184         * modules/setsockopt (Depends-on): Add socketlib.
11185         (Link): New section.
11186         * modules/shutdown (Depends-on): Add socketlib.
11187         (Link): New section.
11188         * modules/socket (Depends-on): Add socketlib.
11189         (Link): New section.
11190
11191 2011-09-18  Bruno Haible  <bruno@clisp.org>
11192
11193         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11194         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11195         than 5 seconds.
11196         * modules/ptsname-tests (configure.ac): Test for alarm.
11197
11198 2011-09-18  Bruno Haible  <bruno@clisp.org>
11199
11200         posix_spawn_file_actions_add*: Fix module dependencies.
11201         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11202         posix_spawn_file_actions_init.
11203         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11204         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11205
11206 2011-09-18  Bruno Haible  <bruno@clisp.org>
11207
11208         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11209         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11210         * tests/test-renameat.c (main): Likewise.
11211
11212 2011-09-18  Bruno Haible  <bruno@clisp.org>
11213
11214         Tests for module 'accept4'.
11215         * modules/accept4-tests: New file.
11216         * tests/test-accept4.c: New file.
11217
11218 2011-09-18  Bruno Haible  <bruno@clisp.org>
11219
11220         Tests for module 'accept'.
11221         * modules/accept-tests: New file.
11222         * tests/test-accept.c: New file.
11223
11224 2011-09-18  Bruno Haible  <bruno@clisp.org>
11225
11226         dup2: Support for MSVC.
11227         * lib/dup2.c: Include msvc-inval.h.
11228         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11229         _get_osfhandle calls.
11230         * modules/dup2 (Depends-on): Add msvc-inval.
11231         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11232
11233         New module 'msvc-inval'.
11234         * lib/msvc-inval.h: New file.
11235         * lib/msvc-inval.c: New file.
11236         * m4/msvc-inval.m4: New file.
11237         * modules/msvc-inval: New file.
11238
11239 2011-09-17  Bruno Haible  <bruno@clisp.org>
11240
11241         Tests for module 'pclose'.
11242         * modules/pclose-tests: New file.
11243
11244         New module 'pclose'.
11245         * lib/stdio.in.h (pclose): New declaration.
11246         * lib/pclose.c: New file.
11247         * m4/pclose.m4: New file.
11248         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11249         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11250         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11251         * modules/pclose: New file.
11252         * modules/popen-tests (Depends-on): Add pclose.
11253         * modules/popen-safer-tests (Depends-on): Likewise.
11254         * doc/posix-functions/pclose.texi: Mention the new module.
11255
11256 2011-09-17  Bruno Haible  <bruno@clisp.org>
11257
11258         popen: Support for MSVC.
11259         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11260         * lib/popen.c (popen): Provide alternate definition for native Windows.
11261         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11263         * modules/popen (Depends-on, configure.ac): Update condition.
11264         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11265         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11266         fixed.
11267
11268 2011-09-17  Bruno Haible  <bruno@clisp.org>
11269
11270         isnanl, isnand, isnanf: Work around MSVC bug.
11271         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11272
11273 2011-09-17  Bruno Haible  <bruno@clisp.org>
11274
11275         sys_socket tests: Fix recent mistake.
11276         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11277
11278 2011-09-17  Bruno Haible  <bruno@clisp.org>
11279
11280         putenv: Support for MSVC.
11281         * modules/putenv (Depends-on): Add environ.
11282         * lib/putenv.c (environ): Disable declaration.
11283         * lib/unistd.in.h: Update comment.
11284
11285 2011-09-17  Bruno Haible  <bruno@clisp.org>
11286
11287         math: Avoid macro redefinition warnings on MSVC.
11288         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11289         Undefine before redefining.
11290
11291 2011-09-17  Bruno Haible  <bruno@clisp.org>
11292
11293         doc: Mention functions which are declared as macros.
11294         * doc/posix-functions/*[fl].texi: Mention that some functions are
11295         defined as macros with arguments only.
11296
11297 2011-09-17  Bruno Haible  <bruno@clisp.org>
11298
11299         Add dependencies to new dirent related modules.
11300         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11301         * modules/fts (Depends-on): Likewise.
11302         * modules/glob (Depends-on): Likewise.
11303         * modules/savedir (Depends-on): Likewise.
11304         * modules/scandir (Depends-on): Likewise.
11305         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11306         * modules/fdopendir (Depends-on): Add opendir.
11307
11308 2011-09-17  Bruno Haible  <bruno@clisp.org>
11309
11310         inet_pton: Support for MSVC on Windows Vista or newer.
11311         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11312         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11313         HAVE_DECL_INET_PTON is defined.
11314         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11315         On platforms with <winsock2.h>, test whether inet_pton is declared in
11316         <ws2tcpip.h>. If so, arrange to replace it.
11317         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11318         REPLACE_INET_PTON.
11319         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11320         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11321         (Depends-on, configure.ac): Update condition.
11322         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11323
11324 2011-09-17  Bruno Haible  <bruno@clisp.org>
11325
11326         inet_ntop: Support for MSVC on Windows Vista or newer.
11327         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11328         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11329         HAVE_DECL_INET_NTOP is defined.
11330         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11331         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11332         <ws2tcpip.h>. If so, arrange to replace it.
11333         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11334         REPLACE_INET_NTOP.
11335         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11336         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11337         (Depends-on, configure.ac): Update condition.
11338         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11339
11340 2011-09-16  Eric Blake  <eblake@redhat.com>
11341
11342         test-fsync: yet another enhancement
11343         * tests/test-fsync.c (main): Also test behavior on read-only text
11344         file.
11345
11346 2011-09-16  Bruno Haible  <bruno@clisp.org>
11347
11348         Enhance fsync, fdatasync tests.
11349         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11350         * tests/test-fdatasync.c (main): Likewise.
11351
11352 2011-09-16  Bruno Haible  <bruno@clisp.org>
11353
11354         Support for MSVC compiler: Ensure mode_t gets defined.
11355         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11356         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11357         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11358         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11359         * tests/test-fcntl-h.c: Check that mode_t is defined.
11360         * tests/test-sys_stat.c: Likewise.
11361         * tests/test-sys_types.c: Likewise.
11362         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11363         * doc/posix-headers/sys_stat.texi: Likewise.
11364         * doc/posix-headers/sys_types.texi: Likewise.
11365
11366 2011-09-16  Bruno Haible  <bruno@clisp.org>
11367
11368         sys_stat: Support for MSVC.
11369         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11370         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11371         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11372         MSVC.
11373
11374 2011-09-16  Bruno Haible  <bruno@clisp.org>
11375
11376         Support for MSVC compiler: Ensure off_t gets defined.
11377         * lib/unistd.in.h: Include <sys/types.h>.
11378         * tests/test-fcntl-h.c: Check that off_t is defined.
11379         * tests/test-sys_stat.c: Likewise.
11380         * tests/test-sys_types.c: Likewise.
11381
11382 2011-09-16  Eric Blake  <eblake@redhat.com>
11383
11384         fdatasync: port to Solaris
11385         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11386         * modules/fdatasync (Link): Document it.
11387         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11388
11389         fdatasync: port to MacOS X 10.7
11390         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11391         declared.
11392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11393         * modules/unistd (Makefile.am): Substitute it.
11394         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11395         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11396
11397         fdatasync: minor improvements
11398         * modules/fdatasync (Depends-on): Add condition for fsync.
11399         * lib/fdatasync.c (fdatasync): Add comment.
11400         * tests/test-unistd-c++.cc: Test fdatasync.
11401
11402         unistd: update refs to newer POSIX
11403         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11404         Suggested by Bruno Haible.
11405
11406         fdatasync: new module
11407         * modules/fsync (Description): Document difference to fdatasync.
11408         * modules/fdatasync: New module.
11409         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11410         * lib/fdatasync.c (fdatasync): Likewise.
11411         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11412         defaults.
11413         * modules/unistd (Makefile.am): Set witnesses.
11414         * lib/unistd.in.h (fdatasync): Declare.
11415         * MODULES.html.sh: Document it.
11416         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11417         * modules/fdatasync-tests: New test.
11418         * tests/test-fdatasync.c: Likewise.
11419
11420 2011-09-16  Eric Blake  <eblake@redhat.com>
11421
11422         test-fsync: enhance tests
11423         * modules/fsync-tests (Depends-on): Add errno, for mingw.
11424         * tests/test-fsync.c (main): Enhance test.
11425
11426 2011-09-15  Bruno Haible  <bruno@clisp.org>
11427
11428         Support for MSVC compiler: Ensure ssize_t gets defined.
11429         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
11430         * doc/posix-headers/stdio.texi: Likewise.
11431         * modules/stdio (Depends-on): Add ssize_t.
11432         * modules/sys_socket (Depends-on): Likewise.
11433         * modules/sys_types (Depends-on): Likewise.
11434         * modules/sys_uio (Depends-on): Likewise.
11435         * modules/unistd (Depends-on): Likewise.
11436         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
11437         * tests/test-sys_types.c: Check that ssize_t is defined.
11438
11439 2011-09-14  Bruno Haible  <bruno@clisp.org>
11440
11441         Avoid using #, the m4 comment starter character, near brackets.
11442         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
11443         delimiter character in sed expressions.
11444         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11445         Suggested by Eric Blake.
11446
11447         Properly quote AC_CHECK_DECLS' 4th argument.
11448         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
11449         argument.
11450         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11451         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11452         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11453         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11454         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11455         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
11456         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
11457         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11458         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11459         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11460         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11461         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11462         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11463         * m4/isinf.m4 (gl_ISINF): Likewise.
11464         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11465         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11466         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11467         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11468         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11469         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11470         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11471         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11472         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11473         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11474         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11475         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11476         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11477         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11478         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11479         Reported by Eric Blake.
11480
11481         Properly quote AC_CHECK_DECL's 4th argument.
11482         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11483         argument.
11484         * m4/argp.m4 (gl_ARGP): Likewise.
11485         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11486         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11487         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11488         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11489         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11490         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11491         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11492         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11493         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11494         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11495         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11496         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11497         Reported by Eric Blake.
11498
11499 2011-09-14  Eric Blake  <eblake@redhat.com>
11500
11501         opendir: avoid compile warning
11502         * lib/opendir.c (includes): Always include errno.h.
11503         Reported by Tatsuro MATSUOKA.
11504
11505 2011-09-14  Jim Meyering  <meyering@redhat.com>
11506
11507         maint.mk: sc_tight_scope: propagate failure from sub-make
11508         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11509         Reported by Martin von Gagern.
11510
11511 2011-09-13  Bruno Haible  <bruno@clisp.org>
11512
11513         tempname: Support for MSVC.
11514         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11515         MSVC.
11516         * modules/tempname (Depends-on): Add fcntl-h.
11517
11518 2011-09-13  Bruno Haible  <bruno@clisp.org>
11519
11520         sys_time: Support for MSVC.
11521         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11522         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11523         include <winsock2.h>.
11524         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11525         function declarations that collide with POSIX.
11526         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11527         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11528
11529 2011-09-13  Bruno Haible  <bruno@clisp.org>
11530
11531         stat: Support for MSVC.
11532         * lib/stat.c: Include pathmax.h.
11533         * modules/stat (Depends-on): Add pathmax.
11534
11535         pathmax: Support for native Windows.
11536         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11537
11538 2011-09-12  Bruno Haible  <bruno@clisp.org>
11539
11540         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11541         * lib/dirent.in.h (struct dirent): New type.
11542         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11543         DT_WHT): New macros.
11544         (DIR): New type.
11545         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11546         (readdir, rewinddir): New declarations.
11547         * lib/dirent-private.h: New file.
11548         * lib/opendir.c: New file.
11549         * lib/readdir.c: New file.
11550         * lib/rewinddir.c: New file.
11551         * lib/closedir.c: New file.
11552         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11553         * m4/opendir.m4: New file.
11554         * m4/readdir.m4: New file.
11555         * m4/rewinddir.m4: New file.
11556         * m4/closedir.m4: New file.
11557         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11558         REPLACE_CLOSEDIR here.
11559         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11560         readdir, rewinddir are declared.
11561         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11562         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11563         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11564         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11565         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11566         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11567         * modules/opendir: New file.
11568         * modules/readdir: New file.
11569         * modules/rewinddir: New file.
11570         * modules/closedir: New file.
11571         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11572         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11573         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11574         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11575         * NEWS: Mention the 'fchdir' change.
11576
11577 2011-09-11  Bruno Haible  <bruno@clisp.org>
11578
11579         asm-underscore.m4: Support for MSVC.
11580         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11581         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11582
11583 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11584
11585         Doc about crypt functions.
11586         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11587         needing for _GNU_SOURCE to get crypt.
11588         * doc/posix-functions/encrypt.texi: Likewise.
11589         * doc/posix-functions/setkey.texi: Likewise.
11590
11591 2011-09-11  Bruno Haible  <bruno@clisp.org>
11592
11593         doc: Update regarding MSVC 9.
11594         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11595         tested".
11596         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11597         * doc/posix-headers/*.texi: Likewise.
11598         * doc/pastposix-functions/*.texi: Likewise.
11599         * doc/glibc-functions/*.texi: Likewise.
11600         * doc/glibc-headers/*.texi: Likewise.
11601
11602 2011-09-11  Bruno Haible  <bruno@clisp.org>
11603
11604         unistd et al.: Don't assume <unistd.h> exists.
11605         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11606         does not exist.
11607         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11608         exist. But include <stdlib.h>.
11609         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11610         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11611         symlink() does not exist.
11612         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11613         include <io.h> instead.
11614         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11615         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11616         include <direct.h> instead.
11617         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11618         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11619         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11620         <io.h> instead.
11621         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11622         correctly if the system does not have hard links.
11623         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11624         <direct.h> instead.
11625         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11626         it when looking for function declarations.
11627         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11628         <direct.h> and <io.h> instead.
11629         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11630
11631 2011-09-11  Bruno Haible  <bruno@clisp.org>
11632
11633         strcase: Support for MSVC.
11634         * modules/strcase (Status, Notice): Remove obsoletion mark.
11635         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11636         * doc/posix-functions/strncasecmp.texi: Likewise.
11637
11638         strings: Don't assume <strings.h> exists.
11639         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11640         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11641         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11642         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11643
11644 2011-09-11  Bruno Haible  <bruno@clisp.org>
11645
11646         dirent: Don't assume <dirent.h> exists.
11647         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11648         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11649         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11650         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11651
11652 2011-09-11  Bruno Haible  <bruno@clisp.org>
11653
11654         Fix wint_t on MSVC.
11655         * lib/wchar.in.h (wint_t): On MSVC, override it.
11656         * lib/wctype.in.h (wint_t): Likewise.
11657         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11658         MSVC.
11659         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11660         * doc/posix-headers/wctype.texi: Likewise.
11661
11662 2011-09-11  Bruno Haible  <bruno@clisp.org>
11663
11664         sys_types: Fix typo.
11665         * lib/sys_types.in.h: Fix typo in comment.
11666         Reported by Paul Eggert.
11667
11668         Support for MSVC compiler: Ensure size_t gets defined.
11669         * modules/strings (Depends-on): Add 'sys_types'.
11670         * modules/sys_uio (Depends-on): Likewise.
11671         * lib/sys_uio.in.h: Update comment.
11672
11673         C++ tests for module 'sys_types'.
11674         * modules/sys_types-c++-tests: New file.
11675         * tests/test-sys_types-c++.cc: New file.
11676
11677         Tests for module 'sys_types'.
11678         * modules/sys_types-tests: New file.
11679         * tests/test-sys_types.c: New file.
11680
11681         New module 'sys_types'.
11682         * lib/sys_types.in.h: New file.
11683         * m4/sys_types_h.m4: New file.
11684         * modules/sys_types: New file.
11685         * doc/posix-headers/sys_types.texi: Mention the new module and the
11686         size_t problem on MSVC 9.
11687
11688 2011-09-11  Bruno Haible  <bruno@clisp.org>
11689
11690         Support for MSVC compiler: Avoid division by a literal 0.
11691         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11692         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11693         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11694         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11695         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11696         * tests/infinity.h: New file.
11697         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11698         on MSVC.
11699         * tests/test-ceilf1.c: Include infinity.h.
11700         (main): Use Infinityf.
11701         * tests/test-ceil1.c: Include infinity.h.
11702         (main): Use Infinityd.
11703         * tests/test-ceill.c: Include infinity.h.
11704         (main): Use Infinityl.
11705         * tests/test-dprintf-posix.c: Include infinity.h.
11706         (test_function): Use Infinityd.
11707         * tests/test-floorf1.c: Include infinity.h.
11708         (main): Use Infinityf.
11709         * tests/test-floor1.c: Include infinity.h.
11710         (main): Use Infinityd.
11711         * tests/test-floorl.c: Include infinity.h.
11712         (main): Use Infinityl.
11713         * tests/test-fprintf-posix.c: Include infinity.h.
11714         (test_function): Use Infinityd.
11715         * tests/test-frexp.c: Include infinity.h.
11716         (main): Use Infinityd.
11717         * tests/test-frexpl.c: Include infinity.h.
11718         (main): Use Infinityl.
11719         * tests/test-isfinite.c: Include infinity.h.
11720         (test_isfinitef): Use Infinityf.
11721         (test_isfinited): Use Infinityd.
11722         (test_isfinitel): Use Infinityl.
11723         * tests/test-isinf.c: Include infinity.h.
11724         (test_isinff): Use Infinityf.
11725         (test_isinfd): Use Infinityd.
11726         (test_isinfl): Use Infinityl.
11727         * tests/test-isnan.c: Include infinity.h.
11728         (test_float): Use Infinityf.
11729         (test_double): Use Infinityd.
11730         (test_long_double): Use Infinityl.
11731         * tests/test-isnanf.h: Include infinity.h.
11732         (main): Use Infinityf.
11733         * tests/test-isnand.h: Include infinity.h.
11734         (main): Use Infinityd.
11735         * tests/test-isnanl.h: Include infinity.h.
11736         (main): Use Infinityl.
11737         * tests/test-ldexpl.c: Include infinity.h.
11738         (main): Use Infinityl.
11739         * tests/test-printf-posix.h: Include infinity.h.
11740         (test_function): Use Infinityd.
11741         * tests/test-roundf1.c: Include infinity.h.
11742         (main): Use Infinityf.
11743         * tests/test-round1.c: Include infinity.h.
11744         (main): Use Infinityd.
11745         * tests/test-roundl.c: Include infinity.h.
11746         (main): Use Infinityl.
11747         * tests/test-signbit.c: Include infinity.h.
11748         (test_signbitf): Use Infinityf.
11749         (test_signbitd): Use Infinityd.
11750         (test_signbitl): Use Infinityl.
11751         * tests/test-snprintf-posix.h: Include infinity.h.
11752         (test_function): Use Infinityd, Infinityl.
11753         * tests/test-sprintf-posix.h: Include infinity.h.
11754         (test_function): Use Infinityd, Infinityl.
11755         * tests/test-truncf1.c: Include infinity.h.
11756         (main): Use Infinityf.
11757         * tests/test-trunc1.c: Include infinity.h.
11758         (main): Use Infinityd.
11759         * tests/test-truncl.c: Include infinity.h.
11760         (main): Use Infinityl.
11761         * tests/test-vasnprintf-posix.c: Include infinity.h.
11762         (test_function): Use Infinityd, Infinityl.
11763         * tests/test-vasprintf-posix.c: Include infinity.h.
11764         (test_function): Use Infinityd, Infinityl.
11765         * modules/ceilf-tests (Files): Add tests/infinity.h.
11766         * modules/ceil-tests (Files): Likewise.
11767         * modules/ceill-tests (Files): Likewise.
11768         * modules/dprintf-posix-tests (Files): Likewise.
11769         * modules/floorf-tests (Files): Likewise.
11770         * modules/floor-tests (Files): Likewise.
11771         * modules/floorl-tests (Files): Likewise.
11772         * modules/fprintf-posix-tests (Files): Likewise.
11773         * modules/frexp-tests (Files): Likewise.
11774         * modules/frexp-nolibm-tests (Files): Likewise.
11775         * modules/frexpl-tests (Files): Likewise.
11776         * modules/frexpl-nolibm-tests (Files): Likewise.
11777         * modules/isfinite-tests (Files): Likewise.
11778         * modules/isinf-tests (Files): Likewise.
11779         * modules/isnan-tests (Files): Likewise.
11780         * modules/isnanf-tests (Files): Likewise.
11781         * modules/isnanf-nolibm-tests (Files): Likewise.
11782         * modules/isnand-tests (Files): Likewise.
11783         * modules/isnand-nolibm-tests (Files): Likewise.
11784         * modules/isnanl-tests (Files): Likewise.
11785         * modules/isnanl-nolibm-tests (Files): Likewise.
11786         * modules/ldexpl-tests (Files): Likewise.
11787         * modules/printf-posix-tests (Files): Likewise.
11788         * modules/roundf-tests (Files): Likewise.
11789         * modules/round-tests (Files): Likewise.
11790         * modules/roundl-tests (Files): Likewise.
11791         * modules/signbit-tests (Files): Likewise.
11792         * modules/snprintf-posix-tests (Files): Likewise.
11793         * modules/sprintf-posix-tests (Files): Likewise.
11794         * modules/truncf-tests (Files): Likewise.
11795         * modules/trunc-tests (Files): Likewise.
11796         * modules/truncl-tests (Files): Likewise.
11797         * modules/vasnprintf-posix-tests (Files): Likewise.
11798         * modules/vasprintf-posix-tests (Files): Likewise.
11799         * modules/vdprintf-posix-tests (Files): Likewise.
11800         * modules/vfprintf-posix-tests (Files): Likewise.
11801         * modules/vprintf-posix-tests (Files): Likewise.
11802         * modules/vsnprintf-posix-tests (Files): Likewise.
11803         * modules/vsprintf-posix-tests (Files): Likewise.
11804         * modules/xprintf-posix-tests (Files): Likewise.
11805
11806 2011-09-11  Bruno Haible  <bruno@clisp.org>
11807
11808         Ensure pid_t gets defined.
11809         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11810         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11811         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11812         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11813         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11814         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11815         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11816         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11817         * tests/test-fcntl-h.c: Check that pid_t is defined.
11818         * tests/test-sched.c: Likewise.
11819         * tests/test-termios.c: Likewise.
11820         * tests/test-time.c: Likewise.
11821         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11822         * doc/posix-headers/signal.texi: Likewise.
11823         * doc/posix-headers/sys_types.texi: Likewise.
11824         * doc/posix-headers/time.texi: Likewise.
11825
11826 2011-09-11  Bruno Haible  <bruno@clisp.org>
11827
11828         acl: Fix compilation on Solaris 10 (older version).
11829         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11830         of ACE_EVERYONE.
11831         * lib/set-mode-acl.c (qset_acl): Likewise.
11832         Reported by Christian Jullien <eligis@orange.fr>.
11833
11834 2011-09-10  Bruno Haible  <bruno@clisp.org>
11835
11836         iconv, unsetenv: Add support for MSVC compiler.
11837         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11838         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11839
11840 2011-09-10  Bruno Haible  <bruno@clisp.org>
11841
11842         *printf: Add support for MSVC compiler.
11843         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11844         handles the exception caused by the %n directive. When cross-compiling,
11845         guess no on native Windows.
11846         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11847         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11848         emulate it through vsnprintf.
11849         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11850         * doc/posix-functions/dprintf.texi: Update documentation regarding
11851         MSVC 9.
11852         * doc/posix-functions/fprintf.texi: Likewise.
11853         * doc/posix-functions/printf.texi: Likewise.
11854         * doc/posix-functions/snprintf.texi: Likewise.
11855         * doc/posix-functions/sprintf.texi: Likewise.
11856         * doc/posix-functions/swprintf.texi: Likewise.
11857         * doc/posix-functions/vdprintf.texi: Likewise.
11858         * doc/posix-functions/vfprintf.texi: Likewise.
11859         * doc/posix-functions/vprintf.texi: Likewise.
11860         * doc/posix-functions/vsnprintf.texi: Likewise.
11861         * doc/posix-functions/vsprintf.texi: Likewise.
11862         * doc/glibc-functions/asprintf.texi: Likewise.
11863         * doc/glibc-functions/obstack_printf.texi: Likewise.
11864         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11865         * doc/glibc-functions/vasprintf.texi: Likewise.
11866
11867 2011-09-10  Bruno Haible  <bruno@clisp.org>
11868
11869         nocrash: Add support for native Windows.
11870         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11871
11872 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11873             Bruno Haible  <bruno@clisp.org>
11874
11875         absolute-header, include-next: Add support for MSVC compiler.
11876         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11877         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11878         directory separator in #line directives.
11879         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11880         recognize also backslash as directory separator in #line directives.
11881
11882 2011-09-08  Jim Meyering  <meyering@redhat.com>
11883
11884         maint.mk: mark the post-release commit log with "maint: " prefix
11885         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11886         one-line commit-log summary.
11887
11888 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11889             Bruno Haible  <bruno@clisp.org>
11890
11891         Doc about crypt functions.
11892         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11893         systems.
11894         * doc/posix-functions/encrypt.texi: Likewise.
11895         * doc/posix-functions/setkey.texi: Likewise.
11896
11897 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11898
11899         * lib/gc.h: Fix copyright header.
11900
11901 2011-09-07  Bruno Haible  <bruno@clisp.org>
11902
11903         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11904         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11905         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11906
11907 2011-09-07  Bruno Haible  <bruno@clisp.org>
11908
11909         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11910         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11911         * lib/freopen.c: Likewise.
11912         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11913         * lib/lstat.c: Likewise.
11914         * lib/stat.c: Likewise.
11915         * lib/open.c: Use different syntax for include of <fcntl.h>.
11916         * lib/openat.c: Include fcntl.h again, explicitly.
11917
11918 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11919
11920         parse-datetime: document the newly accepted format
11921         * doc/parse-datetime.texi (Combined date and time of day items):
11922         New section.
11923
11924 2011-09-06  Bruno Haible  <bruno@clisp.org>
11925
11926         acl: Fix a test failure on newer Solaris 10 with ZFS.
11927         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11928         ENOSYS as no ACL.
11929         Reported by Jim Meyering.
11930
11931 2011-09-06  Bruno Haible  <bruno@clisp.org>
11932
11933         acl: Update for AIX >= 5.3 with NFS.
11934         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11935         ENOSYS as no ACL.
11936
11937         acl: Fix a test failure on AIX >= 5.3 with NFS.
11938         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11939         as no ACL.
11940
11941 2011-09-06  Bruno Haible  <bruno@clisp.org>
11942
11943         acl: Fix a test failure on IRIX 6.5 with NFS.
11944         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11945         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11946         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11947         * lib/copy-acl.c (qcopy_acl): Likewise.
11948
11949 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11950
11951         openat: port to AIX 7.1 with large files
11952         AIX 7.1 does a "#define openat open64at" if large files are in use,
11953         so we can't simply #undef openat.  Use the orig_openat trick (similar
11954         to orig_open in lib/open.c) to work around the problem.  Problem
11955         reported by Kevin Brott for GNU tar, in the thread containing
11956         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11957         * lib/openat.c (__need_system_fcntl_h): Define first.
11958         Include <fcntl.h> and <sys/types.h> before undefining.
11959         (orig_openat) [HAVE_OPENAT]: New inline function.
11960         (openat) [HAVE_OPENAT]: Do not undef.
11961         (rpl_openat): Use orig_openat, not openat.
11962
11963 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11964             Bruno Haible  <bruno@clisp.org>
11965
11966         acl: Avoid errors on NonStop Kernel.
11967         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11968         ENOTSUP errors.
11969
11970 2011-09-05  Bruno Haible  <bruno@clisp.org>
11971
11972         acl: Clean up Solaris code.
11973         * lib/acl-internal.h: Remove no-op #if.
11974         * lib/file-has-acl.c: Likewise.
11975         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11976         * lib/copy-acl.c (qcopy_acl): Likewise.
11977
11978 2011-09-05  Bruno Haible  <bruno@clisp.org>
11979
11980         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11981         binaries built on the original Solaris 10.
11982         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11983         trivial.
11984
11985 2011-09-05  Bruno Haible  <bruno@clisp.org>
11986
11987         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11988         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11989         10.
11990         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11991         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11992         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11993         instead of acl_get, facl_get, acl_set, facl_set.
11994
11995 2011-09-05  Bruno Haible  <bruno@clisp.org>
11996
11997         copy-file: Try unit tests on more file systems.
11998         * tests/test-copy-file-1.sh: New file.
11999         * tests/test-copy-file-2.sh: New file.
12000         * modules/copy-file-tests (Files): Add them.
12001         (Makefile.am): Add them to TESTS.
12002
12003         acl: Try unit tests on more file systems.
12004         * tests/test-file-has-acl-1.sh: New file.
12005         * tests/test-file-has-acl-2.sh: New file.
12006         * tests/test-set-mode-acl-1.sh: New file.
12007         * tests/test-set-mode-acl-2.sh: New file.
12008         * tests/test-copy-acl-1.sh: New file.
12009         * tests/test-copy-acl-2.sh: New file.
12010         * modules/acl-tests (Files): Add them.
12011         (Makefile.am): Add them to TESTS.
12012
12013 2011-09-04  Bruno Haible  <bruno@clisp.org>
12014
12015         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
12016         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
12017         10.
12018         (OLD_ALLOW, OLD_DENY): New macros.
12019         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
12020         ACE_ACCESS_ALLOWED_ACE_TYPE.
12021         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
12022         ACE_ACCESS_DENIED_ACE_TYPE.
12023         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
12024         (NEW_ACE_EXECUTE): Fix value.
12025         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
12026         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
12027         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
12028         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
12029         NEW_ACE_SYNCHRONIZE): New macros.
12030         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
12031         instead of acl_fromtext, acl_set, facl_set.
12032         Fixes a coreutils/tests/cp/perm failure.
12033
12034 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
12035
12036         openat: test for fstatat (..., 0) bug
12037         Further testing with tar suggests that fstatat (..., 0)
12038         does not work in general, on AIX 7.1; see
12039         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
12040         So, give up entirely on AIX 7.1's fstatat, and fall back on our
12041         replacement fstatat (which is what older AIX releases were using
12042         anyway).
12043         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
12044         use is now changed to orig_fstatat.  This was probably the right
12045         thing to do anyway.
12046         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
12047         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
12048         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
12049         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
12050         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
12051         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
12052         if the bug is found.
12053
12054         openat: test for fstatat (AT_FDCWD, ..., 0) bug
12055         This tests for another fstatat bug on AIX 7.1:
12056         fstatat (AT_FDCWD, ..., 0) does not work.  See
12057         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
12058         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
12059         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
12060         (rpl_fstatat): Adjust so that it works around either (or both)
12061         bugs if present.
12062         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
12063
12064 2011-09-03  Karl Berry  <karl@gnu.org>
12065
12066         * doc/regex.texi (Character Class Operators): Avoid literal ":"
12067         in index entries.
12068
12069 2011-09-02  Bruno Haible  <bruno@clisp.org>
12070
12071         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
12072         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
12073         values of AR, ARFLAGS, RANLIB.
12074         Reported by John W. Eaton <jwe@gnu.org> for Octave.
12075
12076 2011-09-02  Bruno Haible  <bruno@clisp.org>
12077
12078         Find 'ar' program that fits with --host argument.
12079         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
12080
12081 2011-09-02  Bruno Haible  <bruno@clisp.org>
12082
12083         tests: init.sh: Support any non-GNU diff.
12084         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
12085         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
12086         Solaris 8.
12087
12088 2011-09-02  Bruno Haible  <bruno@clisp.org>
12089
12090         tests: init.sh: work also with any non-GNU diff that supports -u
12091         * tests/init.sh: Relax check for diff -u support.
12092         Rather than checking for GNU diff via --version, simply check
12093         for support for -u itself.  Useful at least on OpenBSD 4.9,
12094         AIX 7.1, IRIX 6.5, and Solaris 10.
12095
12096 2011-09-01  Bruno Haible  <bruno@clisp.org>
12097
12098         strtoimax, strtoumax: Document problem on HP-UX 11.
12099         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
12100         * doc/posix-functions/strtoumax.texi: Likewise.
12101
12102 2011-09-01  Bruno Haible  <bruno@clisp.org>
12103
12104         strtoumax: Avoid link error on OSF/1 with DTK cc.
12105         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
12106         defined as a function.
12107         * modules/strtoumax (Depends-on, configure.ac): Test only whether
12108         strtoumax is defined, not whether it is declared.
12109
12110 2011-09-01  Bruno Haible  <bruno@clisp.org>
12111
12112         strtoimax: Avoid link error on OSF/1 with DTK cc.
12113         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
12114         defined as a function.
12115         * modules/strtoimax (Depends-on, configure.ac): Test only whether
12116         strtoimax is defined, not whether it is declared.
12117
12118 2011-09-01  Bruno Haible  <bruno@clisp.org>
12119
12120         imaxdiv: Avoid link error on OSF/1 with DTK cc.
12121         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
12122         as a function.
12123         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
12124         whether it is declared.
12125
12126 2011-09-01  Bruno Haible  <bruno@clisp.org>
12127
12128         imaxabs: Avoid link error on OSF/1 with DTK cc.
12129         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12130         as a function.
12131         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12132         whether it is declared.
12133
12134 2011-09-01  Bruno Haible  <bruno@clisp.org>
12135
12136         Tests for module 'strtoumax'.
12137         * modules/strtoumax-tests: New file.
12138         * tests/test-strtoumax.c: New file.
12139
12140         Tests for module 'strtoimax'.
12141         * modules/strtoimax-tests: New file.
12142         * tests/test-strtoimax.c: New file.
12143
12144         Tests for module 'imaxdiv'.
12145         * modules/imaxdiv-tests: New file.
12146         * tests/test-imaxdiv.c: New file.
12147
12148         Tests for module 'imaxabs'.
12149         * modules/imaxabs-tests: New file.
12150         * tests/test-imaxabs.c: New file.
12151
12152 2011-09-01  Bruno Haible  <bruno@clisp.org>
12153
12154         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12155         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12156         pthread_create.
12157
12158 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12159
12160         openat: work around AIX 7.1 fstatat issue
12161         This should fix the problem that was not properly fixed
12162         in the previous change, dated 2011-08-30.
12163         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12164         __need_system_stat_h defined.
12165         (orig_fstatat) [HAVE_FSTATAT]: New function.
12166         (rpl_fstatat): Go back to the old way of doing things,
12167         except call orig_fstatat instead of fstatat.
12168         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12169         Remove unnecessary check whether fstatat fills in st_size etc.
12170
12171 2011-09-01  Bruno Haible  <bruno@clisp.org>
12172
12173         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12174         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12175         just include the system's header.
12176
12177 2011-08-31  Jim Meyering  <meyering@redhat.com>
12178
12179         tests: avoid spurious assertion failure in test-float.c on ppc64
12180         * tests/test-float.c (test_long_double): Comment out an assertion,
12181         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12182         with gcc-4.4.4.
12183
12184         maint: indent with spaces, not TABs
12185         I need to get in the habit of running gnulib's "make check".
12186         Both of these would have been caught.
12187         * m4/largefile.m4: Indent with spaces, not TABs.
12188         * lib/parse-datetime.y (iso_8601_time): Likewise.
12189         Spotted by Pádraig Brady.
12190
12191         test-parse-datetime.c: accommodate a relatively strict gcc warning
12192         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12193         to avoid a warning from gcc's -Werror=missing-declarations.
12194         Insert a few spaces-before-funcall-parenthesis.
12195
12196 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12197
12198         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12199         The parser now accepts ISO 8601 date-time strings with "T" as the
12200         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12201         with a space between the date and time strings.  Now it also parses
12202         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12203         variants like "2004-02-29T16:21:42.333-07:00"
12204         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12205         of day representation using the 'T' separator character.
12206         * doc/parse-datetime.texi (General date syntax): replace use of
12207         deprecated --iso-8601 option with --rfc-3339 in example of date
12208         command output formats that can be parsed.
12209         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12210         lib/parse-datetime.y.
12211         (gmt_offset): New function.
12212         (main): Add additional test cases to validate ISO8601 extended
12213         date and time of day parsing.
12214
12215 2011-08-31  Bruno Haible  <bruno@clisp.org>
12216
12217         freopen: Documentation.
12218         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12219         name.
12220         Reported by Claudio Bley <claudio.bley@gmail.com>.
12221
12222 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12223
12224         freopen: Don't crash if the filename argument is NULL.
12225         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12226         NULL.
12227
12228 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12229
12230         openat: work around AIX 7.1 fstatat bug
12231         Problem reported by Kevin Brott for GNU tar, in the thread containing
12232         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12233         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12234         FSTATAT_ST_SIZE_ETC_BROKEN.
12235         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12236         rpl_fstatat.
12237         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12238         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12239         AC_CHECK_FUNCS_ONCE for fstatat.
12240         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12241         fchmodat, mkdirat, openat and unlinkat.
12242
12243 2011-08-30  Bruno Haible  <bruno@clisp.org>
12244
12245         Avoid endless recursions if config.h includes some header files.
12246         * lib/fopen.c (__need_FILE): Define already before including config.h.
12247         * lib/freopen.c (__need_FILE): Likewise.
12248         * lib/open.c (__need_system_fcntl_h): Likewise.
12249         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12250         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12251         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12252
12253 2011-08-25  Karl Berry  <karl@gnu.org>
12254
12255         * config/srclist.txt (ylwrap): new try.
12256         * build-aux/ylwrap: new file.
12257
12258 2011-08-23  Bruno Haible  <bruno@clisp.org>
12259
12260         tmpdir: Use a good default directory on native Windows.
12261         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12262         (P_tmpdir): Default to _P_tmpdir on native Windows.
12263         (path_search): On native Windows, try the value returned by GetTempPath
12264         before trying P_tmpdir.
12265         * modules/tmpdir (Depends-on): Add pathmax.
12266         Suggested by John Darrington <john@darrington.wattle.id.au>.
12267
12268 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12269
12270         doc: fix typo in README-release
12271         * top/README-release: Capitalize first word of a sentence.
12272
12273 2011-08-19  Jim Meyering  <meyering@redhat.com>
12274
12275         fts: do not exhaust memory when processing million-entry directories
12276         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12277         directory would require about 256*N bytes of memory.  Thus, it was
12278         easy to construct a directory too large to be processed by any of
12279         those tools.  With this change, fts' maximum memory utilization is
12280         now limited to around 30MB.
12281         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12282         (fts_read): When we've processed the final entry (i.e., when
12283         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12284         using the parent entry to read any remaining entries.  Dispatch
12285         depending on what fts_build returns:
12286         - NULL+stop, aka failure: stop
12287         - NULL otherwise: move up in the dir hierarchy
12288         - non-NULL: handle this new entry
12289         (fts_build): Declare and use new local, continue_readdir.
12290         Prepare to be called from fts_read, when the entries
12291         from a partially-read directory have just been exhausted.
12292         In that case, we'll skip the opendir and instead use the parent's
12293         fts_dirp and derive dir_fd from that.
12294         Finally, in the readdir loop, if we read max_entries entries,
12295         exit the loop ensuring *not* to call closedir.  This is required
12296         so that fts_dirp can be reused on a subsequent call.
12297         Prompted by Ben England's report of memory exhaustion in find
12298         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12299
12300         maint: fts: move decl of `dp' down into while loop; split a long line
12301         * lib/fts.c (fts_build): No semantic change.
12302
12303         fts: add/use new struct member, fts_dirp
12304         We are about to use this to manage any directory with
12305         too many entries to read all of them into memory at once.
12306         To do that, we'll need to save the DIR* pointer in each
12307         affected FTSENT struct.
12308         * lib/fts_.h: Include <dirent.h>.
12309         (struct FTSENT) [fts_dirp]: New member.
12310         * lib/fts.c (closedir_and_clear): Define.
12311         Use it in place of closedir so that we are sure to
12312         clear the new fts_dirp member when done with it.
12313         (fts_alloc): Initialize the new member.
12314         (fts_lfree): Free, if needed.
12315
12316         maint: fts: give __opendir2 a new parameter and rename
12317         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12318         than surreptitiously using sole caller's "dir_fd".
12319         (fts_opendir): Rename from __opendir2.
12320
12321         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12322         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12323
12324         maint: fts.c: correct off-by-one indentation
12325         * lib/fts.c (fts_build): Correct indentation, change style
12326         of a couple of block comments, and bracing style.
12327
12328         maint: fts.c: move __opendir2 #define "up" out of function body
12329         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12330
12331         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12332         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12333         out for a long time and besides was useful only on BSD systems.
12334
12335 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12336
12337         regex: port to Stratus OpenVOS
12338         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12339         define to empty, rather than attempting nonportable optimizations.
12340         Problem reported by Paul Green in:
12341         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12342         and fix suggested by Eric Blake in:
12343         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12344
12345 2011-08-17  Eric Blake  <eblake@redhat.com>
12346
12347         getcwd: fix test failures on mingw
12348         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12349         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12350         test if long directory cannot be created, and allow mingw errno.
12351
12352         getcwd-lgpl: fix m4 to match relaxed test for BSD
12353         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12354         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12355         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12356         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12357         signature problem.
12358
12359         getcwd: fix compilation on mingw64
12360         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12361         getcwd.
12362         Reported by Marc-André Lureau.
12363
12364         pipe2: silence compiler warning
12365         * lib/pipe2.c (pipe2): Hide label if it is not used.
12366
12367 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12368
12369         relocatable-prog: fix link error
12370         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12371         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12372         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12373         into modules/relocatable-lib without noticing that
12374         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12375         also needs to build relocatable.c.
12376
12377 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12378
12379         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12381         shell code: it contained a 'break' that was not in a loop.
12382         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12383         via a shell-language loop; this may have been true in old Autoconf
12384         versions, but it's not true in Autoconf 2.68.  I found this bug
12385         when testing coreutils git on Solaris 8, whose shell complains
12386         about the syntax error.
12387
12388 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12389
12390         * lib/base64.c: Fix comment to reference RFC 4648.
12391         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12392         <gvtulder@gmail.com>.
12393
12394 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12395
12396         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12397
12398         po/Makefile.in.in: fix make -q problem
12399         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12400         rule, since there's no file named 'check-macro-version' and its
12401         use as a file breaks make -q.
12402         (all): Don't depend on check-macro-version.
12403         (CHECK_MACRO_VERSION): New macro.
12404         (stamp-po): Use it.
12405
12406         configmake: fix make -q problem
12407         * modules/configmake (configmake.h): Update configmake.h's time stamp
12408         even if the file does not change.  Otherwise, 'make -q' fails.
12409         Problem reported by Simon Josefsson in
12410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12411
12412 2011-08-11  Jim Meyering  <meyering@redhat.com>
12413
12414         git-version-gen: correct the advice in a comment
12415         * build-aux/git-version-gen: Correct comment.
12416         Don't recommend to list .tarball-version in .gitignore.
12417
12418 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12419
12420         base64: fix off-by-one buffer size bug
12421         Problem and (trivial) fix reported by Gijs van Tulder in
12422         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12423         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
12424         * tests/test-base64.c (main): Catch the bug.
12425
12426 2011-08-10  Eric Blake  <eblake@redhat.com>
12427
12428         closein: correct comments
12429         * lib/closein.c (close_stdin): Improve comments.
12430
12431 2011-08-09  Bruno Haible  <bruno@clisp.org>
12432
12433         More tests for 'fseeko'.
12434         * tests/test-fseeko3.c: New file, from Eric Blake.
12435         * tests/test-fseeko3.sh: New file.
12436         * modules/fseeko-tests (Files): Add them.
12437         (TESTS): Add test-fseeko3.sh.
12438         (check_PROGRAMS): Add test-fseeko3.
12439
12440 2011-08-09  Eric Blake  <eblake@redhat.com>
12441
12442         fseeko: remove unneeded hack
12443         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
12444
12445         fseeko: fix bug on glibc
12446         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
12447         Reported by John W. Eaton.
12448
12449 2011-08-08  Bruno Haible  <bruno@clisp.org>
12450
12451         unictype/base: Fix interoperability with preinstalled libunistring.
12452         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
12453         Reported by Simon Josefsson.
12454
12455 2011-08-08  Bruno Haible  <bruno@clisp.org>
12456
12457         iswblank: Detect declaration correctly.
12458         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12459         AC_CHECK_DECLS invocation.
12460
12461 2011-08-08  Bruno Haible  <bruno@clisp.org>
12462
12463         tcgetsid: Detect declaration correctly.
12464         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12465         AC_CHECK_DECLS invocation.
12466         Reported by Simon Josefsson.
12467
12468 2011-08-08  Eric Blake  <eblake@redhat.com>
12469
12470         largefile: fix typo that regressed large file support
12471         * modules/largefile (configure.ac-early): Fix section name.
12472
12473 2011-08-06  Karl Berry  <karl@gnu.org>
12474
12475         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12476         a separate module.
12477
12478 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12479
12480         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12481         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12482         get prototype for free.
12483
12484 2011-08-04  Bruno Haible  <bruno@clisp.org>
12485
12486         Tests for module 'pathmax'.
12487         * modules/pathmax-tests: New file.
12488         * tests/test-pathmax.c: New file.
12489
12490         canonicalize-lgpl: Support larger filenames on the Hurd.
12491         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12492         Reported by Paul Eggert.
12493
12494         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12495         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12496         * lib/chdir-long.h: Include pathmax.h.
12497         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12498         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12499         (PATH_MAX): Remove code that is done by pathmax.h.
12500         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12501         * lib/tmpfile.c: Add a comment.
12502         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12503         * modules/chdir-long (Depends-on): Add pathmax.
12504         * modules/getcwd (Depends-on): Add pathmax.
12505         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12506         is not defined.
12507         * doc/posix-headers/limits.texi: Mention the pathmax module.
12508         * NEWS: Mention the change.
12509
12510 2011-08-02  Bruno Haible  <bruno@clisp.org>
12511
12512         pthread_sigmask: Actually use results of gl_THREADLIB.
12513         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12514         gl_THREADLIB, not gl_[]THREADLIB.
12515         Reported by Eric Blake.
12516
12517 2011-08-02  Jim Meyering  <meyering@redhat.com>
12518
12519         maint.mk: relax the default _gl_TS_function_match regexp
12520         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12521         space between function name and "(" in an "extern" declaration.
12522         That would fail to match a decl with no space there: extern void foo();
12523
12524 2011-07-31  Iain Nicol  <iain@thenicols.net>
12525
12526         git-version-gen: document that EXTRA_DIST must include .version
12527         * build-aux/git-version-gen: In the how-to-use comment, document
12528         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12529         will fail when run from an unpacked distribution tarball.
12530
12531 2011-08-01  Bruno Haible  <bruno@clisp.org>
12532
12533         wctype-h: Fix last change.
12534         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12535         REPLACE_TOWLOWER to 0.
12536         Reported by Sam Steingold <sds@gnu.org>.
12537
12538 2011-07-31  Bruno Haible  <bruno@clisp.org>
12539
12540         frexpl: Update autoconf test.
12541         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12542         according to changes of 2011-06-20.
12543
12544 2011-07-31  Bruno Haible  <bruno@clisp.org>
12545
12546         sys_utsname: Add support for Minix.
12547         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12548         <sys/utsname.h>.
12549         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12550         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12551
12552 2011-07-31  Bruno Haible  <bruno@clisp.org>
12553
12554         strings: Add support for Minix.
12555         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12556         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12557         * doc/posix-headers/strings.texi: Document the Minix problem.
12558
12559 2011-07-31  Bruno Haible  <bruno@clisp.org>
12560
12561         wctype-h: Add support for Minix.
12562         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12563         REPLACE_TOWLOWER.
12564         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12565         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12566         REPLACE_ISWCNTRL.
12567
12568 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12569
12570         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12571         This is a performance improvement for 64-bit hosts: it causes the
12572         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12573
12574 2011-07-31  Bruno Haible  <bruno@clisp.org>
12575
12576         stdioext: Add support for Minix.
12577         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12578         * lib/fpurge.c (fpurge): Likewise.
12579         * lib/freadahead.c (freadahead): Likewise.
12580         * lib/freadable.c (freadable): Likewise.
12581         * lib/freading.c (freading): Likewise.
12582         * lib/freadptr.c (freadptr): Likewise.
12583         * lib/freadseek.c (freadptrinc): Likewise.
12584         * lib/fseeko.c (rpl_fseeko): Likewise.
12585         * lib/fseterr.c (fseterr): Likewise.
12586         * lib/fwritable.c (fwritable): Likewise.
12587         * lib/fwriting.c (fwriting): Likewise.
12588         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12589         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12590
12591 2011-07-31  Bruno Haible  <bruno@clisp.org>
12592
12593         errno: Port to Minix.
12594         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12595         ECONNABORTED are defined.
12596         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12597         GNULIB_defined_ECONNABORTED): New macros.
12598         * lib/strerror-override.h (strerror_override): Test also
12599         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12600         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12601         ECONNABORTED.
12602         * doc/posix-headers/errno.texi: Mention the Minix problem.
12603
12604 2011-07-31  Bruno Haible  <bruno@clisp.org>
12605
12606         Work around declaration collisions on Minix.
12607         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12608         defined, set REPLACE_MBSINIT.
12609         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12610         defined, set REPLACE_MBRTOWC.
12611         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12612         set REPLACE_MBRLEN.
12613         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12614         defined, set REPLACE_MBSRTOWCS.
12615         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12616         defined, set REPLACE_WCRTOMB.
12617         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12618         defined, set REPLACE_WCSRTOMBS.
12619
12620 2011-07-31  Bruno Haible  <bruno@clisp.org>
12621
12622         Add support for Minix with ACK compiler.
12623         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12624         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12625         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12626
12627 2011-07-31  Bruno Haible  <bruno@clisp.org>
12628
12629         Documentation about Minix.
12630         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12631         * doc/glibc-headers/*.texi: Likewise.
12632         * doc/posix-functions/*.texi: Likewise.
12633         * doc/glibc-functions/*.texi: Likewise.
12634
12635 2011-07-31  Bruno Haible  <bruno@clisp.org>
12636
12637         snippet/warn-on-use: Fix indentation.
12638         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12639
12640 2011-07-25  Jim Meyering  <meyering@redhat.com>
12641
12642         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12643         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12644         commands.
12645
12646 2011-07-27  Jim Meyering  <meyering@redhat.com>
12647
12648         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12649         * top/maint.mk (gl_extract_significant_defines_): Now that
12650         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12651         gnulib/lib/signal.in.h, and now that we recommend to
12652         define-if-undefined those two symbols in application code,
12653         we must filter them out of the "significant" list.
12654         This avoids a "make syntax-check" failure in coreutils.
12655
12656 2011-07-26  Eric Blake  <eblake@redhat.com>
12657
12658         warnings: add comments about previous patch
12659         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12660         * m4/include_next.m4: Likewise.
12661         * m4/warn-on-use.m4: Likewise.
12662         * m4/warnings.m4: Likewise, and simplify use.
12663         Suggested by Stefano Lattarini.
12664
12665         include-next, warnings: support older autoconf
12666         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12667         AS_VAR_PUSHDEF in a way that works with older autoconf.
12668         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12669         Reported by Daniel P. Berrange.
12670
12671 2011-07-25  Bruno Haible  <bruno@clisp.org>
12672
12673         fseek, ftell: Fix doc.
12674         * doc/posix-functions/fseek.texi: Reword statement about
12675         AC_SYS_LARGEFILE.
12676         * doc/posix-functions/ftell.texi: Likewise.
12677
12678 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12679             Bruno Haible  <bruno@clisp.org>
12680
12681         Add dependencies to the 'largefile' module.
12682         * modules/fopen (Depends-on): Add 'largefile'.
12683         * modules/freopen (Depends-on): Likewise.
12684         * modules/fseeko (Depends-on): Likewise.
12685         * modules/ftello (Depends-on): Likewise.
12686         * modules/glob (Depends-on): Likewise.
12687         * modules/lseek (Depends-on): Likewise.
12688         * modules/lstat (Depends-on): Likewise.
12689         * modules/mkostemp (Depends-on): Likewise.
12690         * modules/mkostemps (Depends-on): Likewise.
12691         * modules/mkstemp (Depends-on): Likewise.
12692         * modules/mkstemps (Depends-on): Likewise.
12693         * modules/open (Depends-on): Likewise.
12694         * modules/openat (Depends-on): Likewise.
12695         * modules/pread (Depends-on): Likewise.
12696         * modules/pwrite (Depends-on): Likewise.
12697         * modules/scandir (Depends-on): Likewise.
12698         * modules/stat (Depends-on): Likewise.
12699         * modules/tmpfile (Depends-on): Likewise.
12700         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12701         since the containing module now depends on the largefile module.
12702         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12703         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12704         off_t is fixed by gnulib.
12705         * doc/posix-functions/freopen.texi: Likewise.
12706         * doc/posix-functions/fseeko.texi: Likewise.
12707         * doc/posix-functions/fstatat.texi: Likewise.
12708         * doc/posix-functions/ftello.texi: Likewise.
12709         * doc/posix-functions/glob.texi: Likewise.
12710         * doc/posix-functions/lseek.texi: Likewise.
12711         * doc/posix-functions/lstat.texi: Likewise.
12712         * doc/posix-functions/mkstemp.texi: Likewise.
12713         * doc/posix-functions/open.texi: Likewise.
12714         * doc/posix-functions/openat.texi: Likewise.
12715         * doc/posix-functions/pread.texi: Likewise.
12716         * doc/posix-functions/pwrite.texi: Likewise.
12717         * doc/posix-functions/scandir.texi: Likewise.
12718         * doc/posix-functions/stat.texi: Likewise.
12719         * doc/posix-functions/tmpfile.texi: Likewise.
12720         * doc/glibc-functions/mkostemp.texi: Likewise.
12721         * doc/glibc-functions/mkostemps.texi: Likewise.
12722         * doc/glibc-functions/mkstemps.texi: Likewise.
12723
12724 2011-07-25  Bruno Haible  <bruno@clisp.org>
12725
12726         fcntl: Move AC_LIBOBJ invocation to module description.
12727         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12728         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12729
12730         fcntl: Remove call-in from fchdir.m4.
12731         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12732         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12733
12734         dup3: Remove potential call-in from fchdir.m4.
12735         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12736         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12737
12738         dup2: Move AC_LIBOBJ invocation to module description.
12739         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12740         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12741         Don't invoke AC_LIBOBJ.
12742         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12743
12744         dup2: Remove call-in from fchdir.m4.
12745         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12746         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12747
12748         fclose: Move AC_LIBOBJ invocation to module description.
12749         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12750         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12751         to 1.
12752         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12753
12754         fclose: Remove call-in from close.m4.
12755         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12756         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12757
12758         close: Move AC_LIBOBJ invocation to module description.
12759         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12760         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12761         1.
12762         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12763
12764         close: Remove call-in from fchdir.m4.
12765         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12766         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12767
12768         open: Move AC_LIBOBJ invocation to module description.
12769         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12770         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12771         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12772
12773         open: Remove call-in from fchdir.m4.
12774         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12775         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12776
12777         fchdir: Start to remove gl_REPLACE_* idiom.
12778         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12779         (gl_FUNC_FCHDIR): Invoke it.
12780
12781 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12782
12783         * lib/ftell.c (ftell): Comment out cast.
12784
12785         close: use gl_REPLACE_FCLOSE only if defined
12786         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12787         is defined.  The close module doesn't depend on the fclose module
12788         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12790         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12791
12792 2011-07-24  Jim Meyering  <meyering@redhat.com>
12793
12794         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12795         * tests/test-select.h (test_function): Declare as "static".
12796
12797 2011-07-24  Bruno Haible  <bruno@clisp.org>
12798
12799         doc: Mention the effects of AC_SYS_LARGEFILE.
12800         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12801         on this function.
12802         * doc/posix-functions/aio_error.texi: Likewise.
12803         * doc/posix-functions/aio_fsync.texi: Likewise.
12804         * doc/posix-functions/aio_read.texi: Likewise.
12805         * doc/posix-functions/aio_return.texi: Likewise.
12806         * doc/posix-functions/aio_suspend.texi: Likewise.
12807         * doc/posix-functions/aio_write.texi: Likewise.
12808         * doc/posix-functions/fgetpos.texi: Likewise.
12809         * doc/posix-functions/fopen.texi: Likewise.
12810         * doc/posix-functions/freopen.texi: Likewise.
12811         * doc/posix-functions/fsetpos.texi: Likewise.
12812         * doc/posix-functions/fstatvfs.texi: Likewise.
12813         * doc/posix-functions/ftruncate.texi: Likewise.
12814         * doc/posix-functions/ftw.texi: Likewise.
12815         * doc/posix-functions/getrlimit.texi: Likewise.
12816         * doc/posix-functions/glob.texi: Likewise.
12817         * doc/posix-functions/lio_listio.texi: Likewise.
12818         * doc/posix-functions/lockf.texi: Likewise.
12819         * doc/posix-functions/mkstemp.texi: Likewise.
12820         * doc/posix-functions/mmap.texi: Likewise.
12821         * doc/posix-functions/nftw.texi: Likewise.
12822         * doc/posix-functions/openat.texi: Likewise.
12823         * doc/posix-functions/opendir.texi: Likewise.
12824         * doc/posix-functions/posix_fadvise.texi: Likewise.
12825         * doc/posix-functions/posix_fallocate.texi: Likewise.
12826         * doc/posix-functions/pread.texi: Likewise.
12827         * doc/posix-functions/pwrite.texi: Likewise.
12828         * doc/posix-functions/readdir.texi: Likewise.
12829         * doc/posix-functions/readdir_r.texi: Likewise.
12830         * doc/posix-functions/rewinddir.texi: Likewise.
12831         * doc/posix-functions/scandir.texi: Likewise.
12832         * doc/posix-functions/seekdir.texi: Likewise.
12833         * doc/posix-functions/setrlimit.texi: Likewise.
12834         * doc/posix-functions/statvfs.texi: Likewise.
12835         * doc/posix-functions/telldir.texi: Likewise.
12836         * doc/posix-functions/tmpfile.texi: Likewise.
12837         * doc/posix-functions/truncate.texi: Likewise.
12838         * doc/glibc-functions/fallocate.texi: Likewise.
12839         * doc/glibc-functions/fstatfs.texi: Likewise.
12840         * doc/glibc-functions/fts_children.texi: Likewise.
12841         * doc/glibc-functions/fts_read.texi: Likewise.
12842         * doc/glibc-functions/getdirentries.texi: Likewise.
12843         * doc/glibc-functions/mkostemp.texi: Likewise.
12844         * doc/glibc-functions/mkostemps.texi: Likewise.
12845         * doc/glibc-functions/mkstemps.texi: Likewise.
12846         * doc/glibc-functions/preadv.texi: Likewise.
12847         * doc/glibc-functions/pwritev.texi: Likewise.
12848         * doc/glibc-functions/sendfile.texi: Likewise.
12849         * doc/glibc-functions/statfs.texi: Likewise.
12850
12851 2011-07-24  Bruno Haible  <bruno@clisp.org>
12852
12853         doc: Fix typo.
12854         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12855
12856 2011-07-24  Bruno Haible  <bruno@clisp.org>
12857
12858         doc: Mention fsusage.
12859         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12860
12861 2011-07-24  Bruno Haible  <bruno@clisp.org>
12862
12863         doc: Mention new glibc headers and functions.
12864         * doc/glibc-headers/gshadow.texi: New file.
12865         * doc/glibc-functions/endsgent.texi: New file.
12866         * doc/glibc-functions/fgetsgent.texi: New file.
12867         * doc/glibc-functions/fgetsgent_r.texi: New file.
12868         * doc/glibc-functions/getsgent.texi: New file.
12869         * doc/glibc-functions/getsgent_r.texi: New file.
12870         * doc/glibc-functions/getsgnam.texi: New file.
12871         * doc/glibc-functions/getsgnam_r.texi: New file.
12872         * doc/glibc-functions/putsgent.texi: New file.
12873         * doc/glibc-functions/setsgent.texi: New file.
12874         * doc/glibc-functions/sgetsgent.texi: New file.
12875         * doc/glibc-functions/sgetsgent_r.texi: New file.
12876         * doc/glibc-functions/malloc_info.texi: New file.
12877         * doc/glibc-functions/preadv.texi: New file.
12878         * doc/glibc-functions/pwritev.texi: New file.
12879         * doc/glibc-functions/register_printf_modifier.texi: New file.
12880         * doc/glibc-functions/register_printf_specifier.texi: New file.
12881         * doc/glibc-functions/register_printf_type.texi: New file.
12882         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12883         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12884         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12885         * doc/glibc-functions/pthread_getname_np.texi: New file.
12886         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12887         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12888         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12889         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12890         * doc/glibc-functions/pthread_setname_np.texi: New file.
12891         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12892         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12893         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12894         * doc/glibc-functions/qsort_r.texi: New file.
12895         * doc/glibc-functions/quick_exit.texi: New file.
12896         * doc/glibc-functions/syncfs.texi: New file.
12897         * doc/gnulib.texi: Include them.
12898         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12899         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12900         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12901         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12902         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12903         * doc/glibc-functions/execvpe.texi: Likewise.
12904
12905 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12906
12907         ftell: don't include <unistd.h>
12908         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12909         guaranteed to define off_t, and the ftell module depends on the
12910         stdio module.
12911
12912         ftell: do not assume wraparound signed arithmetic
12913         * lib/ftell.c: Include <limits.h>.
12914         (ftell): Don't assume wraparound signed arithmetic.
12915
12916 2011-07-24  Bruno Haible  <bruno@clisp.org>
12917
12918         close: No longer depend on module 'fclose'.
12919         * modules/close (Depends-on): Remove fclose.
12920         * NEWS: Mention the change.
12921         Suggested by Sam Steingold <sds@gnu.org>.
12922
12923 2011-07-24  Bruno Haible  <bruno@clisp.org>
12924
12925         fsusage: Enable large volume support on AIX >= 5.2.
12926         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12927         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12928         instead of STAT_STATVFS.
12929         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12930
12931         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12932         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12933         f_blocks field only on MacOS X.
12934
12935         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12936         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12937         * modules/fsusage (Depends-on): Add largefile.
12938
12939 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12940
12941         * README: Modernize discussion of signed integers.
12942         Assuming overflow wraparound is no longer safe.
12943         Mention ones' complement and signed magnitude.
12944
12945 2011-07-22  Bruno Haible  <bruno@clisp.org>
12946
12947         select tests, pselect tests: Refactor.
12948         * tests/test-select.h: New file, extracted from tests/test-select.c.
12949         (select_fn): New type.
12950         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12951         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12952         test_pipe): Add my_select argument.
12953         (test_function): Renamed from main. Add my_select argument.
12954         * tests/test-select.c: Move most code to tests/test-select.h. Include
12955         test-select.h.
12956         * modules/select-tests (Files): Add tests/test-select.h.
12957         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12958         (my_select, main): New functions.
12959         * modules/pselect-tests (Files): Add tests/test-select.h,
12960         tests/macros.h, tests/signature.h.
12961         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12962         (configure.ac): Check for <sys/wait.h>.
12963
12964 2011-07-22  Bruno Haible  <bruno@clisp.org>
12965
12966         sys_select tests: Check the signature of FD_*.
12967         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12968         signature tests from here...
12969         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12970         here.
12971         * modules/sys_select-tests (Files): Add tests/signature.h.
12972
12973 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12974
12975         largefile: new module, replacing large-inode
12976         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12977         * MODULES.html.sh: Add largefile, remove large-inode.
12978         * modules/largefile, m4/largefile.m4: New files.
12979         * modules/large-inode, m4/large-inode.m4: Remove.
12980
12981         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12983         implementations that use only 32 bits to count blocks.
12984         On typical hosts with 1024-byte blocks, this fails with file
12985         systems as small as 4 TiB.  Problem reported by Herb Wartens
12986         <http://debbugs.gnu.org/9140> and this should also fix a similar
12987         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12988
12989         large-inode: New module
12990         * MODULES.html.sh: Add it.
12991         * modules/large-inode, m4/large-inode.m4: New files.
12992
12993         extensions: Enable extensions on MacOS X 10.5 and later.
12994         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12995
12996 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12997
12998         file-has-acl: use acl_extended_file_nofollow if available
12999         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
13000         (acl_extended_file): New macro.
13001         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
13002         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
13003
13004 2011-07-21  Bruno Haible  <bruno@clisp.org>
13005
13006         Declare system functions in a way that works with C++.
13007         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
13008         declare fdopendir as extern "C".
13009         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
13010         declare frexpl as extern "C".
13011         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
13012         declare gai_strerror as extern "C".
13013         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
13014         programs, declare gai_strerror as extern "C".
13015         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
13016         declare getlogin_r as extern "C".
13017         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
13018         as extern "C".
13019         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
13020         declare ldexpl as extern "C".
13021         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
13022         as extern "C".
13023         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
13024         program, declare getmntinfo as extern "C".
13025         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
13026         stpncpy as extern "C".
13027         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
13028         program, declare __xpg_strerror_r as extern "C".
13029         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
13030         strndup as extern "C".
13031         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
13032         declare memset and bzero as extern "C".
13033         Reported by Sam Steingold <sds@gnu.org>.
13034
13035 2011-07-12  Jim Meyering  <meyering@redhat.com>
13036
13037         maint.mk: prohibit inclusion of "verify.h" without use
13038         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
13039
13040 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13041
13042         timer-time: A new module to check for timer_settime()
13043         * m4/timer_time.m4: Check for the posix function.
13044         * modules/timer-time: Add the new module.
13045         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
13046         Mention it.
13047
13048 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
13049             Bruno Haible  <bruno@clisp.org>
13050
13051         pthread_sigmask: assume POSIX threads if --avoid=threadlib
13052         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
13053         not defined, assume POSIX threads and look for pthread_sigmask in
13054         $LIBS, without changing $CPPFLAGS.
13055
13056 2011-07-19  Bruno Haible  <bruno@clisp.org>
13057
13058         strstr: Update cross-compilation guess.
13059         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
13060         CPUs, guess no, in view of glibc
13061         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
13062         Suggested by Eric Blake. Reported by Reuben Thomas.
13063
13064 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13065
13066         getopt-gnu: suppress core dumps from detection code
13067         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
13068         to suppress core dumps that may well occur on glibc systems.
13069         * modules/getopt-gnu: Depend on nocrash.
13070
13071 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13072
13073         pthread_sigmask: ensure usleep is declared
13074         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
13075         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
13076
13077 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13078
13079         doc: Document NonStop portability issues.
13080         * doc/posix-functions/sigaction.texi (sigaction):
13081         * doc/posix-headers/signal.texi (signal.h):
13082         Document NonStop.  See Joachim Schmitz in
13083         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
13084
13085 2011-07-15  Bruno Haible  <bruno@clisp.org>
13086
13087         ffsl, ffsll: Avoid unportable behaviour.
13088         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
13089
13090 2011-07-15  Bruno Haible  <bruno@clisp.org>
13091
13092         ffs: More tests.
13093         * tests/test-ffs.c (NBITS): New macro.
13094         (main): Add more tests.
13095         * tests/test-ffsl.c (NBITS): New macro.
13096         (main): Add more tests.
13097         * tests/test-ffsll.c (NBITS): New macro.
13098         (main): Add more tests.
13099
13100 2011-07-15  Eric Blake  <eblake@redhat.com>
13101
13102         ffsl, ffsll: new modules
13103         * modules/ffsl: New file.
13104         * modules/ffsll: Likewise.
13105         * m4/ffsl.m4: Likewise.
13106         * m4/ffsll.m4: Likewise.
13107         * lib/ffsl.c: Likewise.
13108         * lib/ffsl.h: Likewise.
13109         * lib/ffsll.c: Likewise.
13110         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
13111         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
13112         * modules/string (Makefile.am): Substitute witnesses.
13113         * lib/strings.in.h (ffsl, ffsll): Declare.
13114         * modules/ffsl-tests: New test file.
13115         * modules/ffsll-tests: Likewise.
13116         * tests/test-ffsl.c: Likewise.
13117         * tests/test-ffsll.c: Likewise.
13118         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13119         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
13120         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
13121
13122         ffs: fix m4 prerequisite
13123         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
13124
13125         ffs: avoid undefined behavior
13126         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13127         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13128         Reported by Bruno Haible.
13129
13130 2011-07-12  Bruno Haible  <bruno@clisp.org>
13131
13132         pthread_sigmask: Rely on module 'threadlib'.
13133         * modules/pthread_sigmask (Depends-on): Add threadlib.
13134         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13135         is defined.
13136
13137 2011-07-12  Bruno Haible  <bruno@clisp.org>
13138
13139         regex: Depend on module 'strcase'.
13140         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13141
13142 2011-07-12  Jim Meyering  <meyering@redhat.com>
13143
13144         warn-on-use: fix typo in file name
13145         * modules/snippet/warn-on-use (Files): Correct file name:
13146         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13147
13148 2011-07-12  Bruno Haible  <bruno@clisp.org>
13149
13150         strings: Document module.
13151         * doc/posix-headers/strings.texi: Mention module 'strings'.
13152
13153 2011-07-12  Bruno Haible  <bruno@clisp.org>
13154
13155         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13156         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13157         (Files, Makefile.am): Update.
13158         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13159         * modules/stdlib (Depends-on): Update.
13160
13161 2011-07-12  Bruno Haible  <bruno@clisp.org>
13162
13163         * NEWS: Mention the changes.
13164
13165         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13166         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13167         (Files, Makefile.am): Update.
13168         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13169         * modules/arpa_inet (Depends-on): Update.
13170         * modules/ctype (Depends-on): Update.
13171         * modules/dirent (Depends-on): Update.
13172         * modules/fcntl-h (Depends-on): Update.
13173         * modules/glob (Depends-on): Update.
13174         * modules/iconv-h (Depends-on): Update.
13175         * modules/inttypes-incomplete (Depends-on): Update.
13176         * modules/langinfo (Depends-on): Update.
13177         * modules/locale (Depends-on): Update.
13178         * modules/math (Depends-on): Update.
13179         * modules/netdb (Depends-on): Update.
13180         * modules/poll-h (Depends-on): Update.
13181         * modules/pty (Depends-on): Update.
13182         * modules/search (Depends-on): Update.
13183         * modules/signal (Depends-on): Update.
13184         * modules/spawn (Depends-on): Update.
13185         * modules/stdio (Depends-on): Update.
13186         * modules/stdlib (Depends-on): Update.
13187         * modules/string (Depends-on): Update.
13188         * modules/strings (Depends-on): Update.
13189         * modules/sys_file (Depends-on): Update.
13190         * modules/sys_ioctl (Depends-on): Update.
13191         * modules/sys_select (Depends-on): Update.
13192         * modules/sys_socket (Depends-on): Update.
13193         * modules/sys_stat (Depends-on): Update.
13194         * modules/sys_time (Depends-on): Update.
13195         * modules/sys_times (Depends-on): Update.
13196         * modules/sys_utsname (Depends-on): Update.
13197         * modules/sys_wait (Depends-on): Update.
13198         * modules/termios (Depends-on): Update.
13199         * modules/time (Depends-on): Update.
13200         * modules/unistd (Depends-on): Update.
13201         * modules/wchar (Depends-on): Update.
13202         * modules/wctype-h (Depends-on): Update.
13203         * MODULES.html.sh (Support for building libraries and executables):
13204         Update.
13205
13206         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13207         * modules/snippet/unused-parameter: Renamed from
13208         modules/unused-parameter.
13209         (Files, Makefile.am): Update.
13210         * build-aux/snippet/unused-parameter.h: Renamed from
13211         build-aux/unused-parameter.h.
13212         * modules/selinux-h (Depends-on): Update.
13213         * modules/unistr/base (Depends-on): Update.
13214         * MODULES.html.sh (Core language properties): Update.
13215
13216         Rename module 'link-warning' to 'snippet/link-warning'.
13217         * modules/snippet/link-warning: Renamed from modules/link-warning.
13218         (Files, Makefile.am): Update.
13219         * build-aux/snippet/link-warning.h: Renamed from
13220         build-aux/link-warning.h.
13221         * MODULES.html.sh (Support for building libraries and executables):
13222         Update.
13223
13224         Rename module 'c++defs' to 'snippet/c++defs'.
13225         * modules/snippet/c++defs: Renamed from modules/c++defs.
13226         (Files, Makefile.am): Update.
13227         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
13228         * modules/arpa_inet (Depends-on): Update.
13229         * modules/ctype (Depends-on): Update.
13230         * modules/dirent (Depends-on): Update.
13231         * modules/fcntl-h (Depends-on): Update.
13232         * modules/glob (Depends-on): Update.
13233         * modules/iconv-h (Depends-on): Update.
13234         * modules/langinfo (Depends-on): Update.
13235         * modules/locale (Depends-on): Update.
13236         * modules/math (Depends-on): Update.
13237         * modules/netdb (Depends-on): Update.
13238         * modules/poll-h (Depends-on): Update.
13239         * modules/pty (Depends-on): Update.
13240         * modules/search (Depends-on): Update.
13241         * modules/signal (Depends-on): Update.
13242         * modules/spawn (Depends-on): Update.
13243         * modules/stdio (Depends-on): Update.
13244         * modules/stdlib (Depends-on): Update.
13245         * modules/string (Depends-on): Update.
13246         * modules/strings (Depends-on): Update.
13247         * modules/sys_ioctl (Depends-on): Update.
13248         * modules/sys_select (Depends-on): Update.
13249         * modules/sys_socket (Depends-on): Update.
13250         * modules/sys_stat (Depends-on): Update.
13251         * modules/sys_time (Depends-on): Update.
13252         * modules/sys_wait (Depends-on): Update.
13253         * modules/termios (Depends-on): Update.
13254         * modules/time (Depends-on): Update.
13255         * modules/unistd (Depends-on): Update.
13256         * modules/wchar (Depends-on): Update.
13257         * modules/wctype-h (Depends-on): Update.
13258
13259         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13260         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13261         (Files, Makefile.am): Update.
13262         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13263         * modules/argv-iter (Depends-on): Update.
13264         * modules/arpa_inet (Depends-on): Update.
13265         * modules/dirent (Depends-on): Update.
13266         * modules/fcntl-h (Depends-on): Update.
13267         * modules/fnmatch (Depends-on): Update.
13268         * modules/getopt-posix (Depends-on): Update.
13269         * modules/glob (Depends-on): Update.
13270         * modules/iconv-h (Depends-on): Update.
13271         * modules/inttypes-incomplete (Depends-on): Update.
13272         * modules/locale (Depends-on): Update.
13273         * modules/math (Depends-on): Update.
13274         * modules/netdb (Depends-on): Update.
13275         * modules/search (Depends-on): Update.
13276         * modules/signal (Depends-on): Update.
13277         * modules/spawn (Depends-on): Update.
13278         * modules/stdio (Depends-on): Update.
13279         * modules/stdlib (Depends-on): Update.
13280         * modules/string (Depends-on): Update.
13281         * modules/strings (Depends-on): Update.
13282         * modules/sys_socket (Depends-on): Update.
13283         * modules/sys_stat (Depends-on): Update.
13284         * modules/sys_time (Depends-on): Update.
13285         * modules/sys_times (Depends-on): Update.
13286         * modules/sys_utsname (Depends-on): Update.
13287         * modules/time (Depends-on): Update.
13288         * modules/unistd (Depends-on): Update.
13289         * modules/wchar (Depends-on): Update.
13290         * MODULES.html.sh (Support for building libraries and executables):
13291         Update.
13292
13293 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13294
13295         Improvements on _Noreturn and related modules.
13296
13297         modules/_Exit-tests: test _Noreturn too
13298         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13299         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13300         (main): Use them.
13301
13302         stdnoreturn, stdnoreturn-tests: remove modules
13303         They're not needed here and a bit premature for use elsewhere.  See
13304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13305         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13306         * tests/test-stdnoreturn.c: Remove files.
13307         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13308         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13309         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13310         and using noreturn.
13311         * modules/openat, modules/sigpipe-die, modules/xalloc:
13312         * modules/xmemdup0, modules/xstrtol:
13313         Remove dependency on stdnoreturn.
13314
13315         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13316         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13317         Reparenthesize to avoid GCC warning.
13318         Support Microsoft's syntax.
13319         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13320
13321         _Noreturn-tests: remove module
13322         * modules/_Noreturn-tests: Remove.
13323         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13324         * tests/test-_Noreturn.c: Remove.
13325         * tests/test-stdnoreturn.c: Merge from the old
13326         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13327
13328 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         _Noreturn, stdnoreturn, and related modules.
13331
13332         * top/maint.mk: Adjust to new noreturn support.
13333         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13334         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13335
13336         xalloc: use stdnoreturn.h
13337         * lib/xalloc.h: Include <stdnoreturn.h>.
13338         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13339         * modules/xalloc (Depends-on): Add stdnoreturn.
13340
13341         xstrtol: use stdnoreturn.h
13342         * lib/xstrtol.h: Include <stdnoreturn.h>.
13343         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13344         * modules/xstrtol (Depends-on): Add stdnoreturn.
13345
13346         xmemdup0: use stdnoreturn.h
13347         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13348         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13349         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13350
13351         sigpipe-die: use stdnoreturn.h
13352         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13353         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13354         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13355
13356         openat: use stdnoreturn.h
13357         * lib/openat.h: Include <stdnoreturn.h>.
13358         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13359         * modules/openat (Depends-on): Add stdnoreturn.
13360
13361         * lib/openat-die.c (openat_save_fail): Modernize comment.
13362
13363         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13364
13365         * lib/glthread/thread.h: Modernize comment.
13366
13367         obstack: use _Noreturn
13368         * lib/obstack.c (__attribute__): Remove macro.
13369         (print_and_abort): Use _Noreturn.
13370
13371         c-stack: use _Noreturn
13372         * lib/c-stack.c (die, overflow_handler, segv_handler):
13373         Use _Noreturn rather than __attribute__((noreturn)).
13374
13375         argmatch-tests, exclude_tests: use _Noreturn
13376         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13377         Remove.
13378         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13379
13380         stdlib: use _Noreturn
13381         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13382         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13383         * modules/stdlib (Depends-on): Add _Noreturn.
13384         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13385
13386         stdnoreturn-tests: new module
13387         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13388
13389         stdnoreturn: new module
13390         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13391         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13392
13393         _Noreturn-tests: new module
13394         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13395
13396         _Noreturn: new module
13397         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13398         New section, mentioning it.
13399         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13400
13401         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13402
13403 2011-07-11  Eric Blake  <eblake@redhat.com>
13404
13405         ffs: new module
13406         * modules/ffs: New file.
13407         * m4/ffs.m4: Likewise.
13408         * lib/ffs.c: Likewise.
13409         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13410         * modules/strings (Makefile.am): Substitute witness.
13411         (Depends-on): Add c++defs.
13412         * lib/strings.in.h (ffs): Declare.
13413         * modules/ffs-tests: New test file.
13414         * tests/test-ffs.c: Test new module.
13415         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13416         * doc/posix-functions/ffs.texi (ffs): Likewise.
13417
13418         regex: avoid compiler warning
13419         * lib/regex.c (includes): Include <strings.h>, for use of
13420         strcasecmp in regcomp.c.
13421         Reported by Joachim Schmitz.
13422
13423 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         stdint: respect system's intmax_t if INTMAX_MAX
13426         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
13427         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
13428         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
13429         long but int64_t is long long, and where we will clash with the
13430         system intmax_t if we override it.  See
13431         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
13432         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
13433         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
13434         similarly for UINTMAX_C.
13435
13436 2011-07-08  Bruno Haible  <bruno@clisp.org>
13437
13438         pthread_sigmask tests: Avoid a compiler warning.
13439         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
13440         non-zero.
13441
13442         sigprocmask tests: A better way to avoid a compiler warning.
13443         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
13444         (main): Complain if system() returns non-zero.
13445         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
13446
13447 2011-07-08  Bruno Haible  <bruno@clisp.org>
13448
13449         pthread_sigmask: Work around IRIX bug.
13450         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
13451         bug.
13452         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
13453         there may be unblocked pending signals.
13454         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
13455
13456 2011-07-08  Bruno Haible  <bruno@clisp.org>
13457
13458         pthread_sigmask: Work around Cygwin bug.
13459         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13460         bug.
13461         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13462         the system's pthread_sigmask function.
13463         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13464
13465 2011-07-08  Bruno Haible  <bruno@clisp.org>
13466
13467         pthread_sigmask: Work around bug in single-threaded implementation.
13468         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13469         FreeBSD, HP-UX, Solaris bug.
13470         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13471         * lib/pthread_sigmask.c: Include <stddef.h>.
13472         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13473         the system's pthread_sigmask function.
13474         * modules/pthread_sigmask (configure.ac): Invoke
13475         gl_PREREQ_PTHREAD_SIGMASK.
13476         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13477         HP-UX, Solaris.
13478
13479 2011-07-08  Eric Blake  <eblake@redhat.com>
13480
13481         test-sigprocmask: avoid compiler warning
13482         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13483         * tests/test-sigprocmask.c (main): Use it to silence warning.
13484         Reported by Jim Meyering.
13485
13486         test-snprintf: avoid compiler warning
13487         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13488         * tests/test-vsnprintf.c (main): Likewise.
13489         Reported by Jim Meyering.
13490
13491 2011-07-08  Bruno Haible  <bruno@clisp.org>
13492
13493         Tests for module 'pthread_sigmask'.
13494         * modules/pthread_sigmask-tests: New file.
13495         * tests/test-pthread_sigmask1.c: New file, based on
13496         tests/test-sigprocmask.c.
13497         * tests/test-pthread_sigmask2.c: New file.
13498
13499 2011-07-08  Jim Meyering  <meyering@redhat.com>
13500
13501         test-getopt.h: avoid warning about an unused variable
13502         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13503
13504 2011-07-07  Jim Meyering  <meyering@redhat.com>
13505
13506         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13507         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13508         now that it no longer contains leading TABs.
13509         Remove unused "url=FIXME" statement.
13510
13511 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13512
13513         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13514         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13515         When gl_THREADLIB is not in use, assume that the POSIX sematics
13516         are desired.  This is better for Emacs, which uses POSIX semantics
13517         on GNUish and/or POSIXish platforms, and does not use threads at
13518         all otherwise.
13519
13520         pthread_sigmask: fix typo when testing for libraries
13521         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13522         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13523
13524 2011-07-08  Eric Blake  <eblake@redhat.com>
13525
13526         fts: introduce FTS_NOATIME
13527         * lib/fts_.h (FTS_NOATIME): New bit flag.
13528         (FTS_OPTIONMASK): Adjust.
13529         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13530         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13531
13532 2011-07-08  Bruno Haible  <bruno@clisp.org>
13533
13534         Tests for module 'thread'.
13535         * modules/thread-tests: New file.
13536         * tests/test-thread_self.c: New file.
13537         * tests/test-thread_create.cc: New file.
13538
13539 2011-07-08  Bruno Haible  <bruno@clisp.org>
13540
13541         thread: Avoid gcc warnings when using gl_thread_self().
13542         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13543         'void *'.
13544         (gl_thread_self_pointer): Update.
13545
13546 2011-07-07  Bruno Haible  <bruno@clisp.org>
13547
13548         signal-c++-tests: Check declaration of pthread_sigmask.
13549         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13550         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13551         $(LIB_PTHREAD_SIGMASK).
13552
13553 2011-07-07  Bruno Haible  <bruno@clisp.org>
13554
13555         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13556         * lib/signal.in.h (pthread_sigmask): Override if
13557         REPLACE_PTHREAD_SIGMASK is 1.
13558         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13559         REPLACE_PTHREAD_SIGMASK.
13560         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13561         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13562         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13563         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13564         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13565
13566 2011-07-07  Bruno Haible  <bruno@clisp.org>
13567
13568         pthread_sigmask: Ensure declaration in <signal.h>.
13569         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13570         include <pthread.h>.
13571         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13572         problem.
13573
13574 2011-07-07  Bruno Haible  <bruno@clisp.org>
13575
13576         pthread_sigmask: Document the module.
13577         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13578
13579 2011-07-07  Bruno Haible  <bruno@clisp.org>
13580
13581         pthread_sigmask: Follow gnulib conventions.
13582         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13583         gl_PTHREAD_SIGMASK.
13584         * modules/pthread_sigmask (configure.ac): Update.
13585
13586 2011-07-07  Bruno Haible  <bruno@clisp.org>
13587
13588         pthread_sigmask: Make declaration C++ safe.
13589         * lib/signal.in.h: In two special conditions, just do an #include_next.
13590         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13591         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13592         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13593         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13594         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13595         not REPLACE_PTHREAD_MASK.
13596         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13597         not REPLACE_PTHREAD_MASK.
13598         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13599
13600 2011-07-07  Bruno Haible  <bruno@clisp.org>
13601
13602         pthread_sigmask: Fix return value.
13603         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13604         * lib/pthread_sigmask.c: New file.
13605         * modules/pthread_sigmask (Files): Add it.
13606         (configure.ac): Invoke AC_LIBOBJ.
13607
13608 2011-07-07  Eric Blake  <eblake@redhat.com>
13609
13610         getopt: more portable argv creation
13611         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13612         const, use char arrays rather than strings.
13613         Suggested by Paul Eggert.
13614
13615 2011-07-07  Bruno Haible  <bruno@clisp.org>
13616
13617         Tests for module 'sigprocmask'.
13618         * modules/sigprocmask-tests: New file.
13619         * tests/test-sigprocmask.c: New file.
13620
13621 2011-07-07  Bruno Haible  <bruno@clisp.org>
13622
13623         float tests: Tweak.
13624         * tests/test-float.c (main): Tweak skip message.
13625
13626 2011-07-07  Eric Blake  <eblake@redhat.com>
13627
13628         getopt: avoid compiler warning during configure
13629         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13630         assigning string literals to non-const pointer.
13631
13632         getopt-gnu: avoid crash in glibc getopt
13633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13634         * tests/test-getopt.h (test_getopt): Enhance test.
13635         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13636         * doc/posix-functions/getopt.texi (getopt): Document it.
13637         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13638         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13639         Likewise.
13640
13641 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13642
13643         getopt: handle W; without long options in getopt [BZ #12922]
13644         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13645         but no long options are defined, just return 'W'.
13646
13647 2011-07-07  Bruno Haible  <bruno@clisp.org>
13648
13649         Avoid literal tabs.
13650         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13651         variable containing a tab instead of a literal tab.
13652         Reported by Jim Meyering.
13653
13654 2011-07-07  Bruno Haible  <bruno@clisp.org>
13655
13656         Comments.
13657         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13658
13659 2011-07-06  Bruno Haible  <bruno@clisp.org>
13660
13661         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13662         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13663         <winsock2.h>.
13664         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13665         lib/sys_socket.in.h.
13666         (close, gethostname): Hide declarations from <winsock2.h>.
13667         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13668         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13669         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13670         (select): Don't override if gnulib's <sys/select.h> was already
13671         included.
13672         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13673         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13674         setsockopt, shutdown, select): Tweak indentation.
13675
13676 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13677
13678         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13679         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13680         in an application that does not use the sys_select module.
13681
13682 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13683
13684         poll: do not return 0 on timeout=-1
13685         * lib/poll.c: Loop with yield if no events occured
13686
13687 2011-07-06  Eric Blake  <eblake@redhat.com>
13688
13689         pthread_sigmask: always replace when not using pthread
13690         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13691         replacement when using some threading other than pthread.  Fix
13692         logic bug.
13693
13694 2011-07-06  Bruno Haible  <bruno@clisp.org>
13695
13696         Comments.
13697         * m4/printf.m4: Update comments about mingw.
13698
13699 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13700
13701         sys_select: define sigset_t more portably
13702         * lib/sys_select.in.h: Always include <sys/types.h>, since
13703         we now need sigset_t and mingw defines it there.
13704         Include <signal.h> before split inclusion guard, to avoid
13705         mishaps on Solaris, whose <signal.h> eventually includes us.
13706         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13707         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13708         which come from ...
13709         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13710         gl_CHECK_TYPE_SIGSET_T.
13711         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13712         does the real work.
13713         * modules/sys_select (Depends-on): Add 'signal'.
13714
13715         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13716         Suggested by Bruno Haible.
13717
13718         pselect: Use pthread_sigmask, not sigprocmask.
13719         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13720         multithreaded apps better than sigprocmask does.
13721         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13722         sigprocmask directly.
13723
13724 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13725
13726         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13727         Don't #undef,  since we don't need any underlying pselect.
13728         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13729         (Depends-on): Add select.
13730         (Link): Add $(LIBSOCKET).
13731         These changes suggested by Bruno Haible.
13732
13733         pselect: document better
13734         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13735         * doc/posix-functions/pselect.texi (pselect): Document new module.
13736
13737         pthread_sigmask: new module
13738         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13739         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13740         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13741         This is done only as a macro; I don't know how well that'll
13742         work for C++.  Move <sys/types.h> include before the include_next,
13743         to avoid mishap on Solaris.
13744         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13745         * modules/signal (Makefile.am): Substitute the check's results.
13746         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13747
13748         test-pselect: new module
13749         * modules/pselect-tests, tests/test-pselect.c: New files.
13750         * tests/test-select.c, tests/test-sys_select-c++.cc:
13751         If TEST_PSELECT is defined, test pselect instead of testing select.
13752
13753         * tests/test-sys_select.c (sigset_t): Test for it, too.
13754         Suggested by Bruno Haible.
13755
13756 2011-07-05  Eric Blake  <eblake@redhat.com>
13757
13758         snprintf: guarantee %1$d, for libintl
13759         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13760         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13761         * doc/posix-functions/snprintf.texi (snprintf): Update.
13762         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13763         * tests/test-snprintf.c (main): Enhance test.
13764         * tests/test-vsnprintf.c (main): Likewise.
13765
13766 2011-07-05  Jim Meyering  <meyering@redhat.com>
13767
13768         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13769         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13770         per Bruno's request, to accommodate this idiom (no space after "#")
13771         even when the function is inside an #if block:
13772         char *
13773         gets (char *s)
13774         #undef gets
13775         {
13776           ...
13777         }
13778
13779 2011-07-04  Jim Meyering  <meyering@redhat.com>
13780
13781         maint: indent with spaces, not TABs, and add a rule to check this
13782         * tests/test-userspec.c: Indent with spaces, not TABs.
13783         * tests/test-argp.c: Likewise.
13784         * tests/test-c-stack2.sh: Likewise.
13785         * tests/test-parse-duration.sh: Likewise
13786         * m4/strtod.m4: Likewise.
13787         * m4/alloca.m4: Likewise.
13788         * m4/pselect.m4: Likewise.
13789         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13790
13791 2011-07-03  Jim Meyering  <meyering@redhat.com>
13792
13793         maint.mk: correct omissions in prohibit_argmatch_without_use check
13794         This rule would mistakenly report that argmatch.h is included without
13795         use even when both the argmatch and invalid_arg macro were used.
13796         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13797         of argmatch and invalid_arg.
13798
13799 2011-07-03  Bruno Haible  <bruno@clisp.org>
13800
13801         Comments about EINTR.
13802         * lib/safe-read.h: Explain the purpose of this module.
13803         * lib/safe-write.h: Likewise.
13804         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13805         module.
13806         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13807         module.
13808         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13809
13810 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13811
13812         xnanosleep: Rewrite to use new dtotimespec module.
13813         It has the conversion code that used to be in xnanosleep.
13814         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13815         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13816         (TIME_T_MAX): Remove.
13817         (xnanosleep): Rewrite in terms of dtotimespec.
13818         * modules/xnanosleep (Depends-on): Add dtotimespec.
13819         Remove intprops, stdbool.
13820
13821         timespec-add, timespec-sub: new modules
13822         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13823         * lib/timespec-add.c, lib/timespec-sub.c:
13824         * modules/timespec-add, modules/timespec-sub: New files.
13825
13826         dtotimespec: new module
13827         * lib/timespec.h (dtotimespec): New decl.
13828         * lib/dtotimespec.c, modules/dtotimespec: New files.
13829
13830         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13831
13832         pselect: new module
13833         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13834         (pselect): New decls.
13835         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13836         since the standard pselect decl uses 'restrict'.
13837         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13838         HAVE_PSELECT, REPLACE_PSELECT.
13839         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13840         HAVE_PSELECT, REPLACE_PSELECT.
13841         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13842
13843         sys_select: don't depend on sys_socket
13844         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13845         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13846         This fix works on GNU and GNU-like platforms, but has not been tested
13847         on native Windows.
13848         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13849         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13850         gl_HEADER_SYS_SOCKET.
13851         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13852         gl_PREREQ_SYS_H_WINSOCK2.
13853
13854 2011-06-29  Eric Blake  <eblake@redhat.com>
13855
13856         pipe2: fix C89 compile problem
13857         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13858         Reported by Bruno Haible.
13859
13860         pipe, pipe2: don't corrupt fd on error
13861         * lib/pipe.c (pipe): Leave fd unchanged on error.
13862         * lib/pipe2.c (pipe2): Likewise.
13863         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13864         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13865
13866 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13867
13868         mmap-anon: do not use regular expressions inadvertently
13869         * m4/mmap-anon.m4: Remove trailing period from strings sought
13870         in the output.
13871
13872 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13873
13874         nanosleep: fix integer overflow problem
13875         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13876         arithmetic wraps around on overflow.
13877
13878         nanosleep: simplify carrying
13879         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13880         first call to the underyling nanosleep, not for the last one.
13881         This doesn't fix any bugs, but it simplifies the computation of
13882         the remaining delay.  Found while auditing integer overflow issues.
13883
13884         dup2: remove test for existence of fcntl
13885         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13886         "#if HAVE_FCNTL", in the configure-time test program.
13887         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13888         and therefore speeds up "configure" a bit.  Found while
13889         adding the dup2 module to Emacs.
13890
13891 2011-06-24  Eric Blake  <eblake@redhat.com>
13892
13893         maint.mk: enhance useless header checks
13894         * top/maint.mk (_sc_header_without_use): Check both include
13895         styles.
13896         (sc_prohibit_assert_without_use)
13897         (sc_prohibit_close_stream_without_use)
13898         (sc_prohibit_getopt_without_use)
13899         (sc_prohibit_quotearg_without_use)
13900         (sc_prohibit_quote_without_use)
13901         (sc_prohibit_long_options_without_use)
13902         (sc_prohibit_inttostr_without_use)
13903         (sc_prohibit_ignore_value_without_use)
13904         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13905         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13906         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13907         (sc_prohibit_hash_pjw_without_use)
13908         (sc_prohibit_safe_read_without_use)
13909         (sc_prohibit_argmatch_without_use)
13910         (sc_prohibit_canonicalize_without_use)
13911         (sc_prohibit_root_dev_ino_without_use)
13912         (sc_prohibit_openat_without_use)
13913         (sc_prohibit_c_ctype_without_use)
13914         (sc_prohibit_signal_without_use)
13915         (sc_prohibit_stdio--_without_use)
13916         (sc_prohibit_stdio-safer_without_use)
13917         (sc_prohibit_strings_without_use)
13918         (sc_prohibit_intprops_without_use)
13919         (sc_prohibit_stddef_without_use)
13920         (sc_prohibit_xfreopen_without_use): Update clients.
13921
13922 2011-06-24  Jim Meyering  <meyering@redhat.com>
13923
13924         syntax-check: keep one maint.mk rule in sync with its header
13925         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13926         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13927         I prefer to avoid temporary files here, so use <(...), but that
13928         is not supported by /bin/sh, so...
13929         (SHELL): Define to /bin/bash.
13930
13931 2011-06-24  Eric Blake  <eblake@redhat.com>
13932
13933         maint.mk: update sc_prohibit_intprops_without_use
13934         * top/maint.mk (_intprops_names): Match recent changes.
13935
13936 2011-06-24  Bruno Haible  <bruno@clisp.org>
13937
13938         strerror-override: No-op tweak.
13939         * lib/strerror-override.h (strerror_override): Reorder conditions,
13940         for consistency with lib/strerror-override.c.
13941
13942 2011-06-23  Eric Blake  <eblake@redhat.com>
13943
13944         maint.mk: test further PATH_MAX issues
13945         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13946         (sc_prohibit_path_max_allocation): ...and also test alloca.
13947         Suggested by Jim Meyering.
13948
13949 2011-06-22  Eric Blake  <eblake@redhat.com>
13950
13951         maint.mk: add syntax-check to avoid char[PATH_MAX]
13952         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13953
13954         stat: be robust to PATH_MAX definition
13955         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13956         * modules/stat (Depends-on): Add verify.
13957
13958         link: work around IRIX bug
13959         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13960         * lib/link.c (rpl_link): Work around it.
13961         * tests/test-link.h (test_link): Enhance test.
13962         * doc/posix-functions/link.texi (link): Document the bug.
13963
13964         getopt: silence clang warning
13965         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13966         dereference.
13967         Reported by Gustavo Martin Domato.
13968
13969 2011-06-22  Jim Meyering  <meyering@redhat.com>
13970
13971         bootstrap: do not insert a blank line into each .gitignore file
13972         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13973
13974 2011-06-21  Eric Blake  <eblake@redhat.com>
13975
13976         perror: test for output mismatch
13977         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13978         perror on IRIX.
13979
13980         strerror_r: fix OpenBSD behavior on out-of-range
13981         * lib/strerror_r.c (strerror_r): Always use maximal string.
13982         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13983
13984         strerror_r: fix OpenBSD behavior on 0
13985         * lib/strerror-override.c (strerror_override): Also override 0
13986         when needed.
13987         * lib/strerror-override.h (strerror_override): Likewise.
13988         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13989         earlier.
13990         * lib/strerror_r.c (strerror_r): Likewise.
13991         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13992         behavior...
13993         (gl_FUNC_STRERROR_0): ...into new macro.
13994         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13995         is overridden.
13996         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13997         * modules/strerror-override (Files): Add strerror.m4.
13998         (configure.ac): Also provide override for 0 when needed.
13999         * doc/posix-functions/strerror.texi (strerror): Document this.
14000         * doc/posix-functions/perror.texi (perror): Likewise.
14001
14002         perror: adjust array size
14003         * modules/perror (Depends-on): Add strerror-override.
14004         * lib/perror.c (perror): Use it to avoid magic number.
14005
14006         strerror-override: reduce size
14007         * lib/strerror-override.c (strerror_override): Use fewer lines.
14008
14009 2011-06-20  Bruno Haible  <bruno@clisp.org>
14010
14011         pathmax: Ensure correct value for PATH_MAX on HP-UX.
14012         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
14013
14014 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14015
14016         alloca: port to compilers that can optimize like GCC 4.6.0
14017         * lib/alloca.c (find_stack_direction): New signature, taken from
14018         Autoconf git.  This works with GCC 4.6.0.  This code should never
14019         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
14020         be used with other compilers that optimize as well as GCC 4.6.0 does.
14021         (alloca): Adjust to new signature.
14022         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
14023         New macro, which patches Autoconf in a similar way.
14024
14025         c-stack: stop worrying about stack direction
14026         * lib/c-stack.c (find_stack_direction): Remove.
14027         (segv_handler): Don't worry about stack direction growth, as it's
14028         too much of a pain to configure this correctly, given how compilers
14029         are optimizing-away our stack-growth detection code.  Instead, assume
14030         that any access to just before or just after the stack is OK.
14031         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14032         Don't require AC_FUNC_ALLOCA; no longer needed.
14033
14034 2011-06-20  Eric Blake  <eblake@redhat.com>
14035
14036         test-stat: don't allocate PATH_MAX bytes
14037         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
14038         PATH_MAX-sized buffer.
14039         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
14040         * modules/stat-tests (Depends-on): Likewise.
14041         * tests/test-fstatat.c (includes): Drop pathmax.h.
14042         * tests/test-stat.c (includes): Likewise.
14043         Reported by Bruno Haible.
14044
14045 2011-06-20  Bruno Haible  <bruno@clisp.org>
14046
14047         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
14048         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
14049         * lib/float.c: New file.
14050         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
14051         REPLACE_FLOAT_LDBL.
14052         * modules/float (Files): Add lib/float.c.
14053         (configure.ac): Invoke AC_LIBOBJ.
14054         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
14055
14056 2011-06-20  Bruno Haible  <bruno@clisp.org>
14057
14058         Tests for module 'float'.
14059         * modules/float-tests: New file.
14060         * tests/test-float.c: New file.
14061
14062 2011-06-19  Bruno Haible  <bruno@clisp.org>
14063
14064         isinf: Coding style.
14065         * lib/isinf.c: Use GNU coding style.
14066
14067 2011-06-19  Bruno Haible  <bruno@clisp.org>
14068
14069         linkat test: Avoid test failure on AIX 7.1.
14070         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
14071         * tests/test-link.h (test_link): Likewise.
14072
14073 2011-06-19  Bruno Haible  <bruno@clisp.org>
14074
14075         pread test: Avoid test failure on OpenBSD 4.9.
14076         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
14077
14078 2011-06-19  Bruno Haible  <bruno@clisp.org>
14079
14080         sprintf-posix: Fix test failure on AIX 7.1.
14081         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
14082         * doc/posix-functions/dprintf.texi: Mention limited precision problem
14083         on AIX.
14084         * doc/posix-functions/fprintf.texi: Likewise.
14085         * doc/posix-functions/printf.texi: Likewise.
14086         * doc/posix-functions/snprintf.texi: Likewise.
14087         * doc/posix-functions/sprintf.texi: Likewise.
14088         * doc/posix-functions/vdprintf.texi: Likewise.
14089         * doc/posix-functions/vfprintf.texi: Likewise.
14090         * doc/posix-functions/vprintf.texi: Likewise.
14091         * doc/posix-functions/vsnprintf.texi: Likewise.
14092         * doc/posix-functions/vsprintf.texi: Likewise.
14093
14094 2011-06-19  Bruno Haible  <bruno@clisp.org>
14095
14096         roundl-ieee: Fix test failure on AIX 7.1.
14097         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
14098         * doc/posix-functions/roundl.texi: Mention problem with negative
14099         arguments.
14100
14101 2011-06-19  Bruno Haible  <bruno@clisp.org>
14102
14103         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14104         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
14105         * doc/posix-functions/round.texi: Mention problem with negative
14106         arguments.
14107         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
14108
14109 2011-06-19  Bruno Haible  <bruno@clisp.org>
14110
14111         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14112         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
14113         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
14114         * doc/posix-functions/roundf.texi: Mention problem with negative
14115         arguments.
14116         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
14117
14118 2011-06-19  Bruno Haible  <bruno@clisp.org>
14119
14120         ceilf-ieee: Work around bug on MacOS X 10.5.
14121         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
14122
14123         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
14124         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
14125         IEEE compliant, avoid compiler optimizations.
14126         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14127         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14128         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14129         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14130         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14131         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14132         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14133         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14134         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14135         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14136
14137 2011-06-19  Bruno Haible  <bruno@clisp.org>
14138
14139         ceilf-ieee: Work around bug on AIX 7.1.
14140         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14141         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14142
14143 2011-06-19  Bruno Haible  <bruno@clisp.org>
14144
14145         ceil-ieee: Work around bug on AIX 7.1.
14146         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14147         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14148
14149 2011-06-18  Bruno Haible  <bruno@clisp.org>
14150
14151         fsync test: Avoid test failure on MacOS X and AIX.
14152         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14153         EINVAL.
14154
14155 2011-06-18  Bruno Haible  <bruno@clisp.org>
14156
14157         openat, fdopendir tests: Fix link errors.
14158         * modules/openat-tests (Depends-on): Add progname.
14159         * modules/fdopendir-tests (Depends-on): Likewise.
14160         * tests/test-fchownat.c: Include progname.h.
14161         (main): Call set_program_name.
14162         * tests/test-fstatat.c: Include progname.h.
14163         (main): Call set_program_name.
14164         * tests/test-mkdirat.c: Include progname.h.
14165         (main): Call set_program_name.
14166         * tests/test-openat.c: Include progname.h.
14167         (main): Call set_program_name.
14168         * tests/test-unlinkat.c: Include progname.h.
14169         (main): Call set_program_name.
14170         * tests/test-fdopendir.c: Include progname.h.
14171         (main): Call set_program_name.
14172
14173 2011-06-18  Bruno Haible  <bruno@clisp.org>
14174
14175         Doc update.
14176         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14177         HP-UX.
14178         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14179
14180 2011-06-18  Bruno Haible  <bruno@clisp.org>
14181
14182         getcwd tests: Avoid compilation error on HP-UX 11.31.
14183         * modules/getcwd-tests (Depends-on): Add pathmax.
14184         * tests/test-getcwd.c: Include pathmax.h.
14185
14186 2011-06-18  Bruno Haible  <bruno@clisp.org>
14187
14188         isfinite, isinf: Fix link error on AIX 6 and 7.
14189         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14190         needed, also test the macro with a 'float' argument.
14191         * m4/isinf.m4 (gl_ISINF): Likewise.
14192
14193 2011-06-18  Bruno Haible  <bruno@clisp.org>
14194
14195         getloadavg: Don't clobber LIBS. Regression from previous commit.
14196         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14197         AC_CHECK_LIB from here...
14198         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14199         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14200         gl_func_getloadavg_done.
14201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14202
14203 2011-06-18  Bruno Haible  <bruno@clisp.org>
14204
14205         clean-temp: Improve documentation.
14206         * lib/clean-temp.h: Explain better how to use this module.
14207         Reported by John Darrington <john@darrington.wattle.id.au>.
14208
14209 2011-06-17  Bruno Haible  <bruno@clisp.org>
14210
14211         pread, pwrite: Avoid cc warning on AIX.
14212         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14213         (pwrite): Likewise.
14214
14215 2011-06-17  Bruno Haible  <bruno@clisp.org>
14216
14217         spawn-pipe tests: Fix link error.
14218         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14220
14221 2011-06-17  Bruno Haible  <bruno@clisp.org>
14222
14223         Tests: Remove unnecessary dependency.
14224         * modules/canonicalize-tests (Depends-on): Remove progname.
14225         * modules/chown-tests (Depends-on): Likewise.
14226         * modules/dirname-tests (Depends-on): Likewise.
14227         * modules/fdopendir-tests (Depends-on): Likewise.
14228         * modules/fdutimensat-tests (Depends-on): Likewise.
14229         * modules/hash-tests (Depends-on): Likewise.
14230         * modules/lchown-tests (Depends-on): Likewise.
14231         * modules/linkat-tests (Depends-on): Likewise.
14232         * modules/renameat-tests (Depends-on): Likewise.
14233         * modules/spawn-pipe-tests (Depends-on): Likewise.
14234         * modules/utimensat-tests (Depends-on): Likewise.
14235
14236 2011-06-17  Bruno Haible  <bruno@clisp.org>
14237
14238         spawn-pipe tests: Fix link error.
14239         * tests/test-spawn-pipe-child.c: Undefine fflush.
14240
14241 2011-06-17  Bruno Haible  <bruno@clisp.org>
14242
14243         Fix tests link errors.
14244         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14245         * modules/chown-tests (Makefile.am): Don't link test-chown with
14246         LIBINTL.
14247         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14248         LIBINTL.
14249         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14250         LIBINTL.
14251         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14252         LIBINTL.
14253
14254 2011-06-16  Bruno Haible  <bruno@clisp.org>
14255
14256         crypto/gc-sha1: Fix recent regression.
14257         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14258         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14259
14260         crypto/gc-md5: Fix recent regression.
14261         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14262
14263         crypto/gc-md4: Fix recent regression.
14264         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14265         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14266
14267         crypto/gc-arctwo: Fix recent regression.
14268         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14269         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14270
14271         crypto/gc-rijndael: Fix recent regression.
14272         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14273         (configure.ac): Invoke AC_LIBOBJ here.
14274         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14275         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14276
14277         crypto/gc-hmac-sha1: Fix recent regression.
14278         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14279         (configure.ac): Invoke AC_LIBOBJ here.
14280         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14281         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14282
14283         crypto/gc-hmac-md5: Fix recent regression.
14284         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14285         (configure.ac): Invoke AC_LIBOBJ here.
14286         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14287         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14288
14289         crypto/gc-des: Fix recent regression.
14290         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14291         (configure.ac): Invoke AC_LIBOBJ here.
14292         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14293         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14294
14295         crypto/gc-arcfour: Fix recent regression.
14296         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14297         (configure.ac): Invoke AC_LIBOBJ here.
14298         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14299         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14300
14301 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14304         After the 2011-05-21 change, this macro requires
14305         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14306         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14307
14308 2011-06-16  Bruno Haible  <bruno@clisp.org>
14309
14310         fprintftime: Move AC_LIBOBJ invocations to module description.
14311         * m4/fprintftime.m4: Remove file.
14312         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14313         (configure.ac): Remove gl_FPRINTFTIME call.
14314         (Makefile.am): Augment lib_SOURCES.
14315         Reported by Jim Meyering.
14316
14317 2011-06-16  Bruno Haible  <bruno@clisp.org>
14318
14319         tmpfile-safer: Finish 2011-05-23 commit.
14320         * m4/stdio-safer.m4: Really remove file.
14321         Reported by Jim Meyering.
14322
14323 2011-06-16  Bruno Haible  <bruno@clisp.org>
14324
14325         syntax-check: Fix typo.
14326         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14327         printf-posix.m4.
14328         Reported by Jim Meyering.
14329
14330 2011-06-13  Jim Meyering  <meyering@redhat.com>
14331
14332         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14333         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14334
14335 2011-05-23  Bruno Haible  <bruno@clisp.org>
14336
14337         yesno: Move AC_LIBOBJ invocations to module description.
14338         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14339         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14340
14341 2011-05-23  Bruno Haible  <bruno@clisp.org>
14342
14343         xstrtol: Move AC_LIBOBJ invocations to module description.
14344         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14345         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14346
14347 2011-05-23  Bruno Haible  <bruno@clisp.org>
14348
14349         xstrtold: Move AC_LIBOBJ invocations to module description.
14350         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14351         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14352
14353 2011-05-23  Bruno Haible  <bruno@clisp.org>
14354
14355         xstrtod: Move AC_LIBOBJ invocations to module description.
14356         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14357         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14358
14359 2011-05-23  Bruno Haible  <bruno@clisp.org>
14360
14361         xnanosleep: Move AC_LIBOBJ invocations to module description.
14362         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14363         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14364
14365 2011-05-23  Bruno Haible  <bruno@clisp.org>
14366
14367         xgetcwd: Move AC_LIBOBJ invocations to module description.
14368         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14369         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14370
14371 2011-05-23  Bruno Haible  <bruno@clisp.org>
14372
14373         xalloc: Move AC_LIBOBJ invocations to module description.
14374         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14375         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14376
14377 2011-05-23  Bruno Haible  <bruno@clisp.org>
14378
14379         write-any-file: Move AC_LIBOBJ invocations to module description.
14380         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14381         invocation.
14382         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14383
14384 2011-05-23  Bruno Haible  <bruno@clisp.org>
14385
14386         utimens: Move AC_LIBOBJ invocations to module description.
14387         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14388         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14389
14390 2011-05-23  Bruno Haible  <bruno@clisp.org>
14391
14392         utimecmp: Move AC_LIBOBJ invocations to module description.
14393         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14394         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14395
14396 2011-05-23  Bruno Haible  <bruno@clisp.org>
14397
14398         userspec: Move AC_LIBOBJ invocations to module description.
14399         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14400         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14401
14402 2011-05-23  Bruno Haible  <bruno@clisp.org>
14403
14404         unlinkdir: Move AC_LIBOBJ invocations to module description.
14405         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14406         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14407
14408 2011-05-23  Bruno Haible  <bruno@clisp.org>
14409
14410         unistd-safer: Move AC_LIBOBJ invocations to module description.
14411         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14412         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14413
14414 2011-05-23  Bruno Haible  <bruno@clisp.org>
14415
14416         tempname: Move AC_LIBOBJ invocations to module description.
14417         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14418         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14419
14420 2011-05-23  Bruno Haible  <bruno@clisp.org>
14421
14422         strftime: Move AC_LIBOBJ invocations to module description.
14423         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
14424         * modules/strftime (Makefile.am): Augment lib_SOURCES.
14425
14426 2011-05-23  Bruno Haible  <bruno@clisp.org>
14427
14428         stdlib-safer: Move AC_LIBOBJ invocations to module description.
14429         * m4/stdlib-safer.m4: Remove file.
14430         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
14431         (configure.ac): Remove gl_STDLIB_SAFER call.
14432         (Makefile.am): Augment lib_SOURCES.
14433
14434 2011-05-23  Bruno Haible  <bruno@clisp.org>
14435
14436         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
14437         * m4/stdio-safer.m4: Remove file.
14438         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
14439         (configure.ac): Remove gl_TMPFILE_SAFER call.
14440         (Makefile.am): Augment lib_SOURCES.
14441
14442 2011-05-23  Bruno Haible  <bruno@clisp.org>
14443
14444         popen-safer: Move AC_LIBOBJ invocations to module description.
14445         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
14446         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
14447         (configure.ac): Remove gl_POPEN_SAFER call.
14448         (Makefile.am): Augment lib_SOURCES.
14449
14450 2011-05-23  Bruno Haible  <bruno@clisp.org>
14451
14452         freopen-safer: Move AC_LIBOBJ invocations to module description.
14453         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
14454         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
14455         (configure.ac): Remove gl_FREOPEN_SAFER call.
14456         (Makefile.am): Augment lib_SOURCES.
14457
14458 2011-05-23  Bruno Haible  <bruno@clisp.org>
14459
14460         fopen-safer: Move AC_LIBOBJ invocations to module description.
14461         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14462         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14463         (configure.ac): Remove gl_FOPEN_SAFER call.
14464         (Makefile.am): Augment lib_SOURCES.
14465
14466 2011-05-23  Bruno Haible  <bruno@clisp.org>
14467
14468         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14469         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14470         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14471
14472 2011-05-23  Bruno Haible  <bruno@clisp.org>
14473
14474         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14475         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14476         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14477
14478 2011-05-23  Bruno Haible  <bruno@clisp.org>
14479
14480         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14481         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14482         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14483
14484 2011-05-23  Bruno Haible  <bruno@clisp.org>
14485
14486         settime: Move AC_LIBOBJ invocations to module description.
14487         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14488         * modules/settime (Makefile.am): Augment lib_SOURCES.
14489
14490 2011-05-23  Bruno Haible  <bruno@clisp.org>
14491
14492         savedir: Move AC_LIBOBJ invocations to module description.
14493         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14494         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14495
14496 2011-05-23  Bruno Haible  <bruno@clisp.org>
14497
14498         save-cwd: Move AC_LIBOBJ invocations to module description.
14499         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14500         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14501
14502 2011-05-23  Bruno Haible  <bruno@clisp.org>
14503
14504         same: Move AC_LIBOBJ invocations to module description.
14505         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14506         * modules/same (Makefile.am): Augment lib_SOURCES.
14507
14508 2011-05-23  Bruno Haible  <bruno@clisp.org>
14509
14510         safe-write: Move AC_LIBOBJ invocations to module description.
14511         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14512         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14513         instead of gl_SAFE_WRITE.
14514         (Makefile.am): Augment lib_SOURCES.
14515
14516 2011-05-23  Bruno Haible  <bruno@clisp.org>
14517
14518         safe-read: Move AC_LIBOBJ invocations to module description.
14519         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14520         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14521         of gl_SAFE_READ.
14522         (Makefile.am): Augment lib_SOURCES.
14523
14524 2011-05-23  Bruno Haible  <bruno@clisp.org>
14525
14526         safe-alloc: Move AC_LIBOBJ invocations to module description.
14527         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14528         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14529
14530 2011-05-23  Bruno Haible  <bruno@clisp.org>
14531
14532         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14533         * m4/rijndael.m4: Remove file.
14534         * modules/crypto/rijndael (Files): Remove it.
14535         (configure.ac): Remove gl_RIJNDAEL call.
14536         (Makefile.am): Augment lib_SOURCES.
14537
14538 2011-05-23  Bruno Haible  <bruno@clisp.org>
14539
14540         readtokens: Move AC_LIBOBJ invocations to module description.
14541         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14542         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14543
14544 2011-05-23  Bruno Haible  <bruno@clisp.org>
14545
14546         read-file: Move AC_LIBOBJ invocations to module description.
14547         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14548         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14549         of gl_FUNC_READ_FILE.
14550         (Makefile.am): Augment lib_SOURCES.
14551
14552 2011-05-23  Bruno Haible  <bruno@clisp.org>
14553
14554         quotearg: Move AC_LIBOBJ invocations to module description.
14555         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14556         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14557
14558 2011-05-23  Bruno Haible  <bruno@clisp.org>
14559
14560         quote: Move AC_LIBOBJ invocations to module description.
14561         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14562         * modules/quote (Makefile.am): Augment lib_SOURCES.
14563
14564 2011-05-23  Bruno Haible  <bruno@clisp.org>
14565
14566         posixver: Move AC_LIBOBJ invocations to module description.
14567         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14568         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14569
14570 2011-05-23  Bruno Haible  <bruno@clisp.org>
14571
14572         posixtm: Move AC_LIBOBJ invocations to module description.
14573         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14574         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14575
14576 2011-05-23  Bruno Haible  <bruno@clisp.org>
14577
14578         physmem: Move AC_LIBOBJ invocations to module description.
14579         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14580         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14581
14582 2011-05-23  Bruno Haible  <bruno@clisp.org>
14583
14584         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14585         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14586         invocation.
14587         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14588
14589 2011-05-23  Bruno Haible  <bruno@clisp.org>
14590
14591         mpsort: Move AC_LIBOBJ invocations to module description.
14592         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14593         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14594
14595 2011-05-23  Bruno Haible  <bruno@clisp.org>
14596
14597         modechange: Move AC_LIBOBJ invocations to module description.
14598         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14599         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14600
14601 2011-05-23  Bruno Haible  <bruno@clisp.org>
14602
14603         mkdir-p: Move AC_LIBOBJ invocations to module description.
14604         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14605         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14606
14607 2011-05-23  Bruno Haible  <bruno@clisp.org>
14608
14609         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14610         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14611         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14612
14613 2011-05-23  Bruno Haible  <bruno@clisp.org>
14614
14615         mgetgroups: Move AC_LIBOBJ invocations to module description.
14616         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14617         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14618
14619 2011-05-23  Bruno Haible  <bruno@clisp.org>
14620
14621         memxor: Move AC_LIBOBJ invocations to module description.
14622         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14623         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14624
14625 2011-05-23  Bruno Haible  <bruno@clisp.org>
14626
14627         memcoll: Move AC_LIBOBJ invocations to module description.
14628         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14629         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14630
14631 2011-05-23  Bruno Haible  <bruno@clisp.org>
14632
14633         memcasecmp: Move AC_LIBOBJ invocations to module description.
14634         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14635         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14636
14637 2011-05-23  Bruno Haible  <bruno@clisp.org>
14638
14639         crypto/md5: Move AC_LIBOBJ invocations to module description.
14640         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14641         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14642
14643 2011-05-23  Bruno Haible  <bruno@clisp.org>
14644
14645         crypto/md4: Move AC_LIBOBJ invocations to module description.
14646         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14647         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14648
14649 2011-05-23  Bruno Haible  <bruno@clisp.org>
14650
14651         crypto/md2: Move AC_LIBOBJ invocations to module description.
14652         * m4/md2.m4: Remove file.
14653         * modules/crypto/md2 (Files): Remove it.
14654         (configure.ac): Remove gl_MD2 call.
14655         (Makefile.am): Augment lib_SOURCES.
14656
14657 2011-05-23  Bruno Haible  <bruno@clisp.org>
14658
14659         long-options: Move AC_LIBOBJ invocations to module description.
14660         * m4/long-options.m4: Remove file.
14661         * modules/long-options (Files): Remove it.
14662         (configure.ac): Remove gl_LONG_OPTIONS call.
14663         (Makefile.am): Augment lib_SOURCES.
14664
14665 2011-05-23  Bruno Haible  <bruno@clisp.org>
14666
14667         i-ring: Move AC_LIBOBJ invocations to module description.
14668         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14669         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14670
14671 2011-05-23  Bruno Haible  <bruno@clisp.org>
14672
14673         idcache: Move AC_LIBOBJ invocations to module description.
14674         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14675         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14676
14677 2011-05-23  Bruno Haible  <bruno@clisp.org>
14678
14679         human: Move AC_LIBOBJ invocations to module description.
14680         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14681         * modules/human (Makefile.am): Augment lib_SOURCES.
14682
14683 2011-05-23  Bruno Haible  <bruno@clisp.org>
14684
14685         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14686         * m4/hmac-sha1.m4: Remove file.
14687         * modules/crypto/hmac-sha1 (Files): Remove it.
14688         (configure.ac): Remove gl_HMAC_SHA1 call.
14689         (Makefile.am): Augment lib_SOURCES.
14690
14691 2011-05-23  Bruno Haible  <bruno@clisp.org>
14692
14693         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14694         * m4/hmac-md5.m4: Remove file.
14695         * modules/crypto/hmac-md5 (Files): Remove it.
14696         (configure.ac): Remove gl_HMAC_MD5 call.
14697         (Makefile.am): Augment lib_SOURCES.
14698
14699 2011-05-23  Bruno Haible  <bruno@clisp.org>
14700
14701         hash: Move AC_LIBOBJ invocations to module description.
14702         * m4/hash.m4: Remove file.
14703         * modules/hash (Files): Remove it.
14704         (configure.ac): Remove gl_HASH call.
14705         (Makefile.am): Augment lib_SOURCES.
14706
14707 2011-05-23  Bruno Haible  <bruno@clisp.org>
14708
14709         hard-locale: Move AC_LIBOBJ invocations to module description.
14710         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14711         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14712
14713 2011-05-23  Bruno Haible  <bruno@clisp.org>
14714
14715         getugroups: Move AC_LIBOBJ invocations to module description.
14716         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14717         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14718
14719 2011-05-23  Bruno Haible  <bruno@clisp.org>
14720
14721         gettime: Move AC_LIBOBJ invocations to module description.
14722         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14723         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14724
14725 2011-05-23  Bruno Haible  <bruno@clisp.org>
14726
14727         getndelim2: Move AC_LIBOBJ invocations to module description.
14728         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14729         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14730
14731 2011-05-23  Bruno Haible  <bruno@clisp.org>
14732
14733         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14734         * m4/gc-pbkdf2-sha1.m4: Remove file.
14735         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14736         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14737         (Makefile.am): Augment lib_SOURCES.
14738
14739 2011-05-23  Bruno Haible  <bruno@clisp.org>
14740
14741         fts: Move AC_LIBOBJ invocations to module description.
14742         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14743         * modules/fts (configure.ac): ... to here.
14744
14745 2011-05-23  Bruno Haible  <bruno@clisp.org>
14746
14747         file-type: Move AC_LIBOBJ invocations to module description.
14748         * m4/file-type.m4: Remove file.
14749         * modules/file-type (Files): Remove it.
14750         (configure.ac): Remove gl_FILE_TYPE call.
14751         (Makefile.am): Augment lib_SOURCES.
14752
14753 2011-05-23  Bruno Haible  <bruno@clisp.org>
14754
14755         filenamecat*: Respect rules for use of AC_LIBOBJ.
14756         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14757         Remove AC_LIBOBJ invocation.
14758         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14759         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14760
14761 2011-05-23  Bruno Haible  <bruno@clisp.org>
14762
14763         filemode: Move AC_LIBOBJ invocations to module description.
14764         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14765         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14766
14767 2011-05-23  Bruno Haible  <bruno@clisp.org>
14768
14769         openat-safer: Move AC_LIBOBJ invocations to module description.
14770         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14771         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14772
14773 2011-05-23  Bruno Haible  <bruno@clisp.org>
14774
14775         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14776         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14777         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14778
14779 2011-05-23  Bruno Haible  <bruno@clisp.org>
14780
14781         exclude: Move AC_LIBOBJ invocations to module description.
14782         * m4/exclude.m4: Remove file.
14783         * modules/exclude (Files): Remove it.
14784         (configure.ac): Remove gl_EXCLUDE call.
14785         (Makefile.am): Augment lib_SOURCES.
14786
14787 2011-05-23  Bruno Haible  <bruno@clisp.org>
14788
14789         dirname*: Respect rules for use of AC_LIBOBJ.
14790         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14791         invocations.
14792         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14793         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14794
14795 2011-05-23  Bruno Haible  <bruno@clisp.org>
14796
14797         dirent-safer: Move AC_LIBOBJ invocations to module description.
14798         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14799         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14800
14801 2011-05-23  Bruno Haible  <bruno@clisp.org>
14802
14803         crypto/des: Move AC_LIBOBJ invocations to module description.
14804         * m4/des.m4: Remove file.
14805         * modules/crypto/des (Files): Remove it.
14806         (configure.ac): Remove gl_DES call.
14807         (Makefile.am): Augment lib_SOURCES.
14808
14809 2011-05-23  Bruno Haible  <bruno@clisp.org>
14810
14811         cycle-check: Move AC_LIBOBJ invocations to module description.
14812         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14813         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14814
14815 2011-05-23  Bruno Haible  <bruno@clisp.org>
14816
14817         c-strtold: Move AC_LIBOBJ invocations to module description.
14818         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14819         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14820
14821 2011-05-23  Bruno Haible  <bruno@clisp.org>
14822
14823         c-strtod: Move AC_LIBOBJ invocations to module description.
14824         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14825         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14826
14827 2011-05-23  Bruno Haible  <bruno@clisp.org>
14828
14829         crc: Move AC_LIBOBJ invocations to module description.
14830         * m4/crc.m4: Remove file.
14831         * modules/crc (Files): Remove it.
14832         (configure.ac): Remove gl_CRC call.
14833         (Makefile.am): Augment lib_SOURCES.
14834
14835 2011-05-23  Bruno Haible  <bruno@clisp.org>
14836
14837         close-stream: Move AC_LIBOBJ invocations to module description.
14838         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14839         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14840
14841 2011-05-23  Bruno Haible  <bruno@clisp.org>
14842
14843         closeout: Move AC_LIBOBJ invocations to module description.
14844         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14845         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14846
14847 2011-05-23  Bruno Haible  <bruno@clisp.org>
14848
14849         closein: Move AC_LIBOBJ invocations to module description.
14850         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14851         * modules/closein (Makefile.am): Augment lib_SOURCES.
14852
14853 2011-05-23  Bruno Haible  <bruno@clisp.org>
14854
14855         cloexec: Move AC_LIBOBJ invocations to module description.
14856         * m4/cloexec.m4: Remove file.
14857         * modules/cloexec (Files): Remove it.
14858         (configure.ac): Remove gl_CLOEXEC call.
14859         (Makefile.am): Augment lib_SOURCES.
14860
14861 2011-05-23  Bruno Haible  <bruno@clisp.org>
14862
14863         check-version: Move AC_LIBOBJ invocations to module description.
14864         * m4/check-version.m4: Remove file.
14865         * modules/check-version (Files): Remove it.
14866         (configure.ac): Remove gl_CHECK_VERSION call.
14867         (Makefile.am): Augment lib_SOURCES.
14868
14869 2011-05-23  Bruno Haible  <bruno@clisp.org>
14870
14871         chdir-safer: Move AC_LIBOBJ invocations to module description.
14872         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14873         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14874
14875 2011-05-23  Bruno Haible  <bruno@clisp.org>
14876
14877         canonicalize: Move AC_LIBOBJ invocations to module description.
14878         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14879         AC_LIBOBJ invocation.
14880         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14881
14882 2011-05-23  Bruno Haible  <bruno@clisp.org>
14883
14884         canon-host: Move AC_LIBOBJ invocations to module description.
14885         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14886         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14887         instead of gl_CANON_HOST.
14888         (Makefile.am): Augment lib_SOURCES.
14889
14890 2011-05-23  Bruno Haible  <bruno@clisp.org>
14891
14892         backupfile: Move AC_LIBOBJ invocations to module description.
14893         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14894         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14895
14896 2011-05-23  Bruno Haible  <bruno@clisp.org>
14897
14898         argmatch: Move AC_LIBOBJ invocations to module description.
14899         * m4/argmatch.m4: Remove file.
14900         * modules/argmatch (Files): Remove it.
14901         (configure.ac): Remove gl_ARGMATCH call.
14902         (Makefile.am): Augment lib_SOURCES.
14903
14904 2011-05-23  Bruno Haible  <bruno@clisp.org>
14905
14906         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14907         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14908         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14909
14910 2011-05-23  Bruno Haible  <bruno@clisp.org>
14911
14912         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14913         * m4/arcfour.m4: Remove file.
14914         * modules/crypto/arcfour (Files): Remove it.
14915         (configure.ac): Remove gl_ARCFOUR call.
14916         (Makefile.am): Augment lib_SOURCES.
14917
14918 2011-05-22  Bruno Haible  <bruno@clisp.org>
14919
14920         write: Move AC_LIBOBJ invocations to module description.
14921         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14922         * modules/write (configure.ac): ... to here.
14923
14924 2011-05-22  Bruno Haible  <bruno@clisp.org>
14925
14926         wmemset: Move AC_LIBOBJ invocations to module description.
14927         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14928         here...
14929         * modules/wmemset (configure.ac): ... to here.
14930
14931 2011-05-22  Bruno Haible  <bruno@clisp.org>
14932
14933         wmemmove: Move AC_LIBOBJ invocations to module description.
14934         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14935         here...
14936         * modules/wmemmove (configure.ac): ... to here.
14937
14938 2011-05-22  Bruno Haible  <bruno@clisp.org>
14939
14940         wmemcpy: Move AC_LIBOBJ invocations to module description.
14941         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14942         here...
14943         * modules/wmemcpy (configure.ac): ... to here.
14944
14945 2011-05-22  Bruno Haible  <bruno@clisp.org>
14946
14947         wmemcmp: Move AC_LIBOBJ invocations to module description.
14948         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14949         here...
14950         * modules/wmemcmp (configure.ac): ... to here.
14951
14952 2011-05-22  Bruno Haible  <bruno@clisp.org>
14953
14954         wmemchr: Move AC_LIBOBJ invocations to module description.
14955         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14956         here...
14957         * modules/wmemchr (configure.ac): ... to here.
14958
14959 2011-05-22  Bruno Haible  <bruno@clisp.org>
14960
14961         wcswidth: Move AC_LIBOBJ invocations to module description.
14962         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14963         here...
14964         * modules/wcswidth (configure.ac): ... to here.
14965
14966 2011-05-22  Bruno Haible  <bruno@clisp.org>
14967
14968         wcwidth: Respect rules for use of AC_LIBOBJ.
14969         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14970         invocation from here...
14971         * modules/wcwidth (configure.ac): ... to here.
14972         (Depends-on): Update conditions.
14973
14974 2011-05-22  Bruno Haible  <bruno@clisp.org>
14975
14976         wctype: Move AC_LIBOBJ invocations to module description.
14977         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14978         invocation from here...
14979         * modules/wctype (configure.ac): ... to here.
14980         (Depends-on): Update conditions.
14981
14982 2011-05-22  Bruno Haible  <bruno@clisp.org>
14983
14984         wctrans: Move AC_LIBOBJ invocations to module description.
14985         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14986         invocation from here...
14987         * modules/wctrans (configure.ac): ... to here.
14988
14989 2011-05-22  Bruno Haible  <bruno@clisp.org>
14990
14991         wctomb: Move AC_LIBOBJ invocations to module description.
14992         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14993         invocations from here...
14994         * modules/wctomb (configure.ac): ... to here.
14995
14996 2011-05-22  Bruno Haible  <bruno@clisp.org>
14997
14998         wctob: Move AC_LIBOBJ invocations to module description.
14999         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
15000         gl_PREREQ_WCTOB invocations from here...
15001         * modules/wctob (configure.ac): ... to here.
15002         (Depends-on): Update conditions.
15003
15004 2011-05-22  Bruno Haible  <bruno@clisp.org>
15005
15006         wcsxfrm: Move AC_LIBOBJ invocations to module description.
15007         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
15008         here...
15009         * modules/wcsxfrm (configure.ac): ... to here.
15010
15011 2011-05-22  Bruno Haible  <bruno@clisp.org>
15012
15013         wcstok: Move AC_LIBOBJ invocations to module description.
15014         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
15015         * modules/wcstok (configure.ac): ... to here.
15016
15017 2011-05-22  Bruno Haible  <bruno@clisp.org>
15018
15019         wcsstr: Move AC_LIBOBJ invocations to module description.
15020         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
15021         * modules/wcsstr (configure.ac): ... to here.
15022
15023 2011-05-22  Bruno Haible  <bruno@clisp.org>
15024
15025         wcsspn: Move AC_LIBOBJ invocations to module description.
15026         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
15027         * modules/wcsspn (configure.ac): ... to here.
15028
15029 2011-05-22  Bruno Haible  <bruno@clisp.org>
15030
15031         wcsrtombs: Move AC_LIBOBJ invocations to module description.
15032         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
15033         gl_PREREQ_WCSRTOMBS invocations from here...
15034         * modules/wcsrtombs (configure.ac): ... to here.
15035
15036 2011-05-22  Bruno Haible  <bruno@clisp.org>
15037
15038         wcsrchr: Move AC_LIBOBJ invocations to module description.
15039         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
15040         here...
15041         * modules/wcsrchr (configure.ac): ... to here.
15042
15043 2011-05-22  Bruno Haible  <bruno@clisp.org>
15044
15045         wcspbrk: Move AC_LIBOBJ invocations to module description.
15046         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
15047         here...
15048         * modules/wcspbrk (configure.ac): ... to here.
15049
15050 2011-05-22  Bruno Haible  <bruno@clisp.org>
15051
15052         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
15053         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
15054         gl_PREREQ_WCSNRTOMBS invocations from here...
15055         * modules/wcsnrtombs (configure.ac): ... to here.
15056
15057 2011-05-22  Bruno Haible  <bruno@clisp.org>
15058
15059         wcsnlen: Move AC_LIBOBJ invocations to module description.
15060         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
15061         here...
15062         * modules/wcsnlen (configure.ac): ... to here.
15063
15064 2011-05-22  Bruno Haible  <bruno@clisp.org>
15065
15066         wcsncpy: Move AC_LIBOBJ invocations to module description.
15067         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
15068         here...
15069         * modules/wcsncpy (configure.ac): ... to here.
15070
15071 2011-05-22  Bruno Haible  <bruno@clisp.org>
15072
15073         wcsncmp: Move AC_LIBOBJ invocations to module description.
15074         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
15075         here...
15076         * modules/wcsncmp (configure.ac): ... to here.
15077
15078 2011-05-22  Bruno Haible  <bruno@clisp.org>
15079
15080         wcsncat: Move AC_LIBOBJ invocations to module description.
15081         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
15082         here...
15083         * modules/wcsncat (configure.ac): ... to here.
15084
15085 2011-05-22  Bruno Haible  <bruno@clisp.org>
15086
15087         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
15088         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
15089         from here...
15090         * modules/wcsncasecmp (configure.ac): ... to here.
15091
15092 2011-05-22  Bruno Haible  <bruno@clisp.org>
15093
15094         wcslen: Move AC_LIBOBJ invocations to module description.
15095         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
15096         * modules/wcslen (configure.ac): ... to here.
15097
15098 2011-05-22  Bruno Haible  <bruno@clisp.org>
15099
15100         wcsdup: Move AC_LIBOBJ invocations to module description.
15101         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
15102         * modules/wcsdup (configure.ac): ... to here.
15103
15104 2011-05-22  Bruno Haible  <bruno@clisp.org>
15105
15106         wcscspn: Move AC_LIBOBJ invocations to module description.
15107         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
15108         here...
15109         * modules/wcscspn (configure.ac): ... to here.
15110
15111 2011-05-22  Bruno Haible  <bruno@clisp.org>
15112
15113         wcscpy: Move AC_LIBOBJ invocations to module description.
15114         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
15115         * modules/wcscpy (configure.ac): ... to here.
15116
15117 2011-05-22  Bruno Haible  <bruno@clisp.org>
15118
15119         wcscoll: Move AC_LIBOBJ invocations to module description.
15120         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
15121         here...
15122         * modules/wcscoll (configure.ac): ... to here.
15123
15124 2011-05-22  Bruno Haible  <bruno@clisp.org>
15125
15126         wcscmp: Move AC_LIBOBJ invocations to module description.
15127         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15128         * modules/wcscmp (configure.ac): ... to here.
15129
15130 2011-05-22  Bruno Haible  <bruno@clisp.org>
15131
15132         wcschr: Move AC_LIBOBJ invocations to module description.
15133         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15134         * modules/wcschr (configure.ac): ... to here.
15135
15136 2011-05-22  Bruno Haible  <bruno@clisp.org>
15137
15138         wcscat: Move AC_LIBOBJ invocations to module description.
15139         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15140         * modules/wcscat (configure.ac): ... to here.
15141
15142 2011-05-22  Bruno Haible  <bruno@clisp.org>
15143
15144         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15145         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15146         here...
15147         * modules/wcscasecmp (configure.ac): ... to here.
15148
15149 2011-05-22  Bruno Haible  <bruno@clisp.org>
15150
15151         wcrtomb: Move AC_LIBOBJ invocations to module description.
15152         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15153         invocations from here...
15154         * modules/wcrtomb (configure.ac): ... to here.
15155
15156 2011-05-22  Bruno Haible  <bruno@clisp.org>
15157
15158         wcpncpy: Move AC_LIBOBJ invocations to module description.
15159         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15160         here...
15161         * modules/wcpncpy (configure.ac): ... to here.
15162
15163 2011-05-22  Bruno Haible  <bruno@clisp.org>
15164
15165         wcpcpy: Move AC_LIBOBJ invocations to module description.
15166         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15167         * modules/wcpcpy (configure.ac): ... to here.
15168
15169 2011-05-22  Bruno Haible  <bruno@clisp.org>
15170
15171         waitpid: Move AC_LIBOBJ invocations to module description.
15172         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15173         invocation from here...
15174         * modules/waitpid (configure.ac): ... to here.
15175
15176 2011-05-22  Bruno Haible  <bruno@clisp.org>
15177
15178         utimensat: Move AC_LIBOBJ invocations to module description.
15179         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15180         here...
15181         * modules/utimensat (configure.ac): ... to here.
15182
15183 2011-05-22  Bruno Haible  <bruno@clisp.org>
15184
15185         usleep: Move AC_LIBOBJ invocations to module description.
15186         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15187         here...
15188         * modules/usleep (configure.ac): ... to here.
15189
15190 2011-05-22  Bruno Haible  <bruno@clisp.org>
15191
15192         unlockpt: Move AC_LIBOBJ invocations to module description.
15193         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15194         gl_PREREQ_UNLOCKPT invocations from here...
15195         * modules/unlockpt (configure.ac): ... to here.
15196
15197 2011-05-22  Bruno Haible  <bruno@clisp.org>
15198
15199         unlink: Respect rules for use of AC_LIBOBJ.
15200         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15201         * modules/unlink (configure.ac): ... to here.
15202
15203 2011-05-22  Bruno Haible  <bruno@clisp.org>
15204
15205         uname: Move AC_LIBOBJ invocations to module description.
15206         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15208         here...
15209         * modules/uname (configure.ac): ... to here.
15210
15211 2011-05-22  Bruno Haible  <bruno@clisp.org>
15212
15213         ttyname_r: Move AC_LIBOBJ invocations to module description.
15214         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15215         gl_PREREQ_TTYNAME_R invocations from here...
15216         * modules/ttyname_r (configure.ac): ... to here.
15217
15218 2011-05-22  Bruno Haible  <bruno@clisp.org>
15219
15220         tsearch: Move AC_LIBOBJ invocations to module description.
15221         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15222         invocations from here...
15223         * modules/tsearch (configure.ac): ... to here.
15224
15225 2011-05-22  Bruno Haible  <bruno@clisp.org>
15226
15227         towctrans: Move AC_LIBOBJ invocations to module description.
15228         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15229         AC_LIBOBJ invocation from here...
15230         * modules/towctrans (configure.ac): ... to here.
15231
15232 2011-05-22  Bruno Haible  <bruno@clisp.org>
15233
15234         tmpfile: Move AC_LIBOBJ invocations to module description.
15235         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15236         invocations from here...
15237         * modules/tmpfile (configure.ac): ... to here.
15238
15239 2011-05-22  Bruno Haible  <bruno@clisp.org>
15240
15241         times: Move AC_LIBOBJ invocations to module description.
15242         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15243         * modules/times (configure.ac): ... to here.
15244
15245 2011-05-22  Bruno Haible  <bruno@clisp.org>
15246
15247         time_r: Move AC_LIBOBJ invocations to module description.
15248         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15249         invocations from here...
15250         * modules/time_r (configure.ac): ... to here.
15251
15252 2011-05-22  Bruno Haible  <bruno@clisp.org>
15253
15254         timegm: Move AC_LIBOBJ invocations to module description.
15255         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15256         invocations from here...
15257         * modules/timegm (configure.ac): ... to here.
15258
15259 2011-05-22  Bruno Haible  <bruno@clisp.org>
15260
15261         tcgetsid: Move AC_LIBOBJ invocations to module description.
15262         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15263         and gl_PREREQ_TCGETSID invocations from here...
15264         * modules/tcgetsid (configure.ac): ... to here.
15265         (Depends-on): Update conditions.
15266
15267 2011-05-22  Bruno Haible  <bruno@clisp.org>
15268
15269         symlinkat: Move AC_LIBOBJ invocations to module description.
15270         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15271         here...
15272         * modules/symlinkat (configure.ac): ... to here.
15273
15274 2011-05-22  Bruno Haible  <bruno@clisp.org>
15275
15276         symlink: Move AC_LIBOBJ invocations to module description.
15277         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15278         here...
15279         * modules/symlink (configure.ac): ... to here.
15280
15281 2011-05-22  Bruno Haible  <bruno@clisp.org>
15282
15283         strverscmp: Move AC_LIBOBJ invocations to module description.
15284         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15285         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15286         from here...
15287         * modules/strverscmp (configure.ac): ... to here.
15288
15289 2011-05-22  Bruno Haible  <bruno@clisp.org>
15290
15291         strtok_r: Move AC_LIBOBJ invocations to module description.
15292         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15293         and gl_PREREQ_STRTOK_R invocations from here...
15294         * modules/strtok_r (configure.ac): ... to here.
15295         (Depends-on): Update conditions.
15296
15297 2011-05-22  Bruno Haible  <bruno@clisp.org>
15298
15299         strtoumax: Move AC_LIBOBJ invocations to module description.
15300         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15301         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15302         from here...
15303         * modules/strtoumax (configure.ac): ... to here.
15304
15305 2011-05-22  Bruno Haible  <bruno@clisp.org>
15306
15307         strtoimax: Move AC_LIBOBJ invocations to module description.
15308         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15309         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15310         from here...
15311         * modules/strtoimax (configure.ac): ... to here.
15312
15313 2011-05-22  Bruno Haible  <bruno@clisp.org>
15314
15315         strtoull: Move AC_LIBOBJ invocations to module description.
15316         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15317         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15318         from here...
15319         * modules/strtoull (configure.ac): ... to here.
15320
15321 2011-05-22  Bruno Haible  <bruno@clisp.org>
15322
15323         strtoll: Move AC_LIBOBJ invocations to module description.
15324         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15325         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15326         here...
15327         * modules/strtoll (configure.ac): ... to here.
15328
15329 2011-05-22  Bruno Haible  <bruno@clisp.org>
15330
15331         strtoul: Move AC_LIBOBJ invocations to module description.
15332         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15333         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15334         * modules/strtoul (configure.ac): ... to here.
15335
15336 2011-05-22  Bruno Haible  <bruno@clisp.org>
15337
15338         strtol: Move AC_LIBOBJ invocations to module description.
15339         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15340         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15341         * modules/strtol (configure.ac): ... to here.
15342
15343 2011-05-22  Bruno Haible  <bruno@clisp.org>
15344
15345         strtod: Move AC_LIBOBJ invocations to module description.
15346         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15347         invocations from here...
15348         * modules/strtod (configure.ac): ... to here.
15349
15350 2011-05-22  Bruno Haible  <bruno@clisp.org>
15351
15352         strstr*: Move AC_LIBOBJ invocations to module description.
15353         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15354         invocations from here...
15355         * modules/strstr-simple (configure.ac): ... to here.
15356         * modules/strstr (configure.ac): ... and here.
15357
15358 2011-05-22  Bruno Haible  <bruno@clisp.org>
15359
15360         strsignal: Move AC_LIBOBJ invocations to module description.
15361         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15362         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15363         * modules/strsignal (configure.ac): ... to here.
15364         (Depends-on): Update conditions.
15365
15366 2011-05-22  Bruno Haible  <bruno@clisp.org>
15367
15368         strsep: Move AC_LIBOBJ invocations to module description.
15369         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15370         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15371         here...
15372         * modules/strsep (configure.ac): ... to here.
15373
15374 2011-05-22  Bruno Haible  <bruno@clisp.org>
15375
15376         strptime: Move AC_LIBOBJ invocations to module description.
15377         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15378         gl_PREREQ_STRPTIME invocations from here...
15379         * modules/strptime (configure.ac): ... to here.
15380
15381 2011-05-22  Bruno Haible  <bruno@clisp.org>
15382
15383         strpbrk: Move AC_LIBOBJ invocations to module description.
15384         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15385         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15386         here...
15387         * modules/strpbrk (configure.ac): ... to here.
15388
15389 2011-05-22  Bruno Haible  <bruno@clisp.org>
15390
15391         strnlen: Move AC_LIBOBJ invocations to module description.
15392         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15393         invocations from here...
15394         * modules/strnlen (configure.ac): ... to here.
15395
15396 2011-05-22  Bruno Haible  <bruno@clisp.org>
15397
15398         strndup: Move AC_LIBOBJ invocations to module description.
15399         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15400         invocations from here...
15401         * modules/strndup (configure.ac): ... to here.
15402         (Depends-on): Update conditions.
15403
15404 2011-05-22  Bruno Haible  <bruno@clisp.org>
15405
15406         strncat: Move AC_LIBOBJ invocations to module description.
15407         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15408         invocations from here...
15409         * modules/strncat (configure.ac): ... to here.
15410
15411 2011-05-22  Bruno Haible  <bruno@clisp.org>
15412
15413         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15414         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15415         invocations from here...
15416         * modules/strdup (configure.ac): ... to here.
15417         * modules/strdup-posix (configure.ac): ... and here.
15418
15419 2011-05-22  Bruno Haible  <bruno@clisp.org>
15420
15421         strcspn: Move AC_LIBOBJ invocations to module description.
15422         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15423         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
15424         here...
15425         * modules/strcspn (configure.ac): ... to here.
15426
15427 2011-05-22  Bruno Haible  <bruno@clisp.org>
15428
15429         strchrnul: Move AC_LIBOBJ invocations to module description.
15430         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
15431         gl_PREREQ_STRCHRNUL invocations from here...
15432         * modules/strchrnul (configure.ac): ... to here.
15433
15434 2011-05-22  Bruno Haible  <bruno@clisp.org>
15435
15436         strcasestr*: Move AC_LIBOBJ invocations to module description.
15437         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15438         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
15439         * modules/strcasestr-simple (configure.ac): ... to here.
15440         * modules/strcasestr (configure.ac): ... and here.
15441
15442 2011-05-22  Bruno Haible  <bruno@clisp.org>
15443
15444         strcase: Move AC_LIBOBJ invocations to module description.
15445         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
15446         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
15447         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
15448         gl_PREREQ_STRNCASECMP invocations from here...
15449         * modules/strcase (configure.ac): ... to here.
15450
15451 2011-05-22  Bruno Haible  <bruno@clisp.org>
15452
15453         stpncpy: Move AC_LIBOBJ invocations to module description.
15454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
15455         here...
15456         * modules/stpncpy (configure.ac): ... to here.
15457
15458 2011-05-22  Bruno Haible  <bruno@clisp.org>
15459
15460         stpcpy: Move AC_LIBOBJ invocations to module description.
15461         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15462         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15463         here...
15464         * modules/stpcpy (configure.ac): ... to here.
15465
15466 2011-05-21  Bruno Haible  <bruno@clisp.org>
15467
15468         stat: Move AC_LIBOBJ invocations to module description.
15469         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15470         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15471         here...
15472         * modules/stat (configure.ac): ... to here.
15473
15474 2011-05-21  Bruno Haible  <bruno@clisp.org>
15475
15476         sleep: Move AC_LIBOBJ invocations to module description.
15477         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15478         * modules/sleep (configure.ac): ... to here.
15479
15480 2011-05-21  Bruno Haible  <bruno@clisp.org>
15481
15482         signbit: Move AC_LIBOBJ invocations to module description.
15483         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15484         * modules/signbit (configure.ac): ... to here.
15485
15486 2011-05-21  Bruno Haible  <bruno@clisp.org>
15487
15488         sigprocmask: Move AC_LIBOBJ invocations to module description.
15489         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15490         gl_PREREQ_SIGPROMASK invocations from here...
15491         * modules/sigprocmask (configure.ac): ... to here.
15492
15493 2011-05-21  Bruno Haible  <bruno@clisp.org>
15494
15495         sigaction: Move AC_LIBOBJ invocations to module description.
15496         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15497         gl_PREREQ_SIGACTION invocations from here...
15498         * modules/sigaction (configure.ac): ... to here.
15499
15500 2011-05-21  Bruno Haible  <bruno@clisp.org>
15501
15502         sig2str: Move AC_LIBOBJ invocations to module description.
15503         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15504         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15505         here...
15506         * modules/sig2str (configure.ac): ... to here.
15507
15508 2011-05-21  Bruno Haible  <bruno@clisp.org>
15509
15510         setlocale: Move AC_LIBOBJ invocations to module description.
15511         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15512         gl_PREREQ_SETLOCALE invocations from here...
15513         * modules/setlocale (configure.ac): ... to here.
15514
15515 2011-05-21  Bruno Haible  <bruno@clisp.org>
15516
15517         unsetenv: Move AC_LIBOBJ invocations to module description.
15518         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15519         and gl_PREREQ_UNSETENV invocations from here...
15520         * modules/unsetenv (configure.ac): ... to here.
15521         (Depends-on): Update.
15522
15523 2011-05-21  Bruno Haible  <bruno@clisp.org>
15524
15525         setenv: Move AC_LIBOBJ invocations to module description.
15526         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15527         here...
15528         * modules/setenv (configure.ac): ... to here.
15529
15530 2011-05-21  Bruno Haible  <bruno@clisp.org>
15531
15532         selinux-h: Move AC_LIBOBJ invocations to module description.
15533         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15534         AC_LIBOBJ invocation from here...
15535         * modules/selinux-h (configure.ac): ... to here.
15536
15537 2011-05-21  Bruno Haible  <bruno@clisp.org>
15538
15539         select: Respect rules for use of AC_LIBOBJ.
15540         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15541         here...
15542         * modules/select (configure.ac): ... to here.
15543
15544 2011-05-21  Bruno Haible  <bruno@clisp.org>
15545
15546         scandir: Move AC_LIBOBJ invocations to module description.
15547         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15548         invocations from here...
15549         * modules/scandir (configure.ac): ... to here.
15550
15551 2011-05-21  Bruno Haible  <bruno@clisp.org>
15552
15553         rpmatch: Move AC_LIBOBJ invocations to module description.
15554         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15555         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15556         here...
15557         * modules/rpmatch (configure.ac): ... to here.
15558
15559 2011-05-21  Bruno Haible  <bruno@clisp.org>
15560
15561         rmdir: Respect rules for use of AC_LIBOBJ.
15562         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15563         * modules/rmdir (configure.ac): ... to here.
15564
15565 2011-05-21  Bruno Haible  <bruno@clisp.org>
15566
15567         renameat: Move AC_LIBOBJ invocations to module description.
15568         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15569         here...
15570         * modules/renameat (configure.ac): ... to here.
15571
15572 2011-05-21  Bruno Haible  <bruno@clisp.org>
15573
15574         rename: Respect rules for use of AC_LIBOBJ.
15575         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15576         here...
15577         * modules/rename (configure.ac): ... to here.
15578
15579 2011-05-21  Bruno Haible  <bruno@clisp.org>
15580
15581         remove: Move AC_LIBOBJ invocations to module description.
15582         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15583         here...
15584         * modules/remove (configure.ac): ... to here.
15585
15586 2011-05-21  Bruno Haible  <bruno@clisp.org>
15587
15588         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15589         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15590         macro.
15591         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15592         * modules/relocatable-lib (configure.ac): ... to here.
15593         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15594         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15595
15596 2011-05-21  Bruno Haible  <bruno@clisp.org>
15597
15598         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15599         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15600         here...
15601         * modules/relocatable-prog (configure.ac): ... to here.
15602
15603 2011-05-21  Bruno Haible  <bruno@clisp.org>
15604
15605         regex: Move AC_LIBOBJ invocations to module description.
15606         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15607         invocations from here...
15608         * modules/regex (configure.ac): ... to here.
15609
15610 2011-05-21  Bruno Haible  <bruno@clisp.org>
15611
15612         realloc-*: Move AC_LIBOBJ invocations to module description.
15613         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15614         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15615         AC_LIBOBJ invocations from here...
15616         * modules/realloc-gnu (configure.ac): ... to here.
15617         * modules/realloc-posix (configure.ac): ... and here.
15618
15619 2011-05-21  Bruno Haible  <bruno@clisp.org>
15620
15621         readutmp: Move AC_LIBOBJ invocations to module description.
15622         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15623         * modules/readutmp (configure.ac): ... to here.
15624
15625 2011-05-21  Bruno Haible  <bruno@clisp.org>
15626
15627         readlinkat: Move AC_LIBOBJ invocations to module description.
15628         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15629         here...
15630         * modules/readlinkat (configure.ac): ... to here.
15631
15632 2011-05-21  Bruno Haible  <bruno@clisp.org>
15633
15634         readlink: Move AC_LIBOBJ invocations to module description.
15635         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15636         gl_PREREQ_READLINK invocations from here...
15637         * modules/readlink (configure.ac): ... to here.
15638
15639 2011-05-21  Bruno Haible  <bruno@clisp.org>
15640
15641         readline: Move AC_LIBOBJ invocations to module description.
15642         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15643         gl_PREREQ_READLINE invocations from here...
15644         * modules/readline (configure.ac): ... to here.
15645
15646 2011-05-21  Bruno Haible  <bruno@clisp.org>
15647
15648         read: Move AC_LIBOBJ invocations to module description.
15649         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15650         * modules/read (configure.ac): ... to here.
15651
15652 2011-05-21  Bruno Haible  <bruno@clisp.org>
15653
15654         rawmemchr: Move AC_LIBOBJ invocations to module description.
15655         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15657         from here...
15658         * modules/rawmemchr (configure.ac): ... to here.
15659
15660 2011-05-21  Bruno Haible  <bruno@clisp.org>
15661
15662         random_r: Move AC_LIBOBJ invocations to module description.
15663         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15664         gl_PREREQ_RANDOM_R invocations from here...
15665         * modules/random_r (configure.ac): ... to here.
15666
15667 2011-05-21  Bruno Haible  <bruno@clisp.org>
15668
15669         pwrite: Move AC_LIBOBJ invocations to module description.
15670         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15671         * modules/pwrite (configure.ac): ... to here.
15672
15673 2011-05-21  Bruno Haible  <bruno@clisp.org>
15674
15675         putenv: Move AC_LIBOBJ invocations to module description.
15676         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15677         * modules/putenv (configure.ac): ... to here.
15678
15679 2011-05-21  Bruno Haible  <bruno@clisp.org>
15680
15681         login_tty: Move AC_LIBOBJ invocations to module description.
15682         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15683         * modules/login_tty (configure.ac): ... to here.
15684
15685 2011-05-21  Bruno Haible  <bruno@clisp.org>
15686
15687         openpty: Move AC_LIBOBJ invocations to module description.
15688         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15689         * modules/openpty (configure.ac): ... to here.
15690
15691 2011-05-21  Bruno Haible  <bruno@clisp.org>
15692
15693         forkpty: Move AC_LIBOBJ invocations to module description.
15694         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15695         * modules/forkpty (configure.ac): ... to here.
15696
15697 2011-05-21  Bruno Haible  <bruno@clisp.org>
15698
15699         ptsname: Move AC_LIBOBJ invocations to module description.
15700         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15701         invocations from here...
15702         * modules/ptsname (configure.ac): ... to here.
15703
15704 2011-05-21  Bruno Haible  <bruno@clisp.org>
15705
15706         pread: Move AC_LIBOBJ invocations to module description.
15707         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15708         * modules/pread (configure.ac): ... to here.
15709
15710 2011-05-21  Bruno Haible  <bruno@clisp.org>
15711
15712         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15713         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15714         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15715         * modules/posix_spawn (configure.ac): ... to here.
15716         * modules/posix_spawnp (configure.ac): ... and here.
15717
15718 2011-05-21  Bruno Haible  <bruno@clisp.org>
15719
15720         popen: Move AC_LIBOBJ invocations to module description.
15721         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15722         invocations from here...
15723         * modules/popen (configure.ac): ... to here.
15724
15725 2011-05-21  Bruno Haible  <bruno@clisp.org>
15726
15727         poll: Move AC_LIBOBJ invocations to module description.
15728         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15729         invocations from here...
15730         * modules/poll (configure.ac): ... to here.
15731
15732 2011-05-21  Bruno Haible  <bruno@clisp.org>
15733
15734         pipe-posix: Move AC_LIBOBJ invocations to module description.
15735         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15736         * modules/pipe-posix (configure.ac): ... to here.
15737
15738 2011-05-21  Bruno Haible  <bruno@clisp.org>
15739
15740         openat: Respect rules for use of AC_LIBOBJ.
15741         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15742         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15743         * modules/openat (configure.ac): ... to here.
15744
15745 2011-05-21  Bruno Haible  <bruno@clisp.org>
15746
15747         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15748         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15749         invocation from here...
15750         * modules/obstack-printf (configure.ac): ... to here.
15751         * modules/obstack-printf-posix (configure.ac): ... and here.
15752
15753 2011-05-21  Bruno Haible  <bruno@clisp.org>
15754
15755         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15756         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15757         from here...
15758         * modules/nl_langinfo (configure.ac): ... to here.
15759
15760 2011-05-21  Bruno Haible  <bruno@clisp.org>
15761
15762         nanosleep: Move AC_LIBOBJ invocations to module description.
15763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15764         gl_PREREQ_NANOSLEEP invocations from here...
15765         * modules/nanosleep (configure.ac): ... to here.
15766
15767 2011-05-21  Bruno Haible  <bruno@clisp.org>
15768
15769         mountlist: Move AC_LIBOBJ invocations to module description.
15770         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15771         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15772         * modules/mountlist (configure.ac): ... to here.
15773
15774 2011-05-21  Bruno Haible  <bruno@clisp.org>
15775
15776         mktime: Respect rules for use of AC_LIBOBJ.
15777         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15778         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15779         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15780         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15781         * modules/mktime (configure.ac): ... to here.
15782         * modules/mktime-internal (configure.ac): ... and here.
15783         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15784
15785 2011-05-21  Bruno Haible  <bruno@clisp.org>
15786
15787         mkstemps: Move AC_LIBOBJ invocations to module description.
15788         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15789         here...
15790         * modules/mkstemps (configure.ac): ... to here.
15791
15792 2011-05-21  Bruno Haible  <bruno@clisp.org>
15793
15794         mkstemp: Move AC_LIBOBJ invocations to module description.
15795         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15796         gl_PREREQ_MKSTEMP invocations from here...
15797         * modules/mkstemp (configure.ac): ... to here.
15798
15799 2011-05-21  Bruno Haible  <bruno@clisp.org>
15800
15801         mkostemps: Move AC_LIBOBJ invocations to module description.
15802         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15803         here...
15804         * modules/mkostemps (configure.ac): ... to here.
15805
15806 2011-05-21  Bruno Haible  <bruno@clisp.org>
15807
15808         mkostemp: Move AC_LIBOBJ invocations to module description.
15809         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15810         gl_PREREQ_MKOSTEMP invocations from here...
15811         * modules/mkostemp (configure.ac): ... to here.
15812
15813 2011-05-21  Bruno Haible  <bruno@clisp.org>
15814
15815         mknod: Move AC_LIBOBJ invocations to module description.
15816         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15817         * modules/mknod (configure.ac): ... to here.
15818
15819 2011-05-21  Bruno Haible  <bruno@clisp.org>
15820
15821         mkfifoat: Move AC_LIBOBJ invocations to module description.
15822         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15823         here...
15824         * modules/mkfifoat (configure.ac): ... to here.
15825
15826 2011-05-21  Bruno Haible  <bruno@clisp.org>
15827
15828         mkfifo: Respect rules for use of AC_LIBOBJ.
15829         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15830         here...
15831         * modules/mkfifo (configure.ac): ... to here.
15832
15833 2011-05-21  Bruno Haible  <bruno@clisp.org>
15834
15835         mkdtemp: Move AC_LIBOBJ invocations to module description.
15836         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15837         invocations from here...
15838         * modules/mkdtemp (configure.ac): ... to here.
15839
15840 2011-05-21  Bruno Haible  <bruno@clisp.org>
15841
15842         mkdir: Move AC_LIBOBJ invocations to module description.
15843         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15844         * modules/mkdir (configure.ac): ... to here.
15845
15846 2011-05-21  Bruno Haible  <bruno@clisp.org>
15847
15848         memset: Move AC_LIBOBJ invocations to module description.
15849         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15850         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15851         here...
15852         * modules/memset (configure.ac): ... to here.
15853
15854 2011-05-21  Bruno Haible  <bruno@clisp.org>
15855
15856         memrchr: Move AC_LIBOBJ invocations to module description.
15857         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15858         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15859         here...
15860         * modules/memrchr (configure.ac): ... to here.
15861
15862 2011-05-21  Bruno Haible  <bruno@clisp.org>
15863
15864         mempcpy: Move AC_LIBOBJ invocations to module description.
15865         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15866         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15867         here...
15868         * modules/mempcpy (configure.ac): ... to here.
15869
15870 2011-05-21  Bruno Haible  <bruno@clisp.org>
15871
15872         memmove: Move AC_LIBOBJ invocations to module description.
15873         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15874         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15875         here...
15876         * modules/memmove (configure.ac): ... to here.
15877
15878 2011-05-21  Bruno Haible  <bruno@clisp.org>
15879
15880         memmem*: Move AC_LIBOBJ invocations to module description.
15881         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15882         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15883         here...
15884         (gl_FUNC_MEMMEM): ... and here...
15885         * modules/memmem-simple (configure.ac): ... to here.
15886         * modules/memmem (configure.ac): ... and here.
15887
15888 2011-05-21  Bruno Haible  <bruno@clisp.org>
15889
15890         memcpy: Move AC_LIBOBJ invocations to module description.
15891         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15892         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15893         here...
15894         * modules/memcpy (configure.ac): ... to here.
15895
15896 2011-05-21  Bruno Haible  <bruno@clisp.org>
15897
15898         memcmp: Simplify autoconf macro.
15899         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15900         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15901         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15902
15903 2011-05-21  Bruno Haible  <bruno@clisp.org>
15904
15905         memcmp: Move AC_LIBOBJ invocations to module description.
15906         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15907         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15908         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15909         * modules/memcmp (configure.ac): ... to here.
15910         (Depends-on): Update conditions.
15911
15912 2011-05-21  Bruno Haible  <bruno@clisp.org>
15913
15914         memchr: Respect rules for use of AC_LIBOBJ.
15915         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15916         invocations from here...
15917         * modules/memchr (configure.ac): ... to here.
15918
15919 2011-05-21  Bruno Haible  <bruno@clisp.org>
15920
15921         mbtowc: Move AC_LIBOBJ invocations to module description.
15922         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15923         invocations from here...
15924         * modules/mbtowc (configure.ac): ... to here.
15925
15926 2011-05-21  Bruno Haible  <bruno@clisp.org>
15927
15928         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15929         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15930         gl_PREREQ_MBSRTOWCS invocations from here...
15931         * modules/mbsrtowcs (configure.ac): ... to here.
15932
15933 2011-05-21  Bruno Haible  <bruno@clisp.org>
15934
15935         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15936         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15937         gl_PREREQ_MBSNRTOWCS invocations from here...
15938         * modules/mbsnrtowcs (configure.ac): ... to here.
15939
15940 2011-05-21  Bruno Haible  <bruno@clisp.org>
15941
15942         mbsinit: Move AC_LIBOBJ invocations to module description.
15943         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15944         invocations from here...
15945         * modules/mbsinit (configure.ac): ... to here.
15946
15947 2011-05-21  Bruno Haible  <bruno@clisp.org>
15948
15949         mbrlen: Move AC_LIBOBJ invocations to module description.
15950         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15951         invocations from here...
15952         * modules/mbrlen (configure.ac): ... to here.
15953
15954 2011-05-21  Bruno Haible  <bruno@clisp.org>
15955
15956         mbrtowc: Respect rules for use of AC_LIBOBJ.
15957         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15958         invocations from here...
15959         * modules/mbrtowc (configure.ac): ... to here.
15960
15961 2011-05-21  Bruno Haible  <bruno@clisp.org>
15962
15963         malloc-*: Move AC_LIBOBJ invocations to module description.
15964         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15965         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15966         AC_LIBOBJ invocations from here...
15967         * modules/malloc-gnu (configure.ac): ... to here.
15968         * modules/malloc-posix (configure.ac): ... and here.
15969
15970 2011-05-21  Bruno Haible  <bruno@clisp.org>
15971
15972         lstat, openat: Respect rules for use of AC_LIBOBJ.
15973         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15974         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15975         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15976         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15977         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15978         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15979         here.
15980         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15981
15982 2011-05-21  Bruno Haible  <bruno@clisp.org>
15983
15984         lseek: Move AC_LIBOBJ invocations to module description.
15985         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15986         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15987         * modules/lseek (configure.ac): ... to here.
15988
15989 2011-05-21  Bruno Haible  <bruno@clisp.org>
15990
15991         linkat: Move AC_LIBOBJ invocations to module description.
15992         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15993         here...
15994         * modules/linkat (configure.ac): ... to here.
15995
15996 2011-05-21  Bruno Haible  <bruno@clisp.org>
15997
15998         link: Respect rules for use of AC_LIBOBJ.
15999         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
16000         * modules/link (configure.ac): ... to here.
16001
16002 2011-05-21  Bruno Haible  <bruno@clisp.org>
16003
16004         lchown: Move AC_LIBOBJ invocations to module description.
16005         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16006         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16007         * modules/lchown (configure.ac): ... to here.
16008
16009 2011-05-21  Bruno Haible  <bruno@clisp.org>
16010
16011         iswctype: Move AC_LIBOBJ invocations to module description.
16012         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
16013         here...
16014         * modules/iswctype (configure.ac): ... to here.
16015
16016 2011-05-21  Bruno Haible  <bruno@clisp.org>
16017
16018         iswblank: Move AC_LIBOBJ invocations to module description.
16019         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
16020         here...
16021         * modules/iswblank (configure.ac): ... to here.
16022
16023 2011-05-21  Bruno Haible  <bruno@clisp.org>
16024
16025         atanl: Move AC_LIBOBJ invocations to module description.
16026         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
16027         * modules/atanl (configure.ac): ... to here.
16028
16029 2011-05-21  Bruno Haible  <bruno@clisp.org>
16030
16031         acosl: Move AC_LIBOBJ invocations to module description.
16032         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
16033         * modules/acosl (configure.ac): ... to here.
16034
16035 2011-05-21  Bruno Haible  <bruno@clisp.org>
16036
16037         asinl: Respect rules for use of AC_LIBOBJ.
16038         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
16039         * modules/asinl (configure.ac): ... to here.
16040
16041 2011-05-21  Bruno Haible  <bruno@clisp.org>
16042
16043         tanl: Move AC_LIBOBJ invocations to module description.
16044         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
16045         * modules/tanl (configure.ac): ... to here.
16046
16047 2011-05-21  Bruno Haible  <bruno@clisp.org>
16048
16049         cosl: Move AC_LIBOBJ invocations to module description.
16050         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
16051         * modules/cosl (configure.ac): ... to here.
16052
16053 2011-05-21  Bruno Haible  <bruno@clisp.org>
16054
16055         sinl: Move AC_LIBOBJ invocations to module description.
16056         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
16057         * modules/sinl (configure.ac): ... to here.
16058
16059 2011-05-21  Bruno Haible  <bruno@clisp.org>
16060
16061         logl: Move AC_LIBOBJ invocations to module description.
16062         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
16063         * modules/logl (configure.ac): ... to here.
16064
16065 2011-05-21  Bruno Haible  <bruno@clisp.org>
16066
16067         expl: Move AC_LIBOBJ invocations to module description.
16068         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
16069         * modules/expl (configure.ac): ... to here.
16070
16071 2011-05-21  Bruno Haible  <bruno@clisp.org>
16072
16073         roundl: Move AC_LIBOBJ invocations to module description.
16074         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
16075         * modules/roundl (configure.ac): ... to here.
16076
16077 2011-05-21  Bruno Haible  <bruno@clisp.org>
16078
16079         round: Move AC_LIBOBJ invocations to module description.
16080         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
16081         * modules/round (configure.ac): ... to here.
16082
16083 2011-05-21  Bruno Haible  <bruno@clisp.org>
16084
16085         roundf: Move AC_LIBOBJ invocations to module description.
16086         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
16087         * modules/roundf (configure.ac): ... to here.
16088
16089 2011-05-21  Bruno Haible  <bruno@clisp.org>
16090
16091         truncl: Move AC_LIBOBJ invocations to module description.
16092         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
16093         * modules/truncl (configure.ac): ... to here.
16094
16095 2011-05-21  Bruno Haible  <bruno@clisp.org>
16096
16097         trunc: Move AC_LIBOBJ invocations to module description.
16098         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
16099         * modules/trunc (configure.ac): ... to here.
16100
16101 2011-05-21  Bruno Haible  <bruno@clisp.org>
16102
16103         truncf: Move AC_LIBOBJ invocations to module description.
16104         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
16105         * modules/truncf (configure.ac): ... to here.
16106
16107 2011-05-21  Bruno Haible  <bruno@clisp.org>
16108
16109         ceill: Move AC_LIBOBJ invocations to module description.
16110         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
16111         * modules/ceill (configure.ac): ... to here.
16112
16113 2011-05-21  Bruno Haible  <bruno@clisp.org>
16114
16115         ceil: Move AC_LIBOBJ invocations to module description.
16116         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
16117         * modules/ceil (configure.ac): ... to here.
16118
16119 2011-05-21  Bruno Haible  <bruno@clisp.org>
16120
16121         ceilf: Move AC_LIBOBJ invocations to module description.
16122         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
16123         * modules/ceilf (configure.ac): ... to here.
16124
16125 2011-05-21  Bruno Haible  <bruno@clisp.org>
16126
16127         floorl: Respect rules for use of AC_LIBOBJ.
16128         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16129         * modules/floorl (configure.ac): ... to here.
16130
16131 2011-05-21  Bruno Haible  <bruno@clisp.org>
16132
16133         floor: Respect rules for use of AC_LIBOBJ.
16134         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16135         * modules/floor (configure.ac): ... to here.
16136
16137 2011-05-21  Bruno Haible  <bruno@clisp.org>
16138
16139         floorf: Move AC_LIBOBJ invocations to module description.
16140         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16141         * modules/floorf (configure.ac): ... to here.
16142
16143 2011-05-20  Bruno Haible  <bruno@clisp.org>
16144
16145         sqrtl: Respect rules for use of AC_LIBOBJ.
16146         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16147         * modules/sqrtl (configure.ac): ... to here.
16148
16149 2011-05-20  Bruno Haible  <bruno@clisp.org>
16150
16151         ldexpl: Respect rules for use of AC_LIBOBJ.
16152         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16153         * modules/ldexpl (configure.ac): ... to here.
16154
16155 2011-05-20  Bruno Haible  <bruno@clisp.org>
16156
16157         frexpl*: Respect rules for use of AC_LIBOBJ.
16158         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16159         invocation from here...
16160         * modules/frexpl (configure.ac): ... to here.
16161         * modules/frexpl-nolibm (configure.ac): ... and here.
16162
16163 2011-05-20  Bruno Haible  <bruno@clisp.org>
16164
16165         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16166         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16167         invocation from here...
16168         * modules/frexp (configure.ac): ... to here.
16169         * modules/frexp-nolibm (configure.ac): ... and here.
16170
16171 2011-05-20  Bruno Haible  <bruno@clisp.org>
16172
16173         isnan: Respect rules for use of AC_LIBOBJ.
16174         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16175         invocations here.
16176         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16177         REPLACE_ISNAN.
16178         * modules/isnand (configure.ac): Likewise.
16179         * modules/isnanl (configure.ac): Likewise.
16180
16181 2011-05-20  Bruno Haible  <bruno@clisp.org>
16182
16183         isnanl*: Respect rules for use of AC_LIBOBJ.
16184         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16185         invocation from here...
16186         * modules/isnanl (configure.ac): ... to here.
16187         * modules/isnanl-nolibm (configure.ac): ... and here.
16188
16189 2011-05-20  Bruno Haible  <bruno@clisp.org>
16190
16191         isnand*: Move AC_LIBOBJ invocations to module description.
16192         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16193         invocation from here...
16194         * modules/isnand (configure.ac): ... to here.
16195         * modules/isnand-nolibm (configure.ac): ... and here.
16196
16197 2011-05-20  Bruno Haible  <bruno@clisp.org>
16198
16199         isnanf*: Move AC_LIBOBJ invocations to module description.
16200         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16201         invocation from here...
16202         * modules/isnanf (configure.ac): ... to here.
16203         * modules/isnanf-nolibm (configure.ac): ... and here.
16204
16205 2011-05-20  Bruno Haible  <bruno@clisp.org>
16206
16207         isnan*: Separate the AC_LIBOBJ invocations.
16208         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16209         AC_LIBOBJ invocation.
16210         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16211         here.
16212         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16213         AC_LIBOBJ invocation.
16214         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16215         here.
16216         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16217         AC_LIBOBJ invocation.
16218         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16219         here.
16220         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16221
16222 2011-05-08  Bruno Haible  <bruno@clisp.org>
16223
16224         isinf: Move AC_LIBOBJ invocations to module description.
16225         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16226         * modules/isinf (configure.ac): ... to here.
16227
16228 2011-05-08  Bruno Haible  <bruno@clisp.org>
16229
16230         isfinite: Move AC_LIBOBJ invocations to module description.
16231         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16232         * modules/isfinite (configure.ac): ... to here.
16233
16234 2011-05-08  Bruno Haible  <bruno@clisp.org>
16235
16236         isblank: Move AC_LIBOBJ invocations to module description.
16237         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16238         here...
16239         * modules/isblank (configure.ac): ... to here.
16240
16241 2011-05-08  Bruno Haible  <bruno@clisp.org>
16242
16243         isapipe: Move AC_LIBOBJ invocations to module description.
16244         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16245         gl_PREREQ_ISAPIPE invocations from here...
16246         * modules/isapipe (configure.ac): ... to here.
16247         (Depends-on): Update condition.
16248
16249 2011-05-08  Bruno Haible  <bruno@clisp.org>
16250
16251         ioctl: Move AC_LIBOBJ invocations to module description.
16252         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16253         invocations from here...
16254         * modules/ioctl (configure.ac): ... to here.
16255         (Depends-on): Update condition.
16256
16257 2011-05-08  Bruno Haible  <bruno@clisp.org>
16258
16259         imaxdiv: Move AC_LIBOBJ invocations to module description.
16260         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16261         invocations from here...
16262         * modules/imaxdiv (configure.ac): ... to here.
16263
16264 2011-05-08  Bruno Haible  <bruno@clisp.org>
16265
16266         imaxabs: Move AC_LIBOBJ invocations to module description.
16267         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16268         invocations from here...
16269         * modules/imaxabs (configure.ac): ... to here.
16270
16271 2011-05-08  Bruno Haible  <bruno@clisp.org>
16272
16273         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16274         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16275         AC_LIBOBJ invocations from here...
16276         * modules/getaddrinfo (configure.ac): ... to here.
16277         (Depends-on): Add conditions.
16278
16279 2011-05-08  Bruno Haible  <bruno@clisp.org>
16280
16281         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16282         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16283         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16284         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16285         (gl_PREREQ_INET_PTON): ... from here.
16286         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16287         gl_PREREQ_INET_PTON here.
16288         (Depends-on): Update condition.
16289
16290 2011-05-08  Bruno Haible  <bruno@clisp.org>
16291
16292         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16293         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16294         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16295         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16296         (gl_PREREQ_INET_NTOP): ... from here.
16297         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16298         gl_PREREQ_INET_NTOP here.
16299         (Depends-on): Update condition.
16300
16301 2011-05-08  Bruno Haible  <bruno@clisp.org>
16302
16303         iconv_open: Move AC_LIBOBJ invocations to module description.
16304         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16305         AC_LIBOBJ invocations from here...
16306         * modules/iconv_open (configure.ac): ... to here.
16307
16308 2011-05-08  Bruno Haible  <bruno@clisp.org>
16309
16310         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16311         If module 'iconv_open' is among the main modules and module
16312         'iconv_open-utf' is among the tests dependencies, then
16313         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16314         return the special iconv_t values. Therefore iconv() and iconv_close()
16315         must support these special iconv_t values, already in lib, not only in
16316         tests.
16317         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16318         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16319         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16320         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16321         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16322         (Depends-on): Add the dependencies of iconv_open-utf.
16323         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16324         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16325         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16326
16327 2011-05-08  Bruno Haible  <bruno@clisp.org>
16328
16329         group-member: Move AC_LIBOBJ invocations to module description.
16330         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16331         gl_PREREQ_GROUP_MEMBER invocations from here...
16332         * modules/group-member (configure.ac): ... to here.
16333
16334 2011-05-08  Bruno Haible  <bruno@clisp.org>
16335
16336         grantpt: Move AC_LIBOBJ invocations to module description.
16337         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16338         invocations from here...
16339         * modules/grantpt (configure.ac): ... to here.
16340
16341 2011-05-08  Bruno Haible  <bruno@clisp.org>
16342
16343         glob: Move AC_LIBOBJ invocations to module description.
16344         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16345         from here...
16346         * modules/glob (configure.ac): ... to here.
16347
16348 2011-05-08  Bruno Haible  <bruno@clisp.org>
16349
16350         getusershell: Move AC_LIBOBJ invocations to module description.
16351         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16352         Move AC_LIBOBJ invocation from here...
16353         * modules/getusershell (configure.ac): ... to here.
16354         (Depends-on): Update condition.
16355
16356 2011-05-08  Bruno Haible  <bruno@clisp.org>
16357
16358         gettimeofday: Move AC_LIBOBJ invocations to module description.
16359         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16360         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16361         gl_PREREQ_GETTIMEOFDAY invocations from here...
16362         * modules/gettimeofday (configure.ac): ... to here.
16363
16364 2011-05-08  Bruno Haible  <bruno@clisp.org>
16365
16366         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16367         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16368         just gl_FUNC_TZSET.
16369         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16370         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16371         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16372         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16373
16374 2011-05-08  Bruno Haible  <bruno@clisp.org>
16375
16376         getsubopt: Move AC_LIBOBJ invocations to module description.
16377         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16378         gl_PREREQ_GETSUBOPT invocations from here...
16379         * modules/getsubopt (configure.ac): ... to here.
16380
16381 2011-05-08  Bruno Haible  <bruno@clisp.org>
16382
16383         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16384         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16385         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16386         * modules/getpass-gnu (configure.ac): ... to here.
16387
16388 2011-05-08  Bruno Haible  <bruno@clisp.org>
16389
16390         getpass: Move AC_LIBOBJ invocations to module description.
16391         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16392         gl_PREREQ_GETPASS invocations from here...
16393         * modules/getpass (configure.ac): ... to here.
16394
16395 2011-05-08  Bruno Haible  <bruno@clisp.org>
16396
16397         getpagesize: Move AC_LIBOBJ invocations to module description.
16398         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16399         from here...
16400         * modules/getpagesize (configure.ac): ... to here.
16401
16402 2011-05-08  Bruno Haible  <bruno@clisp.org>
16403
16404         getopt: Move AC_LIBOBJ invocations to module description.
16405         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16406         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16407         invocations from here...
16408         * modules/getopt-gnu (configure.ac): ... to here.
16409         * modules/getopt-posix (configure.ac): ... and here.
16410         (Depends-on): Update condition.
16411
16412 2011-05-08  Bruno Haible  <bruno@clisp.org>
16413
16414         getopt, argp: Respect rules for use of AC_LIBOBJ.
16415         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16416         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16417         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16418         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16419
16420 2011-05-08  Bruno Haible  <bruno@clisp.org>
16421
16422         getlogin_r: Move AC_LIBOBJ invocations to module description.
16423         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
16424         gl_PREREQ_GETLOGIN_R invocations from here...
16425         * modules/getlogin_r (configure.ac): ... to here.
16426
16427 2011-05-08  Bruno Haible  <bruno@clisp.org>
16428
16429         getlogin: Move AC_LIBOBJ invocations to module description.
16430         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
16431         here...
16432         * modules/getlogin (configure.ac): ... to here.
16433
16434 2011-05-08  Bruno Haible  <bruno@clisp.org>
16435
16436         getloadavg: Move AC_LIBOBJ invocations to module description.
16437         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
16438         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
16439         * modules/getloadavg (configure.ac): ... to here.
16440
16441 2011-05-08  Bruno Haible  <bruno@clisp.org>
16442
16443         gethrxtime: Move AC_LIBOBJ invocations to module description.
16444         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
16445         LIB_GETHRXTIME from here...
16446         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
16447         invocations from here...
16448         * modules/gethrxtime (configure.ac): ... to here.
16449
16450 2011-05-08  Bruno Haible  <bruno@clisp.org>
16451
16452         gethostname: Move AC_LIBOBJ invocations to module description.
16453         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
16454         gl_PREREQ_GETHOSTNAME invocations from here...
16455         * modules/gethostname (configure.ac): ... to here.
16456
16457 2011-05-08  Bruno Haible  <bruno@clisp.org>
16458
16459         getgroups: Move AC_LIBOBJ invocations to module description.
16460         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16461         here...
16462         * modules/getgroups (configure.ac): ... to here.
16463
16464 2011-05-08  Bruno Haible  <bruno@clisp.org>
16465
16466         getdtablesize: Move AC_LIBOBJ invocations to module description.
16467         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16468         invocation from here...
16469         * modules/getdtablesize (configure.ac): ... to here.
16470
16471 2011-05-08  Bruno Haible  <bruno@clisp.org>
16472
16473         getdomainname: Move AC_LIBOBJ invocations to module description.
16474         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16475         gl_PREREQ_GETDOMAINNAME invocations from here...
16476         * modules/getdomainname (configure.ac): ... to here.
16477
16478 2011-05-08  Bruno Haible  <bruno@clisp.org>
16479
16480         getline: Move AC_LIBOBJ invocations to module description.
16481         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16482         invocations from here...
16483         * modules/getline (configure.ac): ... to here.
16484
16485 2011-05-08  Bruno Haible  <bruno@clisp.org>
16486
16487         getline: Simplify.
16488         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16489         It's already handled through the module dependency.
16490
16491 2011-05-08  Bruno Haible  <bruno@clisp.org>
16492
16493         getdelim: Move AC_LIBOBJ invocations to module description.
16494         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16495         and gl_PREREQ_GETDELIM invocations from here...
16496         * modules/getdelim (configure.ac): ... to here.
16497         (Depends-on): Fix condition.
16498
16499 2011-05-08  Bruno Haible  <bruno@clisp.org>
16500
16501         getcwd: Move AC_LIBOBJ invocations to module description.
16502         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16503         invocations from here...
16504         * modules/getcwd (configure.ac): ... to here.
16505
16506 2011-05-08  Bruno Haible  <bruno@clisp.org>
16507
16508         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16509         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16510         here...
16511         * modules/getcwd-lgpl (configure.ac): ... to here.
16512
16513 2011-05-07  Bruno Haible  <bruno@clisp.org>
16514
16515         crypto/gc: Move AC_LIBOBJ invocations to module description.
16516         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16517         * modules/crypto/gc (configure.ac): ... to here.
16518
16519 2011-05-07  Bruno Haible  <bruno@clisp.org>
16520
16521         fwriting: Move AC_LIBOBJ invocations to module description.
16522         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16523         here...
16524         * modules/fwriting (configure.ac): ... to here.
16525
16526 2011-05-07  Bruno Haible  <bruno@clisp.org>
16527
16528         fwritable: Move AC_LIBOBJ invocations to module description.
16529         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16530         here...
16531         * modules/fwritable (configure.ac): ... to here.
16532
16533 2011-05-07  Bruno Haible  <bruno@clisp.org>
16534
16535         futimens: Move AC_LIBOBJ invocations to module description.
16536         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16537         here...
16538         * modules/futimens (configure.ac): ... to here.
16539
16540 2011-05-07  Bruno Haible  <bruno@clisp.org>
16541
16542         ftruncate: Move AC_LIBOBJ invocations to module description.
16543         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16544         gl_PREREQ_FTRUNCATE invocations from here...
16545         * modules/ftruncate (configure.ac): ... to here.
16546
16547 2011-05-07  Bruno Haible  <bruno@clisp.org>
16548
16549         fsync: Move AC_LIBOBJ invocations to module description.
16550         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16551         invocations from here...
16552         * modules/fsync (configure.ac): ... to here.
16553
16554 2011-05-07  Bruno Haible  <bruno@clisp.org>
16555
16556         fsusage: Move AC_LIBOBJ invocations to module description.
16557         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16558         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16559         * modules/fsusage (configure.ac): ... to here.
16560
16561 2011-05-07  Bruno Haible  <bruno@clisp.org>
16562
16563         freopen: Move AC_LIBOBJ invocations to module description.
16564         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16565         invocations from here...
16566         * modules/freopen (configure.ac): ... to here.
16567
16568 2011-05-07  Bruno Haible  <bruno@clisp.org>
16569
16570         free: Move AC_LIBOBJ invocations to module description.
16571         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16572         invocations from here...
16573         * modules/free (configure.ac): ... to here.
16574
16575 2011-05-07  Bruno Haible  <bruno@clisp.org>
16576
16577         freadable: Move AC_LIBOBJ invocations to module description.
16578         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16579         here...
16580         * modules/freadable (configure.ac): ... to here.
16581
16582 2011-05-07  Bruno Haible  <bruno@clisp.org>
16583
16584         fpurge: Move AC_LIBOBJ invocations to module description.
16585         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16586         invocations from here...
16587         * modules/fpurge (configure.ac): ... to here.
16588
16589 2011-05-07  Bruno Haible  <bruno@clisp.org>
16590
16591         fpending: Move AC_LIBOBJ invocations to module description.
16592         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16593         gl_FUNC_FPENDING.
16594         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16595         invocations from here...
16596         * modules/fpending (configure.ac): ... to here.
16597
16598 2011-05-07  Bruno Haible  <bruno@clisp.org>
16599
16600         fopen: Move AC_LIBOBJ invocations to module description.
16601         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16602         invocations from here...
16603         * modules/fopen (configure.ac): ... to here.
16604
16605 2011-05-07  Bruno Haible  <bruno@clisp.org>
16606
16607         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16608         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16609         gl_FUNC_FNMATCH_POSIX.
16610         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16611         invocations from here...
16612         * modules/fnmatch (configure.ac): ... to here.
16613         * modules/fnmatch-gnu (configure.ac): ... and here.
16614
16615 2011-05-07  Bruno Haible  <bruno@clisp.org>
16616
16617         flock: Move AC_LIBOBJ invocations to module description.
16618         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16619         invocations from here...
16620         * modules/flock (configure.ac): ... to here.
16621
16622 2011-05-07  Bruno Haible  <bruno@clisp.org>
16623
16624         fileblocks: Move AC_LIBOBJ invocations to module description.
16625         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16626         gl_PREREQ_FILEBLOCKS invocations from here...
16627         * modules/fileblocks (configure.ac): ... to here.
16628
16629 2011-05-06  Bruno Haible  <bruno@clisp.org>
16630
16631         fflush: Move AC_LIBOBJ invocations to module description.
16632         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16633         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16634         invocations from here...
16635         * modules/fflush (configure.ac): ... to here.
16636
16637 2011-05-06  Bruno Haible  <bruno@clisp.org>
16638
16639         fdopendir: Move AC_LIBOBJ invocations to module description.
16640         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16641         here...
16642         * modules/fdopendir (configure.ac): ... to here.
16643         (Depends-on): Improve conditions.
16644
16645 2011-05-06  Bruno Haible  <bruno@clisp.org>
16646
16647         _Exit: Move AC_LIBOBJ invocations to module description.
16648         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16649         invocations from here...
16650         * modules/_Exit (configure.ac): ... to here.
16651
16652 2011-05-21  Bruno Haible  <bruno@clisp.org>
16653
16654         euidaccess: Respect rules for use of AC_LIBOBJ.
16655         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16657         from here...
16658         * modules/euidaccess (configure.ac): ... to here.
16659
16660 2011-05-06  Bruno Haible  <bruno@clisp.org>
16661
16662         error: Move AC_LIBOBJ invocations to module description.
16663         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16664         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16665         invocations from here...
16666         * modules/error (configure.ac): ... to here.
16667
16668 2011-05-06  Bruno Haible  <bruno@clisp.org>
16669
16670         duplocale: Move AC_LIBOBJ invocations to module description.
16671         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16672         gl_PREREQ_DUPLOCALE invocations from here...
16673         * modules/duplocale (configure.ac): ... to here.
16674
16675 2011-05-05  Bruno Haible  <bruno@clisp.org>
16676
16677         dirfd: Move AC_LIBOBJ invocations to module description.
16678         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16679         gl_FUNC_DIRFD.
16680         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16681         here...
16682         * modules/dirfd (configure.ac): ... to here.
16683         (Depends-on): Fix condition.
16684
16685 2011-05-05  Bruno Haible  <bruno@clisp.org>
16686
16687         chown: Respect rules for use of AC_LIBOBJ.
16688         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16689         * modules/chown (configure.ac): ... to here.
16690
16691 2011-05-05  Bruno Haible  <bruno@clisp.org>
16692
16693         chdir-long: Move AC_LIBOBJ invocations to module description.
16694         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16695         gl_PREREQ_CHDIR_LONG invocations from here...
16696         * modules/chdir-long (configure.ac): ... to here.
16697
16698 2011-05-05  Bruno Haible  <bruno@clisp.org>
16699
16700         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16701         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16702         from here...
16703         * modules/canonicalize-lgpl (configure.ac): ... to here.
16704
16705 2011-05-05  Bruno Haible  <bruno@clisp.org>
16706
16707         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16708         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16709         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16710         REPLACE_CALLOC.
16711         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16712         * modules/calloc-gnu (configure.ac): Likewise.
16713
16714 2011-05-05  Bruno Haible  <bruno@clisp.org>
16715
16716         btowc: Move AC_LIBOBJ invocations to module description.
16717         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16718         invocations from here...
16719         * modules/btowc (configure.ac): ... to here.
16720
16721 2011-05-21  Bruno Haible  <bruno@clisp.org>
16722
16723         atexit: Move AC_LIBOBJ invocations to module description.
16724         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16725         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16726         here...
16727         * modules/atexit (configure.ac): ... to here.
16728
16729 2011-05-05  Bruno Haible  <bruno@clisp.org>
16730
16731         atoll: Move AC_LIBOBJ invocations to module description.
16732         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16733         invocations from here...
16734         * modules/atoll (configure.ac): ... to here.
16735
16736 2011-05-05  Bruno Haible  <bruno@clisp.org>
16737
16738         argz: Move AC_LIBOBJ invocations to module description.
16739         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16740         * modules/argz (configure.ac): ... to here.
16741
16742 2011-05-05  Bruno Haible  <bruno@clisp.org>
16743
16744         alphasort: Move AC_LIBOBJ invocations to module description.
16745         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16746         gl_PREREQ_ALPHASORT invocations from here...
16747         * modules/alphasort (configure.ac): ... to here.
16748
16749 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16750
16751         verify: new macro verify_expr; verify_true deprecated
16752         * NEWS: Mention this.
16753         * doc/verify.texi (Compile-time Assertions): Document this.
16754         * lib/verify.h (verify_true): Deprecate.
16755         (verify_expr): New macro.
16756         * tests/test-verify.c (function): Test verify_expr.
16757
16758 2011-06-14  Jim Meyering  <meyering@redhat.com>
16759
16760         init.sh: give more portable redirection-related advice in a comment
16761         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16762         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16763         for lots of discussion.  Stefano Lattarini suggested the solution
16764         of putting "9>&2" after the command.  Reported by Bruno Haible.
16765
16766 2011-06-13  Bruno Haible  <bruno@clisp.org>
16767
16768         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16769         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16770         'none'.
16771
16772 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16773
16774         ftoastr: use strtof only if HAVE_STRTOF
16775         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16776         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16777         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16778         * modules/ftoastr (configure.ac): Check for strtof.
16779
16780 2011-06-13  Bruno Haible  <bruno@clisp.org>
16781
16782         gnulib-tool: Addendum to 2011-06-08 commit.
16783         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16784         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16785
16786 2011-06-13  Bruno Haible  <bruno@clisp.org>
16787
16788         fseeko: Provide a non-inline replacement of fseek().
16789         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16790         * modules/fseeko (Depends-on): Add fseek.
16791         * modules/fseek (License): Change to LGPLv2+.
16792
16793 2011-06-13  Bruno Haible  <bruno@clisp.org>
16794
16795         ftello: Provide a non-inline replacement of ftell().
16796         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16797         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16798         not have ftello() (such as on mingw).
16799         * modules/ftello (Depends-on): Add ftell.
16800         * modules/ftell (License): Change to LGPLv2+.
16801
16802 2011-05-07  Bruno Haible  <bruno@clisp.org>
16803
16804         ftell: Move AC_LIBOBJ invocations to module description.
16805         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16806         * modules/ftell (configure.ac): ... to here.
16807
16808 2011-05-07  Bruno Haible  <bruno@clisp.org>
16809
16810         ftello: Respect rules for use of AC_LIBOBJ.
16811         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16812         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16813         here...
16814         * modules/ftello (configure.ac): ... to here.
16815
16816 2011-05-07  Bruno Haible  <bruno@clisp.org>
16817
16818         fseeko: Simplify.
16819         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16820         (gl_FUNC_FSEEKO): Inline it here.
16821
16822 2011-05-07  Bruno Haible  <bruno@clisp.org>
16823
16824         fseek: Move AC_LIBOBJ invocations to module description.
16825         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16826         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16827         * modules/fseek (configure.ac): ... to here.
16828
16829 2011-05-07  Bruno Haible  <bruno@clisp.org>
16830
16831         fseek: Respect rules for use of AC_LIBOBJ.
16832         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16833         here...
16834         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16835
16836 2011-05-07  Bruno Haible  <bruno@clisp.org>
16837
16838         fseeko: Respect rules for use of AC_LIBOBJ.
16839         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16840         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16841         here...
16842         * modules/fseeko (configure.ac): ... to here.
16843
16844 2011-06-13  Bruno Haible  <bruno@clisp.org>
16845
16846         gnulib-tool: Allow comments in the 'Depends-on' section.
16847         * doc/gnulib.texi (Module description): Mention comment syntax in the
16848         Depends-on section.
16849         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16850
16851 2011-06-13  Bruno Haible  <bruno@clisp.org>
16852
16853         file-set.h: guard __attibute__ use, now that it's not always defined
16854         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16855         versions that support it.  This fixes a coreutils build failure with
16856         the vendor cc on HP-UX 11.31.
16857
16858 2011-06-12  Bruno Haible  <bruno@clisp.org>
16859
16860         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16861         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16862         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16863         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16864         (acl, aclsort): New declarations.
16865         (aclv_nontrivial): New declaration.
16866         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16867         (file_has_acl): Read also the second kind of HP-UX ACLs.
16868         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16869         kind of HP-UX ACLs if the first kind fails.
16870         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16871         second kind of HP-UX ACLs.
16872         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16873         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16874         agree.
16875         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16876         hpuxjfs.
16877         Handle hpuxjfs.
16878         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16879         hpuxjfs.
16880         Handle hpuxjfs.
16881         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16882         (func_test_same_acls): Use both lsacl and getacl.
16883         Handle hpuxjfs.
16884         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16885         (func_test_same_acls): Use both lsacl and getacl.
16886         Handle hpuxjfs.
16887
16888 2011-06-12  Bruno Haible  <bruno@clisp.org>
16889
16890         acl: Complete the 2010-08-10 fix.
16891         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16892         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16893         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16894         explicitly.
16895         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16896         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16897
16898 2011-06-12  Bruno Haible  <bruno@clisp.org>
16899
16900         spawn-pipe tests: Comments.
16901         * tests/test-spawn-pipe-child.c (main): Update comment.
16902         Reported by James Youngman <jay@gnu.org>.
16903
16904 2011-06-11  James Youngman  <jay@gnu.org>
16905
16906         New module 'stat-size'.
16907         * modules/stat-size: New module.  Provides macros for accessing
16908         file size information in instances of struct stat.  Depends on the
16909         fileblocks module because it calls st_blocks.
16910         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16911         * doc/gnulib.texi: Include stat-size.texi.
16912         * doc/stat-size.texi: Documentation for this module.
16913         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16914         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16915         AC_STRUCT_ST_BLOCKS.
16916
16917 2011-06-09  Bruno Haible  <bruno@clisp.org>
16918
16919         thread: Support pthreads-win32.
16920         * lib/glthread/thread.h (gl_thread_self): Define differently on
16921         pthreads-win32.
16922         (gl_null_thread): New declaration.
16923         (gl_thread_self_pointer): New macro.
16924         * lib/glthread/thread.c (gl_null_thread): New constant.
16925         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16926         gl_thread_self.
16927         * tests/test-tls.c: Likewise.
16928         Suggested by Paul Eggert. Reported by Eric Blake.
16929
16930 2011-06-09  Bruno Haible  <bruno@clisp.org>
16931
16932         thread: Fix confusion between NULL and 0.
16933         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16934         Reported by Paul Eggert.
16935
16936 2011-06-09  Bruno Haible  <bruno@clisp.org>
16937
16938         spawn-pipe tests: Avoid test failure on HP-UX 11.
16939         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16940         is closed.
16941
16942 2011-06-09  Bruno Haible  <bruno@clisp.org>
16943
16944         acl tests: Fix compilation error on HP-UX 11.
16945         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16946
16947 2011-06-09  Bruno Haible  <bruno@clisp.org>
16948
16949         rmdir: Avoid test failure on HP-UX 10.20.
16950         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16951         EEXIST.
16952
16953 2011-06-08  Eric Blake  <eblake@redhat.com>
16954
16955         perror: fix test on mingw
16956         * modules/perror-tests (Depends-on): Add dup2.
16957
16958         strerror_r-posix: fix on MacOS
16959         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16960         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16961         logic bug.
16962         * lib/strerror_r.c (strerror_r): Fix the bug.
16963         * lib/strerror.c (strerror): Likewise.
16964         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16965         problem.
16966         * doc/posix-functions/strerror.texi (strerror): Likewise.
16967         * doc/posix-functions/perror.texi (perror): Likewise.
16968         * tests/test-strerror.c (main): Enhance test.
16969         * tests/test-strerror_r.c (main): Likewise.
16970
16971 2011-06-08  Bruno Haible  <bruno@clisp.org>
16972
16973         gnulib-tool: Better isolation between different gnulib-tool invocations.
16974         * gnulib-tool: New option --witness-c-macro.
16975         (witness_c_macro): New variable.
16976         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16977         AM_CPPFLAGS define it as a C macro.
16978         (func_emit_tests_Makefile_am): Likewise.
16979         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16980         read it from there.
16981         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16982         m4_define, not AC_DEFUN.
16983         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16984         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16985         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16986         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16987         s|...|...|, to substitute the values of the GNULIB_* module indicator
16988         variables.
16989         * modules/dirent (Makefile.am): Likewise.
16990         * modules/fcntl-h (Makefile.am): Likewise.
16991         * modules/iconv-h (Makefile.am): Likewise.
16992         * modules/langinfo (Makefile.am): Likewise.
16993         * modules/locale (Makefile.am): Likewise.
16994         * modules/math (Makefile.am): Likewise.
16995         * modules/netdb (Makefile.am): Likewise.
16996         * modules/poll-h (Makefile.am): Likewise.
16997         * modules/pty (Makefile.am): Likewise.
16998         * modules/search (Makefile.am): Likewise.
16999         * modules/signal (Makefile.am): Likewise.
17000         * modules/spawn (Makefile.am): Likewise.
17001         * modules/stdio (Makefile.am): Likewise.
17002         * modules/stdlib (Makefile.am): Likewise.
17003         * modules/string (Makefile.am): Likewise.
17004         * modules/sys_ioctl (Makefile.am): Likewise.
17005         * modules/sys_select (Makefile.am): Likewise.
17006         * modules/sys_socket (Makefile.am): Likewise.
17007         * modules/sys_stat (Makefile.am): Likewise.
17008         * modules/sys_times (Makefile.am): Likewise.
17009         * modules/sys_utsname (Makefile.am): Likewise.
17010         * modules/sys_wait (Makefile.am): Likewise.
17011         * modules/termios (Makefile.am): Likewise.
17012         * modules/time (Makefile.am): Likewise.
17013         * modules/unistd (Makefile.am): Likewise.
17014         * modules/wchar (Makefile.am): Likewise.
17015
17016 2011-06-08  Eric Blake  <eblake@redhat.com>
17017
17018         strerror: simplify replacement
17019         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
17020         * modules/strerror (configure.ac): No prereqs needed here...
17021         * modules/strerror-override (configure.ac): ...but this needs it.
17022         (Files): Add file for needed prereq macro.
17023
17024 2011-06-08  Bruno Haible  <bruno@clisp.org>
17025
17026         strerror_r-posix: Tweaks.
17027         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
17028         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
17029         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
17030         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
17031         (gl_FUNC_STRERROR_R): ... to here.
17032         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
17033
17034 2011-06-07  Eric Blake  <eblake@redhat.com>
17035
17036         perror: document fixed bugs
17037         * doc/posix-functions/perror.texi (perror): Document recent
17038         patches.
17039
17040 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
17041
17042         stat-time: get_stat_birthtime failure is better-defined
17043         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
17044         return a timestamp whose tv_sec and tv_nsec values are both -1.
17045         Previously, the spec said only that the tv_nsec value was negative.
17046         This upward-compatible change simplifies GNU tar a bit.
17047
17048 2011-06-07  Eric Blake  <eblake@redhat.com>
17049
17050         strerror_r-posix: work around cygwin 1.7.9
17051         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
17052         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
17053         bug without replacing strerror_r.
17054         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
17055         strerror_r is buggy, but without requiring strerror_r compilation.
17056         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
17057
17058         test-perror: relax test to ignore cygwin bug
17059         * tests/test-perror2.c (main): Relax test on requiring detection
17060         of stream errors, and use unbuffered stream.
17061         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
17062         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17063         * doc/posix-functions/fputc.texi (fputc): Likewise.
17064         * doc/posix-functions/fputs.texi (fputs): Likewise.
17065         * doc/posix-functions/fputws.texi (fputws): Likewise.
17066         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17067         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
17068         * doc/posix-functions/getopt.texi (getopt): Likewise.
17069         * doc/posix-functions/perror.texi (perror): Likewise.
17070         * doc/posix-functions/printf.texi (printf): Likewise.
17071         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
17072         * doc/posix-functions/psignal.texi (psignal): Likewise.
17073         * doc/posix-functions/putc.texi (putc): Likewise.
17074         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
17075         Likewise.
17076         * doc/posix-functions/putchar.texi (putchar): Likewise.
17077         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
17078         Likewise.
17079         * doc/posix-functions/puts.texi (puts): Likewise.
17080         * doc/posix-functions/putwc.texi (putwc): Likewise.
17081         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17082         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17083         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17084         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17085         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17086         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17087         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17088         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17089
17090 2011-05-22  Bruno Haible  <bruno@clisp.org>
17091
17092         strerror: Move AC_LIBOBJ invocations to module description.
17093         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
17094         gl_PREREQ_STRERROR invocations from here...
17095         * modules/strerror (configure.ac): ... to here.
17096
17097 2011-05-21  Bruno Haible  <bruno@clisp.org>
17098
17099         perror: Use common idiom.
17100         * modules/perror (configure.ac): Reorder statements.
17101
17102 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17103
17104         tests: fix usage message in 'mktempd_'
17105         * tests/init.sh (mktempd_): In the usage message, use literal
17106         'mktempd_', not '$ME' (which is even undefined), as the name of
17107         the subroutine.
17108
17109 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17110
17111         tests init: new function 'fatal_', for hard errors
17112         Before this patch, the only way offered by tests/init.sh to
17113         properly signal a hard error was the `framework_failure_'
17114         function.  But the error message issued by that function,
17115         as its name would suggest, refers to a set-up failure in the
17116         testsuite, while hard errors can obviously also be due to
17117         other reasons.  The best way to fix this inconsistency is to
17118         introduce a new function with a more general error message.
17119         * tests/init.sh (fatal_): New function.
17120
17121 2011-06-06  Eric Blake  <eblake@redhat.com>
17122
17123         canonicalize-lgpl: use common idiom
17124         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
17125         over newer POSIX -Rf.
17126         Reported by Bruno Haible.
17127
17128         canonicalize-lgpl: work around AIX realpath bug
17129         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17130         * doc/posix-functions/realpath.texi (realpath): Document it.
17131         Reported by Bruno Haible.
17132
17133         strerror: work around FreeBSD bug
17134         * lib/strerror.c (strerror): Special case 0.
17135         Reported by Bruno Haible.
17136
17137         strerror-override: avoid bloating errno module
17138         * modules/errno (Files, configure.ac): Move replacement strings...
17139         * modules/strerror-override: ...to new module.
17140         * modules/strerror (Depends-on): Add strerror-override.
17141         * modules/strerror_r-posix (Depends-on): Likewise.
17142         * MODULES.html.sh: Document new module.
17143         Reported by Bruno Haible.
17144
17145 2011-06-06  Bruno Haible  <bruno@clisp.org>
17146
17147         spawn-pipe tests: Rename program.
17148         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17149         * tests/test-spawn-pipe-child.c: Update comment.
17150         * tests/test-spawn-pipe.sh: Update.
17151         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17152
17153         spawn-pipe tests: Link the child program only against libc.
17154         * tests/test-spawn-pipe-child.c: New file, extracted from
17155         tests/test-spawn-pipe.c.
17156         (main): Expect only one argument.
17157         (is_open): New function, copied from tests/test-pipe.c.
17158         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17159         (child_main): Remove function.
17160         (test_pipe): Pass only one argument to the child program.
17161         (main): Remove child process code. Expect the child program's name as
17162         first argument.
17163         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17164         argument.
17165         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17166         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17167         test-spawn-pipe-child against no libraries.
17168
17169 2011-06-06  Bruno Haible  <bruno@clisp.org>
17170
17171         careadlinkat: Avoid mismatch between ssize_t and int.
17172         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17173         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17174
17175 2011-06-06  Jim Meyering  <meyering@redhat.com>
17176
17177         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17178         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17179         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17180
17181 2011-06-05  Bruno Haible  <bruno@clisp.org>
17182
17183         ansi-c++-opt: Interoperability with libtool.
17184         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17185         set the variable to "no", not to ":".
17186         * NEWS: Mention the change.
17187
17188 2011-06-05  Bruno Haible  <bruno@clisp.org>
17189
17190         acl: Fix test failure on AIX 7.
17191         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17192         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17193
17194 2011-06-05  Bruno Haible  <bruno@clisp.org>
17195
17196         pipe-filter-ii: Fix test failure on AIX and IRIX.
17197         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17198         with EAGAIN, retry with a smaller buffer size.
17199
17200 2011-06-05  Bruno Haible  <bruno@clisp.org>
17201
17202         localename: Fix link dependencies.
17203         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17204         * modules/localename-tests (Makefile.am): Link test-localename with
17205         $(LIBTHREAD).
17206
17207 2011-06-05  Bruno Haible  <bruno@clisp.org>
17208
17209         error: Avoid gcc warning.
17210         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17211
17212 2011-06-05  Bruno Haible  <bruno@clisp.org>
17213
17214         unsetenv: Avoid gcc warning.
17215         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17216
17217 2011-06-05  Bruno Haible  <bruno@clisp.org>
17218
17219         setenv: Avoid gcc warning.
17220         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17221
17222 2011-06-05  Bruno Haible  <bruno@clisp.org>
17223
17224         sys_select: Ensure memset is declared also on AIX 7.
17225         * lib/sys_select.in.h: Include <string.h> also on AIX.
17226         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17227         self-contained also on AIX 7.1.
17228
17229 2011-06-04  Jim Meyering  <meyering@redhat.com>
17230
17231         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17232         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17233         function name, "error".
17234         (_gl_translatable_diag_func_re): New configurable variable.
17235
17236 2011-06-04  Bruno Haible  <bruno@clisp.org>
17237
17238         getopt: Avoid gcc warning.
17239         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17240
17241 2011-06-04  Bruno Haible  <bruno@clisp.org>
17242
17243         strerror_r: Fix comments.
17244         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17245         commit.
17246
17247 2011-06-04  Bruno Haible  <bruno@clisp.org>
17248
17249         perror: Fix compilation error.
17250         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17251         Undefine fprintf, not sprintf.
17252         * modules/perror (Depends-on): Remove intprops, verify.
17253
17254 2011-06-04  Bruno Haible  <bruno@clisp.org>
17255
17256         setlocale: Enable replacement on Cygwin 1.5.
17257         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17258         Cygwin 1.5.x.
17259         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17260         LC_CTYPE category also exists on Cygwin 1.5.x.
17261
17262 2011-06-04  Bruno Haible  <bruno@clisp.org>
17263
17264         strerror-override: Don't disable symbol renamings.
17265         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17266         * lib/strerror-override.c: Include config.h.
17267         (strerror_override): Don't undefine.
17268
17269 2011-06-03  Bruno Haible  <bruno@clisp.org>
17270
17271         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17272         * lib/localename.h: Update copyright header.
17273         * lib/localename.c: Likewise.
17274         * lib/relocatable.h: Likewise.
17275         * lib/relocatable.c: Likewise.
17276
17277 2011-06-02  Bruno Haible  <bruno@clisp.org>
17278
17279         doc: Fix a module name.
17280         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17281
17282 2011-06-02  Bruno Haible  <bruno@clisp.org>
17283
17284         pipe2: Remove dependency on 'nonblocking' module.
17285         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17286         O_NONBLOCK is defined by gnulib.
17287         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17288         is zero.
17289         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17290         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17291         defined by gnulib.
17292         (get_nonblocking_flag): New function.
17293         (main): Test O_NONBLOCK flag only if it is nonzero.
17294         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17295
17296 2011-06-03  Jim Meyering  <meyering@redhat.com>
17297
17298         maint: three new prohibit-header-without-use rules
17299         Prohibit use of cloexec.h, posixver.h, same.h without use.
17300         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17301         (sc_prohibit_posixver_without_use): Likewise.
17302         (sc_prohibit_same_without_use): Likewise.
17303
17304 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17305
17306         allocator: 'die' routine is now given requested size
17307         * lib/allocator.h (struct allocator.die): New size arg.
17308         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17309         If the actual problem is an ssize_t limitation, not a size_t or
17310         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17311
17312 2011-06-01  Eric Blake  <eblake@redhat.com>
17313
17314         strerror: drop strerror_r dependency
17315         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17316         * lib/strerror-override.c (strerror_override): ...to new file.
17317         * lib/strerror-override.h: Add prototype.
17318         * lib/strerror-impl.h: Delete.
17319         * lib/strerror.c (strerror): New implementation.
17320         * modules/errno (Files): Add new files.
17321         (configure.ac): Compile new file as appropriate.
17322         * modules/strerror (Files): Drop unused file.
17323         (Depends-on): Drop strerror_r-posix.
17324         * MODULES.html.sh: Document strerror_r-posix.
17325         Requested by Sam Steingold.
17326
17327         perror: call strerror_r directly
17328         * modules/perror (Files): Drop strerror-impl.h.
17329         * lib/perror.c (perror): Use our own stack buffer, rather than
17330         calling a wrapper that uses static storage.
17331         * doc/posix-functions/perror.texi (perror): Document a limitation
17332         of our replacement.
17333
17334         strerror_r: fix includes for FreeBSD
17335         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17336         since we use abort on some platforms.
17337         Reported by Matthias Bolte.
17338
17339 2011-05-31  Bruno Haible  <bruno@clisp.org>
17340
17341         Fix link errors in tests: openat-die uses gettext-h.
17342         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17343         against $(LIBINTL).
17344         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17345         against $(LIBINTL).
17346         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17347         $(LIBINTL).
17348         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17349         against $(LIBINTL).
17350         * modules/linkat-tests (Makefile.am): Link test-linkat against
17351         $(LIBINTL).
17352         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17353         $(LIBINTL).
17354         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17355         against $(LIBINTL).
17356         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17357         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17358         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17359         $(LIBINTL).
17360         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17361         $(LIBINTL).
17362         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17363         $(LIBINTL).
17364         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17365
17366 2011-05-31  Bruno Haible  <bruno@clisp.org>
17367
17368         Fix link errors in tests: wait-process uses gettext-h.
17369         * modules/nonblocking-pipe-tests (Makefile.am): Set
17370         test_nonblocking_pipe_main_LDADD.
17371         * modules/nonblocking-socket-tests (Makefile.am): Link
17372         test-nonblocking-socket-main against $(LIBINTL).
17373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17374
17375 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17376
17377         assert-h: work around 'verify' incompatibility
17378         * lib/verify.h: Use @...@ directives, not ifdef.
17379         * modules/assert-h (assert.h): Implement the directives.
17380         (assert.h): Substitute the symbol-prefix more consistently.
17381
17382 2011-05-29  Jim Meyering  <meyering@redhat.com>
17383
17384         trim: remove three superfluous assignments
17385         * lib/trim.c (trim2): Remove three superfluous assignments
17386         and correct brace positioning.
17387
17388 2011-05-29  Bruno Haible  <bruno@clisp.org>
17389
17390         wctype-h: Avoid namespace pollution on Solaris 2.6.
17391         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17392         identifiers.
17393         * doc/posix-headers/wctype.texi: Mention the problem.
17394         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17395
17396 2011-05-28  Jim Meyering  <meyering@redhat.com>
17397
17398         parse-datetime.y: accommodate -Wstrict-overflow
17399         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17400         placate -Wstrict-overflow.
17401
17402         trim: avoid a warning from -O2 -Wstrict-overflow
17403         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17404
17405 2011-05-29  Bruno Haible  <bruno@clisp.org>
17406
17407         gnulib-tool: Fix bug in yesterday's commit.
17408         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17409         twice.
17410
17411 2011-05-29  Bruno Haible  <bruno@clisp.org>
17412
17413         Allow multiple gnulib generated include files to be combined.
17414         * gnulib-tool (func_compute_include_guard_prefix): New function.
17415         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17416         ${gl_include_guard_prefix} references.
17417         (func_import, func_create_testdir): Invoke
17418         func_compute_include_guard_prefix.
17419         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17420         * lib/ctype.in.h: Likewise.
17421         * lib/dirent.in.h: Likewise.
17422         * lib/errno.in.h: Likewise.
17423         * lib/fcntl.in.h: Likewise.
17424         * lib/float.in.h: Likewise.
17425         * lib/getopt.in.h: Likewise.
17426         * lib/iconv.in.h: Likewise.
17427         * lib/langinfo.in.h: Likewise.
17428         * lib/locale.in.h: Likewise.
17429         * lib/math.in.h: Likewise.
17430         * lib/netdb.in.h: Likewise.
17431         * lib/netinet_in.in.h: Likewise.
17432         * lib/poll.in.h: Likewise.
17433         * lib/pthread.in.h: Likewise.
17434         * lib/pty.in.h: Likewise.
17435         * lib/sched.in.h: Likewise.
17436         * lib/se-selinux.in.h: Likewise.
17437         * lib/search.in.h: Likewise.
17438         * lib/signal.in.h: Likewise.
17439         * lib/spawn.in.h: Likewise.
17440         * lib/stdarg.in.h: Likewise.
17441         * lib/stddef.in.h: Likewise.
17442         * lib/stdint.in.h: Likewise.
17443         * lib/stdio.in.h: Likewise.
17444         * lib/stdlib.in.h: Likewise.
17445         * lib/string.in.h: Likewise.
17446         * lib/strings.in.h: Likewise.
17447         * lib/sys_file.in.h: Likewise.
17448         * lib/sys_ioctl.in.h: Likewise.
17449         * lib/sys_select.in.h: Likewise.
17450         * lib/sys_socket.in.h: Likewise.
17451         * lib/sys_stat.in.h: Likewise.
17452         * lib/sys_time.in.h: Likewise.
17453         * lib/sys_times.in.h: Likewise.
17454         * lib/sys_uio.in.h: Likewise.
17455         * lib/sys_utsname.in.h: Likewise.
17456         * lib/sys_wait.in.h: Likewise.
17457         * lib/sysexits.in.h: Likewise.
17458         * lib/termios.in.h: Likewise.
17459         * lib/time.in.h: Likewise.
17460         * lib/unistd.in.h: Likewise.
17461         * lib/wchar.in.h: Likewise.
17462         * lib/wctype.in.h: Likewise.
17463         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17464         * modules/ctype (Makefile.am): Likewise.
17465         * modules/dirent (Makefile.am): Likewise.
17466         * modules/errno (Makefile.am): Likewise.
17467         * modules/fcntl-h (Makefile.am): Likewise.
17468         * modules/float (Makefile.am): Likewise.
17469         * modules/getopt-posix (Makefile.am): Likewise.
17470         * modules/iconv-h (Makefile.am): Likewise.
17471         * modules/langinfo (Makefile.am): Likewise.
17472         * modules/locale (Makefile.am): Likewise.
17473         * modules/math (Makefile.am): Likewise.
17474         * modules/netdb (Makefile.am): Likewise.
17475         * modules/netinet_in (Makefile.am): Likewise.
17476         * modules/poll-h (Makefile.am): Likewise.
17477         * modules/pthread (Makefile.am): Likewise.
17478         * modules/pty (Makefile.am): Likewise.
17479         * modules/sched (Makefile.am): Likewise.
17480         * modules/search (Makefile.am): Likewise.
17481         * modules/selinux-h (Makefile.am): Likewise.
17482         * modules/signal (Makefile.am): Likewise.
17483         * modules/spawn (Makefile.am): Likewise.
17484         * modules/stdarg (Makefile.am): Likewise.
17485         * modules/stddef (Makefile.am): Likewise.
17486         * modules/stdint (Makefile.am): Likewise.
17487         * modules/stdio (Makefile.am): Likewise.
17488         * modules/stdlib (Makefile.am): Likewise.
17489         * modules/string (Makefile.am): Likewise.
17490         * modules/strings (Makefile.am): Likewise.
17491         * modules/sys_file (Makefile.am): Likewise.
17492         * modules/sys_ioctl (Makefile.am): Likewise.
17493         * modules/sys_select (Makefile.am): Likewise.
17494         * modules/sys_socket (Makefile.am): Likewise.
17495         * modules/sys_stat (Makefile.am): Likewise.
17496         * modules/sys_time (Makefile.am): Likewise.
17497         * modules/sys_times (Makefile.am): Likewise.
17498         * modules/sys_uio (Makefile.am): Likewise.
17499         * modules/sys_utsname (Makefile.am): Likewise.
17500         * modules/sys_wait (Makefile.am): Likewise.
17501         * modules/sysexits (Makefile.am): Likewise.
17502         * modules/termios (Makefile.am): Likewise.
17503         * modules/time (Makefile.am): Likewise.
17504         * modules/unistd (Makefile.am): Likewise.
17505         * modules/wchar (Makefile.am): Likewise.
17506         * modules/wctype-h (Makefile.am): Likewise.
17507         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17508
17509 2011-05-29  Bruno Haible  <bruno@clisp.org>
17510
17511         assert-h: Allow multiple gnulib generated replacements to coexist.
17512         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17513
17514 2011-05-29  Bruno Haible  <bruno@clisp.org>
17515
17516         argp: Allow coexistence with strerror_r-posix module.
17517         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17518         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17519         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17520         not the glibc signature.
17521
17522 2011-05-28  Bruno Haible  <bruno@clisp.org>
17523
17524         gnulib-tool: Alternative structure of testdirs, similar to --import.
17525         * gnulib-tool: New option --single-configure.
17526         (func_usage): Document it.
17527         (single_configure): New variable.
17528         (func_modules_transitive_closure_separately,
17529         func_modules_transitive_closure_separately,
17530         func_determine_use_libtests, func_modules_add_dummy_separately,
17531         func_modules_to_filelist_separately): New functions, extracted from
17532         func_import.
17533         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17534         (func_import): Use the new functions.
17535         (func_create_testdir): Set final_modules. Handle $single_configure =
17536         true case.
17537
17538 2011-05-28  Bruno Haible  <bruno@clisp.org>
17539
17540         getloadavg: Remove an unreliable safety check.
17541         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17542         getloadavg.c is in place.
17543         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17544         Reported by Sam Steingold <sds@gnu.org>.
17545
17546 2011-05-28  Bruno Haible  <bruno@clisp.org>
17547
17548         doc: Cleanup yet another file produced by texinfo.tex.
17549         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17550
17551 2011-05-28  Bruno Haible  <bruno@clisp.org>
17552
17553         Finish the conditional dependencies mechanism.
17554         * gnulib-tool: New option --no-conditional-dependencies.
17555         (func_usage): Document it. Don't mark --conditional-dependencies as
17556         experimental.
17557         (cond_dependencies): The possible values can now be true, false, empty.
17558         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17559         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17560         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17561
17562 2011-05-28  Bruno Haible  <bruno@clisp.org>
17563
17564         doc: Use a recent texinfo.tex.
17565         * doc/Makefile (tex_opts): New variable.
17566         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17567
17568 2011-05-28  Jim Meyering  <meyering@redhat.com>
17569
17570         intprops.h: adjust comment to match code change
17571         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17572         only once, it *may* have side effects.  Also fix an unrelated typo.
17573         (_GL_INT_SIGNED): Likewise.
17574
17575 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17576
17577         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17578
17579 2011-05-26  Bruno Haible  <bruno@clisp.org>
17580
17581         mbsrchr: Avoid collision with system function on Interix.
17582         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17583         Reported by Markus Duft <mduft@gentoo.org>.
17584
17585 2011-05-15  James Youngman  <jay@gnu.org>
17586
17587         getopt: for ambiguous options, enumerate the possibilities.
17588         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17589         the ambiguous options when an ambiguous prefix is given. This was
17590         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17591         glibc change was
17592         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17593
17594 2011-05-25  Eric Blake  <eblake@redhat.com>
17595
17596         getcwd: work around mingw bug
17597         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17598         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17599         Reported by Matthias Bolte.
17600
17601 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17602
17603         test-intprops: disable -Wtype-limits diagnostics
17604         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17605         diagnostics.  Otherwise, the integer overflow macros generate many
17606         diagnostics.  Reported by Jim Meyering in
17607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17608
17609         intprops: shorten, to pacify gcc -Woverlength-strings
17610         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17611         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17612         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17613         likely to run afoul of C compiler limits for string constant lengths.
17614         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17615
17616 2011-05-24  Eric Blake  <eblake@redhat.com>
17617
17618         docs: document recently fixed glibc printf bug
17619         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17620         * doc/posix-functions/printf.texi (printf): Likewise.
17621         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17622         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17623
17624         closein-tests: convert to init.sh
17625         * modules/closein-tests (Files): Add init.sh
17626         * tests/test-closein.sh Use it.
17627
17628         yesno-tests: convert to init.sh
17629         * modules/yesno-tests (Files): Add init.sh.
17630         * tests/test-yesno.sh: Use it.
17631
17632         atexit-tests: ensure reliable exit status
17633         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17634         Reported by Bruno Haible.
17635
17636 2011-05-24  Bruno Haible  <bruno@clisp.org>
17637
17638         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17639         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17640         gl_PREREQ_STRERROR_R invocations from here...
17641         * modules/strerror_r-posix (configure.ac): ... to here.
17642
17643 2011-05-24  Eric Blake  <eblake@redhat.com>
17644
17645         strerror_r: fix missing header
17646         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17647
17648         strerror_r: fix AIX test failures
17649         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17650         ERANGE failure.
17651
17652         strerror_r: fix Solaris test failures
17653         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17654         failures.
17655         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17656
17657         strerror_r: enforce POSIX recommendations
17658         * lib/strerror_r.c (safe_copy): New helper method.
17659         (strerror_r): Guarantee a non-empty string.
17660         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17661         recent POSIX rulings and to match our strerror guarantees.
17662         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17663
17664 2011-05-24  Jim Meyering  <meyering@redhat.com>
17665
17666         test-perror2.c: avoid warning about unused variable
17667         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17668
17669 2011-05-24  Eric Blake  <eblake@redhat.com>
17670
17671         perror: avoid spurious test failure on HP-UX
17672         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17673
17674         tests: fix logic bug in init.sh
17675         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17676         shell.
17677
17678 2011-05-24  Jim Meyering  <meyering@redhat.com>
17679
17680         utimensat: do not reference an out-of-scope buffer
17681         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17682         declared in an inner scope, yet "times" would be dereferenced outside
17683         the scope in which "ts" was valid.
17684         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17685         of ts[2] "out/up", so that the use of aliased "times" (via
17686         "times = ts;") does not end up referencing an out-of-scope "ts"
17687
17688         opendir-safer.c: don't clobber errno; don't close negative FD
17689         * lib/opendir-safer.c (opendir_safer):
17690         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17691         file descriptor, and more importantly, don't clobber the
17692         offending errno value with EINVAL.  Before, upon failure
17693         of dup_safer, we would pass the negative file descriptor to
17694         fdopendir, which would clobber errno.
17695
17696 2011-05-23  Bruno Haible  <bruno@clisp.org>
17697
17698         idcache: Fix module description.
17699         * modules/idcache (Include): Set to "idcache.h".
17700
17701 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17702
17703         gnulib-tool: fix portability problem with MacOS sed
17704         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17705         before the "}".  Problem reported by Leo in
17706         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17707         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17708         sed_extract_condition1, sed_extract_condition2.
17709
17710 2011-05-23  Bruno Haible  <bruno@clisp.org>
17711
17712         hash: Simplify autoconf macro.
17713         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17714
17715 2011-05-23  Bruno Haible  <bruno@clisp.org>
17716
17717         getugroups: Fix module description.
17718         * modules/getugroups (Include): Set to "getugroups.h".
17719
17720 2011-05-23  Bruno Haible  <bruno@clisp.org>
17721
17722         linkat: Simplify autoconf macro.
17723         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17724
17725 2011-05-23  Bruno Haible  <bruno@clisp.org>
17726             Eric Blake  <eblake@redhat.com>
17727
17728         linkat, renameat: Update dependencies.
17729         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17730         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17731         symlinkat.
17732
17733 2011-05-23  Jim Meyering  <meyering@redhat.com>
17734
17735         maint.mk: more tight_scope improvements
17736         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17737         (_gl_TS_headers): Define only in if-0'd block.
17738         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17739         sometimes we must *not* use it.  Adjust uses accordingly.
17740         (sc_tight_scope): Use much simpler grep-based test to determine
17741         whether we skip this rule.
17742
17743         maint.mk: generalize/improve the tight-scope rule
17744         * top/maint.mk: Emit a warning when the test is skipped.
17745         (_gl_TS_dir): Add $(srcdir)/ prefix.
17746         (_gl_TS_function_match): Simplify, rather than trying
17747         to enumerate common types.  Otherwise, it would fail to match an
17748         "extern unsigned char const *" declaration in idutils.
17749         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17750         a way to support use of that type of macro.
17751         (_gl_TS_var_match): Simplify regexp.
17752         (_gl_TS_obj_files): New configurable variable.
17753         (_gl_TS_headers): Likewise.
17754
17755 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17756
17757         verify: fix bug when gnulib <assert.h> is also included
17758         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17759         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17760         Perhaps there's a better way, but this fixes the immediate problem.
17761         Problem reported by Bruno Haible in
17762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17763
17764 2011-05-22  Bruno Haible  <bruno@clisp.org>
17765
17766         xgetcwd: Simplify autoconf macro.
17767         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17768
17769 2011-05-22  Bruno Haible  <bruno@clisp.org>
17770
17771         New module 'mktime-internal'.
17772         * modules/mktime-internal: New file.
17773         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17774         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17775         mktime_internal as a C macro if libc has __mktime_internal.
17776         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17777         conditions.
17778         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17779
17780 2011-05-22  Bruno Haible  <bruno@clisp.org>
17781
17782         timegm: Correct mktime replacement statements.
17783         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17784         defining mktime as a C macro. This completes a 2009-07-28 commit.
17785
17786 2011-05-22  Bruno Haible  <bruno@clisp.org>
17787
17788         timegm: Simplify autoconf macro.
17789         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17790
17791 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17792
17793         clock-time: change to LGPLv2+.
17794         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17795         BSD-like but we have no mark for that; this is good enough for now.
17796
17797 2011-05-21  Bruno Haible  <bruno@clisp.org>
17798
17799         strerror_r: Fix comments.
17800         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17801
17802 2011-05-21  Bruno Haible  <bruno@clisp.org>
17803
17804         relocatable-prog-wrapper: Fix possible link error.
17805         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17806         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17807         (gl_FUNC_SETENV): ... to here.
17808         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17809         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17810
17811 2011-05-21  Bruno Haible  <bruno@clisp.org>
17812
17813         relocatable-prog-wrapper: Assume strerror() exists.
17814         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17815         m4/strerror.m4.
17816         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17817         * lib/relocwrapper.c: Remove mention of strerror module.
17818         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17819         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17820         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17821         C macro.
17822
17823 2011-05-21  Bruno Haible  <bruno@clisp.org>
17824
17825         select: Simplify replacement idiom.
17826         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17827         Win32 platforms.
17828         * lib/sys_select.in.h (select): Simplify accordingly.
17829         * modules/select (Depends-on): Likewise.
17830
17831 2011-05-21  Bruno Haible  <bruno@clisp.org>
17832
17833         mkdir-p: Simplify autoconf macro.
17834         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17835         gl_FUNC_LCHOWN.
17836
17837 2011-05-21  Eric Blake  <eblake@redhat.com>
17838
17839         strerror_r: avoid clobbering strerror on cygwin
17840         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17841         fall back instead to sys_errlist.
17842         * modules/strerror (configure.ac): Add witness.
17843         * tests/test-strerror_r.c (main): Enhance test.
17844         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17845         * tests/test-perror2.c (main): Free memory before exit.
17846
17847 2011-05-21  Bruno Haible  <bruno@clisp.org>
17848
17849         mkdtemp: Use gnulib naming conventions.
17850         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17851         * modules/mkdtemp (configure.ac): Update.
17852
17853 2011-05-20  Eric Blake  <eblake@redhat.com>
17854
17855         strerror_r: avoid corrupting errno on Solaris
17856         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17857         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17858
17859         strerror_r: avoid compiler warning
17860         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17861
17862         strerror_r: simplify AIX code
17863         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17864
17865         test-perror: avoid spurious failure on FreeBSD
17866         * modules/perror-tests (Depends-on): Add strerror, now that
17867         strerror_r no longer pulls it in.
17868
17869 2011-05-20  Bruno Haible  <bruno@clisp.org>
17870
17871         strerror_r-posix: Remove unused dependencies.
17872         * modules/strerror_r-posix (Depends-on): Remove strerror.
17873         Reported by Eric Blake.
17874
17875 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17876
17877         intprops: remove assumption about A|B representation
17878         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17879         is a valid integer if both A and B are.  Although this is true for
17880         all known practical hosts, the C standard doesn't guarantee it,
17881         and the code need not assume it.  Also, this change may work around
17882         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17884
17885 2011-05-20  Eric Blake  <eblake@redhat.com>
17886
17887         perror: work around FreeBSD bug
17888         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17889         is broken.  Move AC_LIBOBJ...
17890         * modules/perror (configure.ac): Here.
17891         * doc/posix-functions/perror.texi (perror): Document this.
17892         * tests/test-perror2.c (main): Enhance test.
17893
17894         test-perror: check for strerror interactions
17895         * tests/macros.h (STREQ): Add macro.
17896         * modules/perror-tests (Files): Add second test.
17897         * tests/test-perror2.c (main): New file.
17898         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17899
17900         test-perror: rewrite to use init script
17901         * modules/perror-tests (Files): Add init.sh.
17902         * tests/test-perror.sh: Use temporary directory.
17903
17904 2011-05-20  Jim Meyering  <meyering@redhat.com>
17905
17906         maint: replace misused "a" with "an"
17907         * doc/intprops.texi: "a integer"
17908         * doc/regex.texi: "a explanation"
17909         * lib/alignof.h: "a object"
17910         * lib/argmatch.h: "a explanation"
17911         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17912         * lib/stdint.in.h: "a integer"
17913         * lib/userspec.c: "a owner"
17914         * doc/gnulib.texi: Fix "a idea", and reword.
17915
17916 2011-05-19  Jim Meyering  <meyering@redhat.com>
17917
17918         maint: correct misuse of "a" and "an"
17919         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17920         * lib/argp-help.c: "an docum...": s/an/a/
17921         * lib/argp-parse.c: "An vector": s/An/A/
17922         * lib/execute.c: "an native": s/an/a/
17923         * lib/spawn-pipe.c: Likewise.
17924         * lib/gc.h: "an Gc_rc": s/an/a/
17925         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17926         * lib/fts.c: "an stat.st_dev": s/an/a/
17927
17928 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17929
17930         intprops-tests: work around HP-UX 11.23 cc bug with constants
17931         * tests/test-intprops.c (VERIFY): New macro.
17932         (main): Use it, instead of verify, to work around the compiler bug; see
17933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17934
17935         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17936         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17937         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17938         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17939         (_GL_REMAINDER_OVERFLOW): Use it.
17940
17941         intprops-tests: revert unsigned part of previous change
17942         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17943         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17944         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17946
17947 2011-05-19  Bruno Haible  <bruno@clisp.org>
17948
17949         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17950         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17951         strerror_r() returned without filling the buffer.
17952         Reported by Eric Blake.
17953
17954 2011-05-19  Eric Blake  <eblake@redhat.com>
17955
17956         strerror_r: guarantee unchanged errno
17957         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17958         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17959         failure.
17960         * tests/test-strerror_r.c (main): Enhance test.
17961
17962 2011-05-19  Bruno Haible  <bruno@clisp.org>
17963
17964         strerror_r: Reorder #if blocks.
17965         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17966         for consistency with the previous commit.
17967
17968 2011-05-19  Bruno Haible  <bruno@clisp.org>
17969
17970         perror: Avoid clobbering the strerror buffer when possible.
17971         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17972         * lib/strerror.c: Include it.
17973         * modules/strerror (Files): Add lib/strerror-impl.h.
17974         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17975         (my_strerror): New function, defined through lib/strerror-impl.h.
17976         (perror): Use it instead of strerror.
17977         * modules/perror (Files): Add lib/strerror-impl.h.
17978         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17979
17980 2011-05-19  Eric Blake  <eblake@redhat.com>
17981
17982         strerror_r: fix on newer cygwin
17983         * lib/strerror_r.c (strerror_r): Cygwin now has
17984         __xpg_strerror_r, use it.
17985
17986 2011-05-19  Bruno Haible  <bruno@clisp.org>
17987
17988         strerror_r: Avoid clobbering the strerror buffer when possible.
17989         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17990         (sys_nerr, sys_errlist): New declarations.
17991         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17992         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17993         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17994
17995 2011-05-19  Bruno Haible  <bruno@clisp.org>
17996
17997         strerror_r: Fix test failure on mingw.
17998         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17999         EXTEND_STRERROR_R.
18000         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
18001         macros from errno.in.h instead.
18002
18003 2011-05-19  Eric Blake  <eblake@redhat.com>
18004
18005         strerror: relax test for Solaris
18006         * tests/test-strerror.c (main): Permit Solaris behavior.
18007         * tests/test-strerror_r.c (main): Likewise.
18008
18009         strerror: enforce POSIX ruling on strerror(0)
18010         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
18011         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
18012         * lib/strerror_r.c (rpl_strerror_r): Work around it.
18013         * doc/posix-functions/strerror.texi (strerror): Document it.
18014         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
18015         * tests/test-strerror.c (main): Strengthen test.
18016         * tests/test-strerror_r.c (main): Likewise.
18017
18018 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18019
18020         intprop-tests: port to older and more-pedantic compilers
18021         * modules/intprops-tests (Files): Add tests/macros.h.
18022         * tests/test-intprops.c: Include macros.h.
18023         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
18024         it's no longer documented to expand to an integer constant expression.
18025         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
18026         argument is floating point, as it's no longer documented to expand
18027         to an integer constant expression in that case.
18028         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
18029         compiler bugs reported by Bruno Haible.  See
18030         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18031         (U0, U1): New constants, to work around the same bugs.  Also,
18032         in tests, use e.g., "(unsigned int) 39" rather than "39u".
18033
18034         intprops: work around C compiler bugs
18035         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
18036         bug in Sun C 5.11 2010/08/13 and other compilers; see
18037         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18038
18039         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
18040         * doc/intprops.texi (Integer Type Determination): Fix
18041         documentation for TYPE_IS_INTEGER: it returns an constant
18042         expression, not an integer constant expression.  Fix doc for
18043         TYPE_SIGNED: it returns an integer constant expression only if its
18044         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
18045         hardly worth documented that way....)
18046
18047 2011-05-18  Bruno Haible  <bruno@clisp.org>
18048
18049         strerror_r: Avoid clobbering the strerror buffer when possible.
18050         * lib/strerror_r.c (strerror_r): Merge the three implementations.
18051         Handle gnulib defined errno values here. When strerror() returns NULL
18052         or an empty string, return EINVAL.
18053         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
18054         gnulib defined errno values here.
18055         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
18056
18057 2011-05-18  Eric Blake  <eblake@redhat.com>
18058
18059         fnmatch: avoid compiler warning
18060         * lib/fnmatch_loop.c (FCT): Use correct type.
18061         Reported by Matthias Bolte.
18062
18063 2011-05-13  Jim Meyering  <meyering@redhat.com>
18064
18065         maint.mk: three new prohibit_<HDR>_without_use rules
18066         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
18067         (sc_prohibit_stdio-safer_without_use): Likewise.
18068         (sc_prohibit_xfreopen_without_use): Likewise.
18069
18070 2011-05-17  Jim Meyering  <meyering@redhat.com>
18071
18072         announce-gen: fail if the NEWS delta is empty
18073         If there's nothing noteworthy in NEWS, then either you forgot
18074         or you shouldn't be releasing.
18075         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
18076
18077 2011-05-17  Pádraig Brady <P@draigBrady.com>
18078
18079         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
18080         reserved symbols starting with double underscore from the check.
18081
18082 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18083
18084         intprops: add doc
18085         * doc/intprops.texi: New file, documenting intprops.
18086         * doc/gnulib.texi (Particular Modules): Include it.
18087
18088         verify: add doc to gnulib manual and fix example
18089         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
18090         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
18091         (Compile-time Assertions): Fix example so it can't overflow.
18092
18093 2011-05-17  Jim Meyering  <meyering@redhat.com>
18094
18095         warnings.m4: don't usurp save_CPPFLAGS variable name
18096         * m4/warnings.m4: Prefix local temporary variable name with gl_.
18097
18098         doc: fix typo
18099         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
18100
18101 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18102             Bruno Haible  <bruno@clisp.org>
18103
18104         doc: Tweak recent change.
18105         * README (Portability guidelines): Tweak new text.
18106         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
18107         Interix 6.1.
18108
18109 2011-05-16  Eric Blake  <eblake@redhat.com>
18110
18111         inttypes: avoid autoconf warning
18112         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
18113         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18114
18115 2011-05-16  Sam Steingold <sds@gnu.org>
18116         and Eric Blake  <eblake@redhat.com>
18117
18118         vc-list-files: accept multiple directory operands
18119         * build-aux/vc-list-files: Iterate over all remaining operands.
18120
18121 2011-05-16  Bruno Haible  <bruno@clisp.org>
18122
18123         Fix confusion regarding deprecated modules.
18124         * modules/calloc (Status, Notice): Mark module as deprecated, not
18125         obsolete.
18126         * modules/fnmatch-posix (Status, Notice): Likewise.
18127         * modules/getdate (Status, Notice): Likewise.
18128         * modules/getopt (Status, Notice): Likewise.
18129         * modules/malloc (Status, Notice): Likewise.
18130         * modules/pipe (Status, Notice): Likewise.
18131         * modules/realloc (Status, Notice): Likewise.
18132         * modules/rename-dest-slash (Status, Notice): Likewise.
18133         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18134         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18135         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18136         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18137         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18138
18139 2011-05-16  Bruno Haible  <bruno@clisp.org>
18140
18141         doc: List the target platforms.
18142         * doc/gnulib-intro.texi (Target Platforms): New section.
18143         * doc/gnulib.texi (Introduction): Update menu.
18144         * README (Portability guidelines): Refer to the new section. Update
18145         statement about oldest supported environment. Remove rationale why
18146         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18147         unportable C89 function.
18148         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18149         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18150
18151 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18152
18153         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18154
18155 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18156
18157         intprops-tests: new module
18158         * modules/intprops-tests, tests/test-intprops.c: New files.
18159
18160         intprops: add safe, portable integer overflow checking
18161         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18162         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18163         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18164         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18165         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18166         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18167         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18168         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18169         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18170         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18171         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18172
18173 2011-05-12  James Youngman  <jay@gnu.org>
18174
18175         Add a test for glibc's Bugzilla bug #12378.
18176         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18177         doesn't allow the literal matching of a lone "[" (which is
18178         required by POSIX).
18179         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18180
18181 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18182
18183         Sync glibc change fixing Bugzilla bug #12378.
18184         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18185         beginning and fall back to matching as normal character if the
18186         string ends before the matching ']' is found.  This is what POSIX
18187         requires.
18188
18189 2011-05-13  Eric Blake  <eblake@redhat.com>
18190
18191         getcwd-lgpl: relax test for FreeBSD
18192         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18193         issue.
18194         * tests/test-getcwd-lgpl.c (main): Relax test.
18195         Reported by Matthias Bolte.
18196
18197 2011-05-11  Eric Blake  <eblake@redhat.com>
18198
18199         test-fflush: silence compiler warning
18200         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18201
18202 2011-05-11  Bruno Haible  <bruno@clisp.org>
18203
18204         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18205         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18206         * modules/canonicalize (Depends-on): Add 'nocrash'.
18207         * modules/canonicalize-lgpl (Depends-on): Likewise.
18208         * doc/posix-functions/realpath.texi: Update platforms list.
18209         Reported by Ryan Schmidt <ryandesign@macports.org>.
18210
18211 2011-05-11  Bruno Haible  <bruno@clisp.org>
18212
18213         group-member: Declare function in <unistd.h>.
18214         * lib/unistd.in.h (group_member): New declaration.
18215         * lib/group-member.h: Remove file.
18216         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18217         * tests/test-unistd-c++.cc: Check signature of group_member.
18218         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18219         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18220         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18221         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18222         HAVE_GROUP_MEMBER.
18223         * modules/group-member (Files): Remove lib/group-member.h.
18224         (Depends-on): Add unistd. Specify conditions.
18225         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18226         (Include): Change to <unistd.h>.
18227         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18228         HAVE_GROUP_MEMBER.
18229         * NEWS: Mention the change.
18230         * lib/euidaccess.c: Don't include group-member.h.
18231
18232 2011-05-11  Bruno Haible  <bruno@clisp.org>
18233
18234         group-member: Document module.
18235         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18236         module.
18237
18238 2011-05-11  Bruno Haible  <bruno@clisp.org>
18239
18240         fclose: Fix mistake earlier today.
18241         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18242
18243 2011-05-11  Eric Blake  <eblake@redhat.com>
18244
18245         fclose: preserve fflush errors
18246         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18247         Reported by Jim Meyering.
18248
18249         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18250         * build-aux/bootstrap (check_versions): When no specific version
18251         is required, merely check that the app produces an exit status
18252         that indicates its existence.
18253
18254         maint.mk: drop redundant check
18255         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18256         the same but better.
18257
18258 2011-05-11  Bruno Haible  <bruno@clisp.org>
18259
18260         fclose: Fix possible link error.
18261         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18262         unregister_shadow_fd. Improve comments.
18263         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18264         Eric Blake.
18265
18266 2011-05-11  Jim Meyering  <meyering@redhat.com>
18267
18268         maint.mk: improve "can not" detection and generalize rule name
18269         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18270         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18271         Use the same technique as in sc_prohibit_doubled_word, so that
18272         we recognize "can not" also when the words are separated by a newline.
18273         Suggested by Eric Blake.
18274         (perl_filename_lineno_text_): Define.  Factored out of...
18275         (prohibit_doubled_word_): ...here.  Use the new definition.
18276         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18277         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18278         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18279
18280 2011-05-10  Eric Blake  <eblake@redhat.com>
18281
18282         fclose: avoid double close race when possible
18283         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18284         all but WINDOWS_SOCKETS.
18285
18286 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18287
18288         openat: correct new comment
18289         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18290
18291 2011-05-10  Jim Meyering  <meyering@redhat.com>
18292
18293         openat: add comments
18294         * lib/openat-proc.c (openat_proc_name): Add comments,
18295         mostly from Eric Blake.
18296
18297 2011-05-09  Eric Blake  <eblake@redhat.com>
18298
18299         openat: reduce syscalls in first probe of /proc
18300         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18301         be a directory.  Simplify the probe for .. bugs.
18302         * modules/openat (Depends-on): Drop same-inode.
18303         Reported by Bastien ROUCARIES.
18304
18305 2011-05-09  Jim Meyering  <meyering@redhat.com>
18306
18307         maint.mk: change semantics/name of tight_scope variables
18308         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18309         Rename variables to align with semantics that make them more useful.
18310
18311         maint.mk: tweak new rule's name not to impinge
18312         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18313         (sc_tight_scope): Use new rule name rather than $@-0.
18314
18315         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18316         * top/maint.mk (sc_tight_scope): New rule.
18317         (sc_tight_scope-0): New rule, ifdef'd out.
18318         (_gl_TS_dir): Default.
18319         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18320         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18321
18322 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18323
18324         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18325         Haible <bruno@clisp.org>.
18326
18327 2011-05-08  Bruno Haible  <bruno@clisp.org>
18328
18329         Comments.
18330         * m4/isnanf.m4: Add comment.
18331         * m4/isnanl.m4: Likewise.
18332
18333 2011-05-08  Bruno Haible  <bruno@clisp.org>
18334
18335         glob: Remove obsolete macro.
18336         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18337
18338 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18339
18340         intprops: Sun C 5.11 supports __typeof__
18341         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18342         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18343         which is new.
18344         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18345
18346         intprops: switch to usual gnulib indenting and naming
18347         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18348         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18349
18350         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18351
18352 2011-05-08  Jim Meyering  <meyering@redhat.com>
18353
18354         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18355         * top/maint.mk (release-prep): Use make's --no-print-directory
18356         option when generating the announcement.  This eliminates the
18357         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18358         generated announcement template.
18359
18360 2011-05-08  Bruno Haible  <bruno@clisp.org>
18361
18362         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18363         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18364         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18365
18366 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18367
18368         ignore-value, verify: Omit include files from lib_SOURCES.
18369         * modules/ignore-value, modules/verify (Makefile.am):
18370         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18371         that leads Automake to duplicate use of am__objects_... variables
18372         in Makefile.in.  See
18373         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18374
18375 2011-05-07  Bruno Haible  <bruno@clisp.org>
18376
18377         fclose: Simplify autoconf macro.
18378         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18379         defined.
18380
18381 2011-05-07  Bruno Haible  <bruno@clisp.org>
18382
18383         canonicalize-lgpl: Fix autoconf macro ordering bug.
18384         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18385         gl_STDLIB_H_DEFAULTS.
18386
18387 2011-05-06  Eric Blake  <eblake@redhat.com>
18388
18389         maintainer-makefile: make sc_po_check easier to tune
18390         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18391         to probe for strings, such as an alternate location for gnulib.
18392
18393         fclose: guarantee behavior on seekable stdin
18394         * modules/fclose (Depends-on): Add fflush.
18395         * doc/posix-functions/fclose.texi (fclose): Document this.
18396         * tests/test-fclose.c (main): Make test for this unconditional.
18397
18398 2011-05-06  Bruno Haible  <bruno@clisp.org>
18399
18400         fflush, fpurge: Relicense under LGPLv2+.
18401         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18402         * modules/fpurge (License): Likewise.
18403         With permission from Eric Blake and Jim Meyering.
18404         Suggested by Eric Blake.
18405
18406 2011-05-06  Karl Berry  <karl@gnu.org>
18407
18408         * MODULES.html.sh (func_all_modules): remove exit.
18409
18410 2011-05-06  Jim Meyering  <meyering@redhat.com>
18411
18412         maint.mk: use info-gnu@ as the default only for a stable release
18413         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18414         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18415         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18416         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18417
18418 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18419
18420         assert-h: new module, which supports C1X-style static_assert
18421         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18422         * lib/verify.h: Revamp so that this can be copied into assert.h,
18423         while retaining the ability to use it standalone as before.
18424         Rename private identifiers so as not to encroach on the
18425         standard C namespace, since this is now used by assert.h.
18426         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
18427         the old verify_true.
18428         (_GL_VERIFY_TRUE): New macro, with much of the contents of
18429         the old verify_true.  Use _GL_VERIFY_TYPE.
18430         (_GL_VERIFY): New macro, with much of the contents of the old verify.
18431         (static_assert): New macro, if _GL_STATIC_ASSERT_H
18432         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
18433         defined when this file is copied into the replacement assert.h.
18434         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
18435         and _Static_assert is not built in.
18436         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
18437         defined, and use the new macros mentioned above.
18438         * doc/posix-headers/assert.texi: Document this.
18439
18440 2011-05-05  Bruno Haible  <bruno@clisp.org>
18441
18442         fclose, fflush: Respect rules for use of AC_LIBOBJ.
18443         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
18444         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
18445         gl_REPLACE_FCLOSE here.
18446         * modules/fflush (Depends-on): Remove fclose.
18447         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
18448         combination with module 'fclose'.
18449
18450 2011-05-05  Bruno Haible  <bruno@clisp.org>
18451
18452         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
18453         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
18454         gl_FUNC_FFLUSH.
18455         (gl_FUNC_FFLUSH): Use it.
18456         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
18457         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18458         gl_REPLACE_FSEEKO here.
18459
18460 2011-05-05  Bruno Haible  <bruno@clisp.org>
18461
18462         tzset: Relicense under LGPL.
18463         * modules/tzset (License): Change to LGPL.
18464         No agreement needed; it's a no-op.
18465
18466         strtoimax, strtoumax: Relicense under LGPL.
18467         * modules/strtoimax (License): Change to LGPL.
18468         * modules/strtoumax (License): Likewise.
18469         With permission from Jim Meyering, Paul Eggert:
18470         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18471         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18472
18473         getgroups: Relicense under LGPL.
18474         * modules/getgroups (License): Change to LGPL.
18475         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18477         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18479
18480         nanosleep: Relicense under LGPL.
18481         * modules/nanosleep (License): Change to LGPL.
18482         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18483         Haible:
18484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18488
18489         futimens: Relicense under LGPL.
18490         * modules/futimens (License): Change to LGPL.
18491         With permission from Eric Blake:
18492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18493
18494         fflush: Relicense under LGPL.
18495         * modules/fflush (License): Change to LGPL.
18496         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18497         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18498         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18499         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18500
18501         tmpfile: Relicense under LGPL.
18502         * modules/tmpfile (License): Change to LGPL.
18503         With permission from Ben Pfaff:
18504         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18505
18506         isfinite: Relicense under LGPL.
18507         * modules/isfinite (License): Change to LGPL.
18508         With permission from Ben Pfaff, Bruno Haible:
18509         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18511
18512         acosl..tanl: Relicense under LGPL.
18513         * modules/acosl (License): Change to LGPL.
18514         * modules/asinl (License): Likewise.
18515         * modules/atanl (License): Likewise.
18516         * modules/cosl (License): Likewise.
18517         * modules/expl (License): Likewise.
18518         * modules/logl (License): Likewise.
18519         * modules/sinl (License): Likewise.
18520         * modules/sqrtl (License): Likewise.
18521         * modules/tanl (License): Likewise.
18522         Source code originally from glibc and Paolo Bonzini. Agreements:
18523         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18525
18526 2011-05-05  Bruno Haible  <bruno@clisp.org>
18527
18528         signal: Define sighandler_t.
18529         * lib/signal.in.h (sighandler_t): New type.
18530         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18531         whether sighandler_t is defined.
18532         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18533         * modules/signal (Depends-on): Add extensions.
18534         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18535         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18536         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18537
18538 2011-05-05  Eric Blake  <eblake@redhat.com>
18539
18540         maint: remove useless REPLACE_*_H macros
18541         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18542         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18543         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18544         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18545         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18546         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18547         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18548         * m4/btowc.m4: Update callers.
18549         * m4/dirfd.m4: Likewise.
18550         * m4/duplocale.m4: Likewise.
18551         * m4/fchdir.m4: Likewise.
18552         * m4/fdopendir.m4: Likewise.
18553         * m4/inet_ntop.m4: Likewise.
18554         * m4/inet_pton.m4: Likewise.
18555         * m4/ioctl.m4: Likewise.
18556         * m4/mbrlen.m4: Likewise.
18557         * m4/mbrtowc.m4: Likewise.
18558         * m4/mbsinit.m4: Likewise.
18559         * m4/mbsnrtowcs.m4: Likewise.
18560         * m4/mbsrtowcs.m4: Likewise.
18561         * m4/poll.m4: Likewise.
18562         * m4/setlocale.m4: Likewise.
18563         * m4/wcrtomb.m4: Likewise.
18564         * m4/wcsnrtombs.m4: Likewise.
18565         * m4/wcsrtombs.m4: Likewise.
18566         * m4/wctob.m4: Likewise.
18567         * m4/wcwidth.m4: Likewise.
18568         * modules/posix_spawn: Likewise.
18569         * modules/posix_spawn_file_actions_addclose: Likewise.
18570         * modules/posix_spawn_file_actions_adddup2: Likewise.
18571         * modules/posix_spawn_file_actions_addopen: Likewise.
18572         * modules/posix_spawn_file_actions_destroy: Likewise.
18573         * modules/posix_spawn_file_actions_init: Likewise.
18574         * modules/posix_spawnattr_destroy: Likewise.
18575         * modules/posix_spawnattr_getflags: Likewise.
18576         * modules/posix_spawnattr_getpgroup: Likewise.
18577         * modules/posix_spawnattr_getschedparam: Likewise.
18578         * modules/posix_spawnattr_getschedpolicy: Likewise.
18579         * modules/posix_spawnattr_getsigdefault: Likewise.
18580         * modules/posix_spawnattr_getsigmask: Likewise.
18581         * modules/posix_spawnattr_init: Likewise.
18582         * modules/posix_spawnattr_setflags: Likewise.
18583         * modules/posix_spawnattr_setpgroup: Likewise.
18584         * modules/posix_spawnattr_setschedparam: Likewise.
18585         * modules/posix_spawnattr_setschedpolicy: Likewise.
18586         * modules/posix_spawnattr_setsigdefault: Likewise.
18587         * modules/posix_spawnattr_setsigmask: Likewise.
18588         * modules/posix_spawnp: Likewise.
18589
18590 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18591
18592         Add option to do-release-commit-and-tag to specify branch.
18593         * build-aux/do-release-commit-and-tag: Add --branch.
18594
18595 2011-05-03  Bruno Haible  <bruno@clisp.org>
18596
18597         Avoid unnecessary compilation units, through conditional dependencies.
18598         * modules/accept (Depends-on): Add conditions to the dependencies.
18599         * modules/acosl (Depends-on): Likewise.
18600         * modules/argz (Depends-on): Likewise.
18601         * modules/asinl (Depends-on): Likewise.
18602         * modules/atanl (Depends-on): Likewise.
18603         * modules/atoll (Depends-on): Likewise.
18604         * modules/bind (Depends-on): Likewise.
18605         * modules/btowc (Depends-on): Likewise.
18606         * modules/canonicalize-lgpl (Depends-on): Likewise.
18607         * modules/ceil (Depends-on): Likewise.
18608         * modules/ceilf (Depends-on): Likewise.
18609         * modules/ceill (Depends-on): Likewise.
18610         * modules/chdir-long (Depends-on): Likewise.
18611         * modules/chown (Depends-on): Likewise.
18612         * modules/close (Depends-on): Likewise.
18613         * modules/connect (Depends-on): Likewise.
18614         * modules/cosl (Depends-on): Likewise.
18615         * modules/dirfd (Depends-on): Likewise.
18616         * modules/dprintf (Depends-on): Likewise.
18617         * modules/dprintf-posix (Depends-on): Likewise.
18618         * modules/error (Depends-on): Likewise.
18619         * modules/euidaccess (Depends-on): Likewise.
18620         * modules/expl (Depends-on): Likewise.
18621         * modules/faccessat (Depends-on): Likewise.
18622         * modules/fchdir (Depends-on): Likewise.
18623         * modules/fclose (Depends-on): Likewise.
18624         * modules/fcntl (Depends-on): Likewise.
18625         * modules/fdopendir (Depends-on): Likewise.
18626         * modules/fflush (Depends-on): Likewise.
18627         * modules/floor (Depends-on): Likewise.
18628         * modules/floorf (Depends-on): Likewise.
18629         * modules/floorl (Depends-on): Likewise.
18630         * modules/fnmatch (Depends-on): Likewise.
18631         * modules/fopen (Depends-on): Likewise.
18632         * modules/fprintf-posix (Depends-on): Likewise.
18633         * modules/frexp (Depends-on): Likewise.
18634         * modules/frexp-nolibm (Depends-on): Likewise.
18635         * modules/frexpl (Depends-on): Likewise.
18636         * modules/frexpl-nolibm (Depends-on): Likewise.
18637         * modules/fseek (Depends-on): Likewise.
18638         * modules/fsusage (Depends-on): Likewise.
18639         * modules/ftell (Depends-on): Likewise.
18640         * modules/ftello (Depends-on): Likewise.
18641         * modules/futimens (Depends-on): Likewise.
18642         * modules/getcwd (Depends-on): Likewise.
18643         * modules/getcwd-lgpl (Depends-on): Likewise.
18644         * modules/getdelim (Depends-on): Likewise.
18645         * modules/getdomainname (Depends-on): Likewise.
18646         * modules/getgroups (Depends-on): Likewise.
18647         * modules/gethostname (Depends-on): Likewise.
18648         * modules/getline (Depends-on): Likewise.
18649         * modules/getlogin_r (Depends-on): Likewise.
18650         * modules/getopt-posix (Depends-on): Likewise.
18651         * modules/getpeername (Depends-on): Likewise.
18652         * modules/getsockname (Depends-on): Likewise.
18653         * modules/getsockopt (Depends-on): Likewise.
18654         * modules/getsubopt (Depends-on): Likewise.
18655         * modules/getusershell (Depends-on): Likewise.
18656         * modules/glob (Depends-on): Likewise.
18657         * modules/grantpt (Depends-on): Likewise.
18658         * modules/iconv_open (Depends-on): Likewise.
18659         * modules/iconv_open-utf (Depends-on): Likewise.
18660         * modules/inet_ntop (Depends-on): Likewise.
18661         * modules/inet_pton (Depends-on): Likewise.
18662         * modules/ioctl (Depends-on): Likewise.
18663         * modules/isapipe (Depends-on): Likewise.
18664         * modules/isfinite (Depends-on): Likewise.
18665         * modules/isinf (Depends-on): Likewise.
18666         * modules/lchown (Depends-on): Likewise.
18667         * modules/ldexpl (Depends-on): Likewise.
18668         * modules/link (Depends-on): Likewise.
18669         * modules/linkat (Depends-on): Likewise.
18670         * modules/listen (Depends-on): Likewise.
18671         * modules/logl (Depends-on): Likewise.
18672         * modules/lstat (Depends-on): Likewise.
18673         * modules/mbrlen (Depends-on): Likewise.
18674         * modules/mbrtowc (Depends-on): Likewise.
18675         * modules/mbsinit (Depends-on): Likewise.
18676         * modules/mbsnrtowcs (Depends-on): Likewise.
18677         * modules/mbsrtowcs (Depends-on): Likewise.
18678         * modules/mbtowc (Depends-on): Likewise.
18679         * modules/memcmp (Depends-on): Likewise.
18680         * modules/mkdir (Depends-on): Likewise.
18681         * modules/mkdtemp (Depends-on): Likewise.
18682         * modules/mkfifo (Depends-on): Likewise.
18683         * modules/mkfifoat (Depends-on): Likewise.
18684         * modules/mknod (Depends-on): Likewise.
18685         * modules/mkostemp (Depends-on): Likewise.
18686         * modules/mkostemps (Depends-on): Likewise.
18687         * modules/mkstemp (Depends-on): Likewise.
18688         * modules/mkstemps (Depends-on): Likewise.
18689         * modules/mktime (Depends-on): Likewise.
18690         * modules/nanosleep (Depends-on): Likewise.
18691         * modules/open (Depends-on): Likewise.
18692         * modules/openat (Depends-on): Likewise.
18693         * modules/perror (Depends-on): Likewise.
18694         * modules/poll (Depends-on): Likewise.
18695         * modules/popen (Depends-on): Likewise.
18696         * modules/posix_spawn (Depends-on): Likewise.
18697         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18698         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18699         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18700         * modules/posix_spawnp (Depends-on): Likewise.
18701         * modules/pread (Depends-on): Likewise.
18702         * modules/printf-posix (Depends-on): Likewise.
18703         * modules/ptsname (Depends-on): Likewise.
18704         * modules/putenv (Depends-on): Likewise.
18705         * modules/pwrite (Depends-on): Likewise.
18706         * modules/readline (Depends-on): Likewise.
18707         * modules/readlink (Depends-on): Likewise.
18708         * modules/readlinkat (Depends-on): Likewise.
18709         * modules/recv (Depends-on): Likewise.
18710         * modules/recvfrom (Depends-on): Likewise.
18711         * modules/regex (Depends-on): Likewise.
18712         * modules/remove (Depends-on): Likewise.
18713         * modules/rename (Depends-on): Likewise.
18714         * modules/renameat (Depends-on): Likewise.
18715         * modules/rmdir (Depends-on): Likewise.
18716         * modules/round (Depends-on): Likewise.
18717         * modules/roundf (Depends-on): Likewise.
18718         * modules/roundl (Depends-on): Likewise.
18719         * modules/rpmatch (Depends-on): Likewise.
18720         * modules/select (Depends-on): Likewise.
18721         * modules/send (Depends-on): Likewise.
18722         * modules/sendto (Depends-on): Likewise.
18723         * modules/setenv (Depends-on): Likewise.
18724         * modules/setlocale (Depends-on): Likewise.
18725         * modules/setsockopt (Depends-on): Likewise.
18726         * modules/shutdown (Depends-on): Likewise.
18727         * modules/sigaction (Depends-on): Likewise.
18728         * modules/signbit (Depends-on): Likewise.
18729         * modules/sigprocmask (Depends-on): Likewise.
18730         * modules/sinl (Depends-on): Likewise.
18731         * modules/sleep (Depends-on): Likewise.
18732         * modules/snprintf (Depends-on): Likewise.
18733         * modules/snprintf-posix (Depends-on): Likewise.
18734         * modules/socket (Depends-on): Likewise.
18735         * modules/sprintf-posix (Depends-on): Likewise.
18736         * modules/sqrtl (Depends-on): Likewise.
18737         * modules/stat (Depends-on): Likewise.
18738         * modules/strchrnul (Depends-on): Likewise.
18739         * modules/strdup-posix (Depends-on): Likewise.
18740         * modules/strerror (Depends-on): Likewise.
18741         * modules/strerror_r-posix (Depends-on): Likewise.
18742         * modules/strndup (Depends-on): Likewise.
18743         * modules/strnlen (Depends-on): Likewise.
18744         * modules/strptime (Depends-on): Likewise.
18745         * modules/strsep (Depends-on): Likewise.
18746         * modules/strsignal (Depends-on): Likewise.
18747         * modules/strstr-simple (Depends-on): Likewise.
18748         * modules/strtod (Depends-on): Likewise.
18749         * modules/strtoimax (Depends-on): Likewise.
18750         * modules/strtok_r (Depends-on): Likewise.
18751         * modules/strtoumax (Depends-on): Likewise.
18752         * modules/symlink (Depends-on): Likewise.
18753         * modules/symlinkat (Depends-on): Likewise.
18754         * modules/tanl (Depends-on): Likewise.
18755         * modules/tcgetsid (Depends-on): Likewise.
18756         * modules/tmpfile (Depends-on): Likewise.
18757         * modules/trunc (Depends-on): Likewise.
18758         * modules/truncf (Depends-on): Likewise.
18759         * modules/truncl (Depends-on): Likewise.
18760         * modules/uname (Depends-on): Likewise.
18761         * modules/unlink (Depends-on): Likewise.
18762         * modules/unlockpt (Depends-on): Likewise.
18763         * modules/unsetenv (Depends-on): Likewise.
18764         * modules/usleep (Depends-on): Likewise.
18765         * modules/utimensat (Depends-on): Likewise.
18766         * modules/vasprintf (Depends-on): Likewise.
18767         * modules/vdprintf (Depends-on): Likewise.
18768         * modules/vdprintf-posix (Depends-on): Likewise.
18769         * modules/vfprintf-posix (Depends-on): Likewise.
18770         * modules/vprintf-posix (Depends-on): Likewise.
18771         * modules/vsnprintf (Depends-on): Likewise.
18772         * modules/vsnprintf-posix (Depends-on): Likewise.
18773         * modules/vsprintf-posix (Depends-on): Likewise.
18774         * modules/wcrtomb (Depends-on): Likewise.
18775         * modules/wcscasecmp (Depends-on): Likewise.
18776         * modules/wcscspn (Depends-on): Likewise.
18777         * modules/wcsdup (Depends-on): Likewise.
18778         * modules/wcsncasecmp (Depends-on): Likewise.
18779         * modules/wcsnrtombs (Depends-on): Likewise.
18780         * modules/wcspbrk (Depends-on): Likewise.
18781         * modules/wcsrtombs (Depends-on): Likewise.
18782         * modules/wcsspn (Depends-on): Likewise.
18783         * modules/wcsstr (Depends-on): Likewise.
18784         * modules/wcstok (Depends-on): Likewise.
18785         * modules/wcswidth (Depends-on): Likewise.
18786         * modules/wctob (Depends-on): Likewise.
18787         * modules/wctomb (Depends-on): Likewise.
18788         * modules/wctype (Depends-on): Likewise.
18789         * modules/wcwidth (Depends-on): Likewise.
18790         * modules/write (Depends-on): Likewise.
18791
18792 2011-05-03  Bruno Haible  <bruno@clisp.org>
18793
18794         Support for conditional dependencies.
18795         * doc/gnulib.texi (Module description): Document the syntax of
18796         conditional dependencies.
18797         * gnulib-tool: New option --conditional-dependencies.
18798         (func_usage): Document it.
18799         (cond_dependencies): New variable.
18800         (func_get_automake_snippet_conditional,
18801         func_get_automake_snippet_unconditional): New functions, extracted from
18802         func_get_automake_snippet.
18803         (func_get_automake_snippet): Use them.
18804         (sed_first_32_chars): New variable.
18805         (func_module_shellfunc_name): New function.
18806         (func_module_shellvar_name): New function.
18807         (func_module_conditional_name): New function.
18808         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18809         func_cond_module_condition): New functions.
18810         (func_modules_transitive_closure): Add support for conditional
18811         dependencies.
18812         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18813         conditional automake snippet in an automake conditional.
18814         (func_emit_autoconf_snippets): Emit shell functions that contain the
18815         code for conditional modules.
18816         (func_import, func_create_testdir): Update specification.
18817
18818 2011-05-03  Eric Blake  <eblake@redhat.com>
18819
18820         test-getaddrinfo: report error information
18821         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18822
18823 2011-05-03  Jim Meyering  <meyering@redhat.com>
18824
18825         bootstrap: avoid build failure when $GZIP is set
18826         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18827         program name.  If defined at all, it is supposed to list gzip options.
18828         Reported by Alan Curry in http://debbugs.gnu.org/8609
18829
18830 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18831
18832         readme-release: new module with release instructions
18833         * modules/readme-release: New module.
18834         * top/README-release: New file, from coreutils, grep, diffutils.
18835         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18836
18837 2011-05-02  Eric Blake  <eblake@redhat.com>
18838
18839         fflush: also replace fclose when fixing fflush
18840         * modules/fflush (Depends-on): Add fclose.
18841         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18842         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18843         memstreams with no backing fd.
18844         * doc/posix-functions/fclose.texi (fclose): Document the use of
18845         fflush module to fix the bug.
18846         * tests/test-fclose.c (main): Relax test when fclose is used in
18847         isolation.
18848
18849         fclose: add some tests
18850         * modules/fclose-tests: New test module.
18851         * tests/test-fclose.c: New file.
18852         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18853
18854         fclose: reduced dependencies
18855         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18856         simpler lseek.
18857         * lib/fclose.c (rpl_fclose): Likewise.
18858         Reported by Simon Josefsson.
18859
18860         exit: drop remaining clients
18861         * modules/argmatch (Depends-on): Replace exit with stdlib.
18862         * modules/copy-file (Depends-on): Likewise.
18863         * modules/execute (Depends-on): Likewise.
18864         * modules/exitfail (Depends-on): Likewise.
18865         * modules/obstack (Depends-on): Likewise.
18866         * modules/pagealign_alloc (Depends-on): Likewise.
18867         * modules/pipe-filter-gi (Depends-on): Likewise.
18868         * modules/pipe-filter-ii (Depends-on): Likewise.
18869         * modules/savewd (Depends-on): Likewise.
18870         * modules/spawn-pipe (Depends-on): Likewise.
18871         * modules/wait-process (Depends-on): Likewise.
18872         * modules/xsetenv (Depends-on): Likewise.
18873         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18874         * modules/git-merge-changelog (Depends-on): Likewise.
18875         * modules/long-options (Depends-on): Likewise.
18876         * modules/pt_chown (Depends-on): Likewise.
18877         * modules/sysexits (Depends-on): Likewise.
18878
18879         freading: relax license from LGPLv3+ to LGPLv2+
18880         * modules/freading (License): Relax LGPL version.
18881
18882 2011-05-02  Bruno Haible  <bruno@clisp.org>
18883
18884         fchdir: Remove unused dependencies.
18885         * modules/fchdir (Depends-on): Remove include_next.
18886
18887 2011-05-02  Bruno Haible  <bruno@clisp.org>
18888
18889         gnulib-tool: Refactor.
18890         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18891         from func_emit_autoconf_snippets.
18892         (func_emit_autoconf_snippets): Use it.
18893
18894 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18895
18896         * NEWS: Document removal of 'exit'.
18897         * modules/exit: Remove file.
18898
18899 2011-05-01  Bruno Haible  <bruno@clisp.org>
18900
18901         Update DEPENDENCIES.
18902         * DEPENDENCIES (gettext): Recommend the newest release.
18903         Reported by Simon Josefsson.
18904
18905 2011-05-01  Bruno Haible  <bruno@clisp.org>
18906
18907         gnulib-tool: Reduce code duplication.
18908         * gnulib-tool (func_emit_autoconf_snippets): New function.
18909         (func_import, func_create_testdir): Use it.
18910
18911 2011-04-30  Eric Blake  <eblake@redhat.com>
18912
18913         fclose: don't fail on non-seekable input stream
18914         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18915         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18916         since fflush is allowed to fail in that case.
18917
18918 2011-04-30  Bruno Haible  <bruno@clisp.org>
18919
18920         dup3: cleanup
18921         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18922
18923 2011-04-30  Bruno Haible  <bruno@clisp.org>
18924
18925         netdb: Make it work in C++ mode.
18926         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18927         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18928         module.
18929         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18930         gl_MODULE_INDICATOR_FOR_TESTS.
18931         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18932         * modules/netdb-c++-tests: New file.
18933         * tests/test-netdb-c++.cc: New file.
18934
18935 2011-04-30  Bruno Haible  <bruno@clisp.org>
18936
18937         New modules 'vfscanf', 'vscanf'.
18938         * modules/vfscanf: New file.
18939         * modules/vscanf: New file.
18940         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18941         here.
18942         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18943         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18944
18945 2011-04-30  Bruno Haible  <bruno@clisp.org>
18946
18947         passfd: Add comments.
18948         * lib/passfd.c: Add comments about platforms.
18949
18950 2011-04-30  Bruno Haible  <bruno@clisp.org>
18951
18952         sys_uio: Make <sys/uio.h> self-contained.
18953         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18954         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18955
18956 2011-04-30  Bruno Haible  <bruno@clisp.org>
18957
18958         sys_socket: Ensure 'struct iovec' definition.
18959         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18960         <sys/socket.h>.
18961         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18962
18963 2011-04-30  Bruno Haible  <bruno@clisp.org>
18964
18965         sys_uio: Protect definition of 'struct iovec'.
18966         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18967         it as a C struct.
18968
18969 2011-04-30  Bruno Haible  <bruno@clisp.org>
18970
18971         manywarnings: fix indentation
18972         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18973
18974 2011-04-30  Pádraig Brady <P@draigBrady.com>
18975
18976         manywarnings: add -Wno-missing-field-initializers if needed.
18977         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18978         option if it's needed to allow initialization with { 0, }
18979
18980 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18981
18982         announce-gen: cosmetic improvement
18983         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18984
18985 2011-04-29  Jim Meyering  <meyering@redhat.com>
18986
18987         vc-list-files: indent with spaces, not TABs
18988         * build-aux/vc-list-files: Convert leading TABs to spaces,
18989         to match the style of most other files in gnulib.
18990
18991         announce-gen: indent with spaces, not TABs
18992         * build-aux/announce-gen: Convert all TABs to spaces, to match
18993         the style of most other files in gnulib.
18994
18995 2011-04-29  Eric Blake  <eblake@redhat.com>
18996
18997         quotearg: avoid uninitialized variable use
18998         * lib/quotearg.c (quoting_options_from_style): Initialize
18999         remaining fields, and ensure that custom styles are only used via
19000         quoting_options rather than quoting_style.
19001
19002 2011-04-29  Jim Meyering  <meyering@redhat.com>
19003
19004         maint.mk: remove unused VC-tag variable
19005         * top/maint.mk (VC-tag): Remove unused variable.
19006
19007 2011-04-29  Bruno Haible  <bruno@clisp.org>
19008
19009         netdb: fix gai_strerror replacements
19010         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
19011         * modules/netdb: Substitute it.
19012
19013 2011-04-29  Jim Meyering  <meyering@redhat.com>
19014
19015         test-getcwd.c: avoid new set-but-not-used warning
19016         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
19017         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
19018         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
19019         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
19020
19021         test-hash.c: avoid a new shadowing warning
19022         * tests/test-hash.c (main): Don't shadow "dup".
19023
19024 2011-04-28  Eric Blake  <eblake@redhat.com>
19025
19026         getaddrinfo: fix gai_strerror signature
19027         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
19028         and work around mingw with UNICODE defined.
19029         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
19030         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
19031         * modules/netdb (Makefile.am): Substitute it.
19032         * lib/netdb.in.h (gai_strerror): Declare replacement.
19033         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
19034         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
19035         the fix.
19036
19037         getsockopt: avoid compiler warning
19038         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
19039         Reported by Matthias Bolte.
19040
19041         tests: drop unused link dependency
19042         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
19043         * modules/dirent-safer-tests (Makefile.am): Likewise.
19044         * modules/fdopendir-tests (Makefile.am): Likewise.
19045         * modules/mkfifoat-tests (Makefile.am): Likewise.
19046         * modules/openat-safer-tests (Makefile.am): Likewise.
19047         * modules/openat-tests (Makefile.am): Likewise.
19048         * modules/readlinkat-tests (Makefile.am): Likewise.
19049         * modules/symlinkat-tests (Makefile.am): Likewise.
19050         * modules/linkat-tests (Makefile.am): Likewise.
19051         (Depends-on): Switch to filenamecat-lgpl.
19052         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
19053         LIBINTL.
19054         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
19055         * tests/test-linkat.c (main): Don't require xalloc.
19056
19057         hash, mgetgroups: drop xalloc dependency
19058         * lib/hash.c (includes): Adjust includes.
19059         * lib/mgetgroups.c (includes): Likewise.
19060         (xgetgroups): Move...
19061         * lib/xgetgroups.c: ...to new file.
19062         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
19063         * modules/xgetgroups: New file, split from...
19064         * modules/mgetgroups: ...here.
19065         (Depends-on): Add xalloc-oversized.
19066         * modules/hash (Depends-on): Likewise.
19067         * modules/hash-tests (Depends-on): Drop xalloc.
19068         (test_hash_LDADD): Drop unused library.
19069         * tests/test-hash.c (main): Break xalloc dependency.
19070         (includes): Drop unused include.
19071
19072         xalloc-oversized: new module
19073         * modules/xalloc-oversized: New module.
19074         * modules/xalloc (Depends-on): Add it.
19075         * lib/xalloc.h (xalloc_oversized): Move...
19076         * lib/xalloc-oversized.h: ...into new file.
19077
19078         utimecmp: drop dependency on xmalloc
19079         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
19080         due to memory pressure.
19081         * modules/utimecmp (Depends-on): Drop xalloc.
19082
19083 2011-04-27  Eric Blake  <eblake@redhat.com>
19084
19085         getcwd: fix mingw bugs
19086         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
19087         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
19088         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
19089
19090 2011-04-27  Bruno Haible  <bruno@clisp.org>
19091
19092         mkstemps: Ensure declaration on MacOS X 10.5.
19093         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
19094         * doc/glibc-functions/mkstemps.texi: Document header file problem on
19095         MacOS X.
19096
19097 2011-04-27  Bruno Haible  <bruno@clisp.org>
19098
19099         mkstemp: More documentation.
19100         * doc/posix-functions/mkstemp.texi: Document header file problem on
19101         MacOS X.
19102
19103 2011-04-27  Bruno Haible  <bruno@clisp.org>
19104
19105         mkstemp: Tweak configure message when cross-compiling.
19106         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
19107         result as a guess.
19108
19109 2011-04-27  Bruno Haible  <bruno@clisp.org>
19110
19111         clean-temp: Clarify what it does.
19112         * lib/clean-temp.h: Add more comments.
19113         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
19114         module.
19115         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
19116         * doc/glibc-functions/mkstemps.texi: Likewise.
19117         * doc/glibc-functions/mkostemps.texi: Likewise.
19118
19119 2011-04-27  Eric Blake  <eblake@redhat.com>
19120
19121         fchdir: avoid extra chdir and fix test
19122         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
19123         getcwd-lgpl.
19124         * lib/fchdir.c (get_name): Any absolute name will do; it does not
19125         have to be canonical.
19126         (canonicalize_file_name): Drop unused macro.
19127         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19128
19129         filenamecat-lgpl: fix licence
19130         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19131         when it was first created.
19132
19133         linkat, renameat: add missing dependency
19134         * modules/linkat (Depends-on): Require getcwd-lgpl.
19135         * modules/renameat (Depends-on): Likewise.
19136
19137         tests: reduce dependencies
19138         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19139         * tests/test-renameat.c (main): Likewise.
19140         * modules/linkat-tests (Depends-on): Relax dependency.
19141         * modules/renameat-tests (Depends-on): Likewise.
19142         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19143         dependency explicit.
19144
19145         save-cwd: reduce default dependency
19146         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19147         * lib/save-cwd.c: Update comments.
19148         * NEWS: Document the semantic change.
19149
19150         getcwd: enhance tests
19151         * tests/test-getcwd-lgpl.c: New file, taken from...
19152         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19153         repeat long path stress tests from m4 probe.
19154         * modules/getcwd-lgpl-tests: New module.
19155         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19156         * m4/getcwd-abort-bug.m4: Update comment.
19157         * m4/getcwd-path-max.m4: Likewise.
19158
19159         getcwd-lgpl: new module
19160         * modules/getcwd-lgpl: New module.
19161         * lib/getcwd-lgpl.c: New file.
19162         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19163         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19164         * modules/getcwd (configure.ac): Set C witness.
19165         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19166
19167         getcwd: tweak comments
19168         * m4/getcwd-abort-bug.m4: Fix comments.
19169         * m4/getcwd-path-max.m4: Likewise.
19170         * m4/getcwd.m4: Likewise.
19171
19172 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19173         and Eric Blake  <eblake@redhat.com>
19174
19175         mkstemp: replace if system version uses wrong permissions
19176         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19177         read/write mode bits set in file created by mkstemp.
19178         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19179
19180 2011-04-27  Eric Blake  <eblake@redhat.com>
19181
19182         passfd: avoid compiler warning
19183         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19184         Reported by Laine Stump.
19185
19186 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19187
19188         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19189         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19190
19191 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19192         and Eric Blake  <eblake@redhat.com>
19193
19194         mkstemp: mention clean-temp module
19195         * lib/mkstemp.c: Add comment.
19196         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19197
19198 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19199
19200         inttypes: also provide default values for 32-bit tests
19201         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19202         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19203
19204 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19205
19206         strtoumax: remove dependency on strtoimax
19207         This is like the strtoull change of yesterday.
19208         * modules/strtoumax (Files): Add lib/strtoimax.c.
19209         (Depends-on): Remove strtoimax and add verify.
19210
19211         inttypes-incomplete: new module
19212         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19213         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19214         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19215         of gl_INTTYPES_H.
19216         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19217         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19218         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19219         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19220         * modules/strtoumax, modules/xstrtol (Depends-on):
19221         Depend on inttypes-incomplete, not inttypes.
19222         * modules/inttypes-incomplete: New module, containing the contents
19223         of the old modules/inttypes module, except that the Files: section
19224         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19225         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19226         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19227         (Depends-on): Depend only on inttypes-incomplete.
19228         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19229
19230         inttypes: omit now-redundant strtoimax and strtoumax work
19231         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19232         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19233
19234         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19235         This supports apps that need pointers to strtoimax and strtoumax,
19236         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19237         nonexistent functions.  See
19238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19239         et seq.
19240         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19241         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19242         a macro.
19243         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19244
19245 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19246
19247         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19248
19249 2011-04-25  Bruno Haible  <bruno@clisp.org>
19250
19251         strtol, strtoul: Mark modules as obsolete.
19252         * modules/strtol (Status, Notice): New sections.
19253         * modules/strtoul (Status, Notice): New sections.
19254
19255 2011-04-25  Bruno Haible  <bruno@clisp.org>
19256
19257         strtod: Remove check for strtod, unless supporting old platforms.
19258         * modules/strtod-obsolete: New file.
19259         * m4/strtod-obsolete.m4: New file.
19260         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19261         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19262         * modules/strtod (Depends-on): Add strtod-obsolete.
19263         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19264
19265 2011-04-25  Bruno Haible  <bruno@clisp.org>
19266
19267         strcase: Make module obsolete.
19268         * modules/strcase (Status, Notice): New sections.
19269
19270 2011-04-25  Bruno Haible  <bruno@clisp.org>
19271
19272         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19273         * modules/dup2-obsolete: New file.
19274         * m4/dup2-obsolete.m4: New file.
19275         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19276         gl_FUNC_DUP2_OBSOLETE is not also defined.
19277         * modules/dup2 (Depends-on): Add dup2-obsolete.
19278         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19279
19280 2011-04-25  Bruno Haible  <bruno@clisp.org>
19281
19282         strnlen: Avoid memchr related link error on old obsolete platforms.
19283         * modules/memchr-obsolete: New file.
19284         * m4/memchr-obsolete.m4: New file.
19285         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19286         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19287         * modules/memchr (Depends-on): Add memchr-obsolete.
19288         * modules/strnlen (Depends-on): Likewise.
19289         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19290
19291 2011-04-25  Jim Meyering  <meyering@redhat.com>
19292
19293         maint.mk: makefile_at_at_check extend and clean up
19294         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19295         in addition to */Makefile.am.
19296         Exempt legitimate uses of @VAR@ notation, e.g.,
19297         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19298         Remove obsolete coreutils-specific comment.
19299         Prompted by discussion here:
19300         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19301
19302 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19303
19304         strtoul: remove dependency on strtol
19305         This is so that 'configure' need not check for strtol merely because
19306         the application needs strtoul.
19307         * modules/strtoul (Files): Add lib/strtol.c.
19308         (Depends-on): Remove strtol.
19309
19310         strtoull: remove dependency on strtoul
19311         This is like the strtoll change.
19312         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19313         (Depends-on): Remove strtoul.
19314
19315         strtoll: remove dependency on strtol
19316         This is so that 'configure' need not check for strtol merely because
19317         the application needs strtoll.
19318         * modules/strtoll (Files): Add lib/strtol.c.
19319         (Depends-on): Remove strtol.
19320
19321 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19322
19323         inttypes: Move some configure check to module 'imaxdiv'.
19324         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19325         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19326         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19327
19328 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19329
19330         inttypes: Move some configure check to module 'imaxabs'.
19331         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19332         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19333         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19334
19335 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19336
19337         inttypes: Remove configure tests that are not needed since 2009-12-31.
19338         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19339         gl_cv_header_working_inttypes_h.
19340
19341 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19342
19343         * modules/strnlen (Depends-on): Remove memchr.
19344         The strnlen implementation doesn't need the memchr module's fixes; see
19345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19346
19347         strtol: remove dependency on wchar
19348         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19349         * modules/strtol (Depends-on): Remove wchar.
19350
19351 2011-04-21  Eric Blake  <eblake@redhat.com>
19352
19353         passfd: fix test regression on Linux
19354         * modules/passfd-tests (configure.ac): Correct socketpair check.
19355
19356         passfd: speed up configure and drop unused code
19357         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19358         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19359         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19360         Instead of probing at configure for unix_scm_rights_bsd44_way,
19361         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19362         check to a struct member probe.
19363         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19364         (sendfd, recvfd): Update preprocessor checks.
19365         * modules/passfd (Files): Reflect rename, and drop unused file.
19366         (Depends-on): Drop unused dependency.
19367
19368         passfd: allow compilation on mingw
19369         * modules/sys_socket (Depends-on): Add sys_uio.
19370         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19371         iovec and a minimal struct msghdr.
19372         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19373         * tests/test-sys_socket.c (main): Enhance test.
19374         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19375         guaranteed to provide what we need.
19376         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19377         * modules/passfd-tests (Depends-on): Add sys_wait.
19378         * tests/test-passfd.c (main): Skip test on mingw, for now.
19379         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19380         partial 'struct msghdr' implementation.
19381
19382         sys_uio: new module
19383         * modules/sys_uio: New module.
19384         * modules/sys_uio-tests: Likewise.
19385         * lib/sys_uio.in.h: New file.
19386         * m4/sys_uio_h.m4: Likewise.
19387         * tests/test-sys_uio.c: Likewise.
19388         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19389         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19390
19391 2011-04-20  Jim Meyering  <meyering@redhat.com>
19392
19393         useless-if-before-free: avoid false-positive
19394         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19395         disjunct so that it too requires a terminating ";".  Without that,
19396         this script would identify as useless one statement from gcc that
19397         was not:
19398           if (aligned_ptr)
19399             free (((void **) aligned_ptr) [-1]);
19400
19401 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19402
19403         doc: update users.txt.
19404         * users.txt: Add barcode.
19405
19406 2011-04-19  Bruno Haible  <bruno@clisp.org>
19407
19408         ioctl: Remove link dependency on native Windows.
19409         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19410         (gl_close_fn, gl_ioctl_fn): New types.
19411         (struct fd_hook): Renamed from struct close_hook. Change type of
19412         private_close_fn field. Add private_ioctl_fn field.
19413         (close_hook_fn): Add parameter for primary close method.
19414         (execute_close_hooks, execute_all_close_hooks): Likewise.
19415         (ioctl_hook_fn): New type.
19416         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19417         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19418         argument.
19419         (unregister_fd_hook): Renamed from unregister_close_hook.
19420         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19421         Don't include <unistd.h>.
19422         (close): Remove undef.
19423         (anchor): Update.
19424         (execute_close_hooks): Add argument for primary close method.
19425         (execute_all_close_hooks): Likewise.
19426         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
19427         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19428         argument. Allow each argument to be NULL.
19429         (unregister_fd_hook): Renamed from unregister_close_hook.
19430         * lib/close.c (rpl_close): Pass 'close' function pointer to
19431         execute_all_close_hooks.
19432         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
19433         (primary_ioctl): New function.
19434         (ioctl): Don't call ioctlsocket here. Instead, call
19435         execute_all_ioctl_hooks.
19436         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
19437         close method.
19438         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
19439         (fd_sockets_hook): Renamed from close_sockets_hook.
19440         (gl_sockets_startup, gl_sockets_cleanup): Update.
19441         * modules/fd-hook: Renamed from modules/close-hook. Update.
19442         * modules/close (Depends-on): Add fd-hook, remove close-hook.
19443         * modules/sockets (Depends-on): Likewise.
19444         * modules/ioctl (Depends-on): Add fd-hook.
19445         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
19446         GNULIB_SOCKET.
19447
19448 2011-04-19  Bruno Haible  <bruno@clisp.org>
19449
19450         Move the support of O_NONBLOCK in open() to the 'open' module.
19451         * modules/nonblocking (Depends-on): Remove 'open'.
19452         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
19453         gl_cv_have_open_O_NONBLOCK.
19454         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
19455         O_NONBLOCK support.
19456         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
19457
19458 2011-04-17  Bruno Haible  <bruno@clisp.org>
19459
19460         pipe2: Simplify code.
19461         * lib/pipe2.c (pipe2): Reduce code duplication.
19462
19463 2011-04-17  Bruno Haible  <bruno@clisp.org>
19464
19465         nonblocking: Add comment.
19466         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19467
19468 2011-04-17  Bruno Haible  <bruno@clisp.org>
19469
19470         nonblocking: Add tests for sockets.
19471         * tests/test-nonblocking-socket.sh: New file.
19472         * tests/test-nonblocking-socket-main.c: New file.
19473         * tests/test-nonblocking-socket-child.c: New file.
19474         * tests/test-nonblocking-socket.h: New file.
19475         * tests/socket-server.h: New file.
19476         * tests/socket-client.h: New file.
19477         * modules/nonblocking-socket-tests: New file.
19478         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19479
19480 2011-04-17  Bruno Haible  <bruno@clisp.org>
19481
19482         nonblocking: Add tests for pipes.
19483         * tests/test-nonblocking-pipe.sh: New file.
19484         * tests/test-nonblocking-pipe-main.c: New file.
19485         * tests/test-nonblocking-pipe-child.c: New file.
19486         * tests/test-nonblocking-pipe.h: New file.
19487         * tests/test-nonblocking-writer.h: New file.
19488         * tests/test-nonblocking-reader.h: New file.
19489         * tests/test-nonblocking-misc.h: New file.
19490         * modules/nonblocking-pipe-tests: New file.
19491         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19492
19493 2011-04-16  Bruno Haible  <bruno@clisp.org>
19494
19495         gettext: Clarify the needed programmer actions.
19496         * modules/gettext (Notice): New field.
19497         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19498
19499 2011-04-16  Bruno Haible  <bruno@clisp.org>
19500
19501         strchrnul: Tweak last commit.
19502         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19503         bug.
19504         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19505         as in _GL_FUNCDECL_SYS.
19506         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19507         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19508
19509 2011-04-15  Eric Blake  <eblake@redhat.com>
19510
19511         strchrnul: work around cygwin bug
19512         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19513         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19515         * modules/string (Makefile.am): Substitute it.
19516         * lib/string.in.h (strchrnul): Use it.
19517
19518 2011-04-15  Bruno Haible  <bruno@clisp.org>
19519
19520         Don't require lib/stdio-write.c when only module 'stdio' is used.
19521         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19522         invocation.
19523         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19524
19525 2011-04-14  Bruno Haible  <bruno@clisp.org>
19526
19527         Support non-blocking pipe I/O in read() on native Windows.
19528         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19529         (read): New declaration.
19530         * lib/read.c: New file.
19531         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19532         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19533         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19534         vscanf): New declarations.
19535         * lib/stdio-read.c: New file.
19536         * m4/read.m4: New file.
19537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19538         REPLACE_READ.
19539         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19540         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19541         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19542         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19543         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19544         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19545         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19546         * modules/read: New file.
19547         * modules/nonblocking (Files): Add lib/stdio-read.c.
19548         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19549         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
19550         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19551         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19552         * modules/pread (Depends-on): Add read.
19553         * modules/safe-read (Depends-on): Likewise.
19554         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19555         gets, scanf, vfscanf, vscanf): Verify signatures.
19556         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19557         problem with non-blocking pipes.
19558         * doc/posix-functions/fgetc.texi: Likewise.
19559         * doc/posix-functions/fgets.texi: Likewise.
19560         * doc/posix-functions/fread.texi: Likewise.
19561         * doc/posix-functions/fscanf.texi: Likewise.
19562         * doc/posix-functions/getc.texi: Likewise.
19563         * doc/posix-functions/getchar.texi: Likewise.
19564         * doc/posix-functions/gets.texi: Likewise.
19565         * doc/posix-functions/scanf.texi: Likewise.
19566         * doc/posix-functions/vfscanf.texi: Likewise.
19567         * doc/posix-functions/vscanf.texi: Likewise.
19568
19569 2011-04-14  Bruno Haible  <bruno@clisp.org>
19570
19571         Support non-blocking pipe I/O in write() on native Windows.
19572         * lib/write.c (rpl_write): Split a write request that failed merely
19573         because the byte count was larger than the pipe buffer's size.
19574         * doc/posix-functions/write.texi: Mention the problem with large byte
19575         counts.
19576
19577 2011-04-14  Bruno Haible  <bruno@clisp.org>
19578
19579         wchar: Ensure that wchar_t gets defined on uClibc.
19580         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19581         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19582
19583 2011-04-13  Bruno Haible  <bruno@clisp.org>
19584
19585         safe-write, full-read: Avoid unnecessary compilation units.
19586         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19587         (Depends-on): Remove safe-read. Add ssize_t.
19588         * modules/full-read (Files): Add lib/full-write.c.
19589         (Depends-on): Add full-write.
19590
19591 2011-04-13  Bruno Haible  <bruno@clisp.org>
19592
19593         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19594         * modules/pwrite (Depends-on): Add 'write'.
19595
19596 2011-04-13  Bruno Haible  <bruno@clisp.org>
19597
19598         Support non-blocking pipe I/O in write() on native Windows.
19599         * lib/unistd.in.h (write): Enable replacement also if
19600         GNULIB_UNISTD_H_NONBLOCKING is 1.
19601         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19602         (rpl_write): When failing to write on a non-blocking pipe, change
19603         errno from ENOSPC to EAGAIN.
19604         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19605         putchar, puts, vfprintf, vprintf): Enable replacement also if
19606         GNULIB_STDIO_H_NONBLOCKING is 1.
19607         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19608         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19609         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19610         CALL_WITH_SIGPIPE_EMULATION.
19611         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19612         * m4/nonblocking.m4: New file.
19613         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19614         for non-blocking I/O support.
19615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19616         GNULIB_UNISTD_H_NONBLOCKING.
19617         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19618         required for non-blocking I/O support.
19619         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19620         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19621         lib/stdio-write.c, m4/asm-underscore.m4.
19622         (Depends-on): Add stdio, unistd.
19623         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19624         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19625         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19626         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19627         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19628         problem with non-blocking pipes.
19629         * doc/posix-functions/fputc.texi: Likewise.
19630         * doc/posix-functions/fputs.texi: Likewise.
19631         * doc/posix-functions/fwrite.texi: Likewise.
19632         * doc/posix-functions/printf.texi: Likewise.
19633         * doc/posix-functions/putc.texi: Likewise.
19634         * doc/posix-functions/putchar.texi: Likewise.
19635         * doc/posix-functions/puts.texi: Likewise.
19636         * doc/posix-functions/vfprintf.texi: Likewise.
19637         * doc/posix-functions/vprintf.texi: Likewise.
19638         * doc/posix-functions/write.texi: Likewise.
19639
19640 2011-04-10  Jim Meyering  <meyering@redhat.com>
19641
19642         maint.mk: prohibit doubled words
19643         Detect them also when they're separated by a newline.
19644         There are 3 ways to customize it:
19645           - disable the test on a per file basis, as usual with rules using
19646             $(VC_LIST_EXCEPT)
19647           - replace the default doubled-word-selecting regexp (affects all files)
19648           - ignore a particular file-vs-doubled-word match
19649         I nearly used that last one to ignore the "is is" match in
19650         coreutils' NEWS file, since the text was "ls -is is ..."
19651         To do that, I would have added this line to cfg.mk:
19652           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19653         but it would have ignored any "is is" match in NEWS.
19654         Low probability, but still...
19655         Instead, I changed the text, slightly:
19656           -  ls -is is now consistent with ls -lis in ignoring values returned
19657           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19658         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19659         (prohibit_doubled_word_): Define.
19660         (sc_prohibit_doubled_word): New rule.
19661         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19662
19663 2011-04-10  Jim Meyering  <meyering@redhat.com>
19664
19665         maint: fix doubled-word typo in comment
19666         * m4/gethostname.m4: s/is is/it is/
19667         * m4/getdomainname.m4: Likewise.
19668
19669 2011-04-10  Jim Meyering  <meyering@redhat.com>
19670
19671         maint: remove doubled word: s/it it/it/
19672         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19673
19674 2011-04-10  Jim Meyering  <meyering@redhat.com>
19675
19676         maint.mk: remove useless semicolon and backslash
19677         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19678         semicolon and backslash.
19679
19680 2011-04-10  Bruno Haible  <bruno@clisp.org>
19681
19682         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19683         * modules/stdint-tests (Depends-on): Add wchar.
19684
19685 2011-04-10  Jim Meyering  <meyering@redhat.com>
19686
19687         maint: remove doubled words in comments, e.g., s/a a/a/
19688         * lib/strptime.c (day_of_the_week): s/the the/the/
19689         * tests/test-chown.h (test_chown): s/a a/a/
19690
19691         test-chown.h: correct a cast
19692         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19693         when the destination is a stat.st_gid.
19694
19695 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19696
19697         getaddrinfo: Fix test for sa_len member.
19698         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19699         include <sys/types.h> before <sys/socket.h>.
19700
19701 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19702
19703         maint: change "can not" to "cannot"
19704         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19705         boundaries.
19706
19707 2011-04-09  Jim Meyering  <meyering@redhat.com>
19708
19709         maint: change "a a" to "a"
19710         * tests/test-lchown.h (test_lchown): s/a a/a/
19711
19712         maint.mk: prohibit \<the the\>
19713         * top/maint.mk (sc_prohibit_the_the): New rule.
19714
19715         maint: fix "the the" in comment
19716         * lib/count-one-bits.h: s/the the/the/
19717
19718         maint: change "can not" to "cannot"
19719         But do not change the occurrences in maintain.texi or in
19720         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19721         * doc/gnulib-tool.texi: s/can not/cannot/
19722         * doc/posix-functions/accept.texi (accept): Likewise.
19723         * doc/posix-functions/socket.texi (socket): Likewise.
19724         * lib/mbrtowc.c: Likewise.
19725
19726         maint.mk: prohibit use of "can not"
19727         * top/maint.mk (sc_prohibit_can_not): New rule.
19728         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19729
19730 2011-04-09  Bruno Haible  <bruno@clisp.org>
19731
19732         careadlinkat: Guard against misuse of careadlinkatcwd.
19733         * lib/careadlinkat.c: Include <stdlib.h>.
19734         (careadlinkatcwd): Check that the fd argument is as expected.
19735
19736 2011-04-09  Bruno Haible  <bruno@clisp.org>
19737
19738         careadlinkat: Use common coding style.
19739         * lib/careadlinkat.c: Move gnulib includes after system includes.
19740
19741 2011-04-09  Bruno Haible  <bruno@clisp.org>
19742
19743         careadlinkat: Clarify specification.
19744         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19745         (careadlinkatcwd): Add comment.
19746         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19747
19748 2011-04-09  Bruno Haible  <bruno@clisp.org>
19749
19750         areadlinkat: Avoid link error on many platforms.
19751         * modules/areadlinkat (Depends-on): Add areadlink.
19752
19753 2011-04-09  Bruno Haible  <bruno@clisp.org>
19754
19755         allocator, careadlinkat: Fix double-inclusion guard.
19756         * lib/allocator.h: Fix double-inclusion guard.
19757         * lib/careadlinkat.h: Likewise.
19758
19759 2011-04-09  Bruno Haible  <bruno@clisp.org>
19760
19761         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19762         * lib/relocwrapper.c: Update dependencies hierarchy.
19763         * build-aux/install-reloc: Update list of files to be compiled.
19764         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19765         lib/allocator.[hc].
19766
19767 2011-04-08  Eric Blake  <eblake@redhat.com>
19768
19769         strftime: silence gnulib-tool warning
19770         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19771
19772 2011-04-08  Bruno Haible  <bruno@clisp.org>
19773
19774         verify: Fix syntax error with GCC 4.6 in C++ mode.
19775         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19776         (HAVE_STATIC_ASSERT): New macro.
19777         (verify_true, verify): Use 'static_assert' if it is supported and
19778         '_Static_assert' is not supported.
19779
19780 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19781
19782         allocator: New module.
19783         * modules/allocator, lib/allocator.c: New files.
19784         * lib/allocator.h (stdlib_allocator): New decl.
19785         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19786         Remove.  Do not include <stdlib.h>.
19787         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19788         * modules/careadlinkat (Files): Remove lib/allocator.h.
19789         (Depends-on): Add allocator.
19790
19791         stdlib: let modules use system malloc, realloc
19792         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19793         if !_GL_USE_STDLIB_ALLOC.
19794         (malloc, realloc): Limit this change to a smaller scope.
19795
19796         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19797         (malloc, realloc): Don't #undef; no longer needed.
19798         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19799         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19800         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19801         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19802         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19803         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19804         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19805         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19806
19807         careadlinkat: rename members to avoid problem
19808         * lib/allocator.h (struct allocator): Rename members from
19809         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19810         and realloc are #define'd.  Reported by Eric Blake in
19811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19812         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19813
19814 2011-04-08  Eric Blake  <eblake@redhat.com>
19815
19816         nonblocking: reduce dependency
19817         * tests/test-nonblocking.c: Only test sockets when in use.
19818         * modules/nonblocking-tests (Depends-on): Drop socket.
19819         (Makefile.am): Link even if sockets are not present.
19820         * modules/pipe2-tests (Makefile.am): Likewise.
19821         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19822
19823         pipe2: fix O_NONBLOCK support on mingw
19824         * modules/pipe2 (Depends-on): Add nonblocking.
19825         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19826         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19827         * tests/test-nonblocking.c (main): Likewise.
19828         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19829
19830         fcntl-h: fix O_ACCMODE on cygwin
19831         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19832         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19833
19834         pipe-filter: drop O_NONBLOCK workarounds
19835         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19836         * modules/pipe-filter-ii (Depends-on): Likewise.
19837         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19838
19839         nonblocking: provide O_NONBLOCK for mingw
19840         * modules/nonblocking (Depends-on): Add open.
19841         (configure.ac): Set new witness macro.
19842         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19843         * modules/fcntl-h (Makefile.am): Substitute it.
19844         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19845         nonblocking module is in use.
19846         * lib/nonblocking.c: Adjust portability test.
19847         * lib/open.c (open): Don't let native open see gnulib flag.
19848         * tests/test-fcntl-h.c (main): Enhance test.
19849         * tests/test-open.h (test_open): Likewise.
19850         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19851
19852         careadlinkat: fix compilation error on mingw
19853         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19854         within struct allocator.
19855
19856 2011-04-06  Eric Blake  <eblake@redhat.com>
19857
19858         binary-io: relicense under LGPLv2+
19859         * modules/binary-io (License): Relax to LGPLv2+.
19860         Requested for libvirt, and required by pipe2.
19861
19862 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19863
19864         verify: use _Static_assert if available
19865         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19866         (verify_true, verify): Use it if available.  This generates better
19867         diagnostics with GCC 4.6.0 and later.
19868
19869 2011-04-05  Bruno Haible  <bruno@clisp.org>
19870
19871         Remove leftover generated .h files after config.status changed.
19872
19873         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19874         GL_GENERATE_ALLOCA_H.
19875         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19876         GL_GENERATE_ALLOCA_H evaluates to false.
19877
19878         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19879         GL_GENERATE_ARGZ_H.
19880         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19881         evaluates to false.
19882
19883         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19884         GL_GENERATE_BYTESWAP_H.
19885         * modules/byteswap (Makefile.am): Remove byteswap.h if
19886         GL_GENERATE_BYTESWAP_H evaluates to false.
19887
19888         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19889         GL_GENERATE_ERRNO_H.
19890         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19891         evaluates to false.
19892
19893         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19894         GL_GENERATE_FLOAT_H.
19895         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19896         evaluates to false.
19897
19898         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19899         GL_GENERATE_FNMATCH_H.
19900         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19901         GL_GENERATE_FNMATCH_H evaluates to false.
19902
19903         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19904         GL_GENERATE_GLOB_H.
19905         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19906         evaluates to false.
19907
19908         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19909         automake conditional GL_GENERATE_ICONV_H.
19910         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19911         evaluates to false.
19912
19913         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19914         GL_GENERATE_NETINET_IN_H.
19915         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19916         GL_GENERATE_NETINET_IN_H evaluates to false.
19917
19918         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19919         conditional GL_GENERATE_PTHREAD_H.
19920         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19921         * modules/pthread (Makefile.am): Remove pthread.h if
19922         GL_GENERATE_PTHREAD_H evaluates to false.
19923
19924         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19925         GL_GENERATE_SCHED_H.
19926         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19927         evaluates to false.
19928
19929         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19930         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19931         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19932         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19933
19934         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19935         GL_GENERATE_STDARG_H.
19936         * modules/stdarg (Makefile.am): Remove stdarg.h if
19937         GL_GENERATE_STDARG_H evaluates to false.
19938
19939         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19940         GL_GENERATE_STDBOOL_H.
19941         * modules/stdbool (Makefile.am): Remove stdbool.h if
19942         GL_GENERATE_STDBOOL_H evaluates to false.
19943
19944         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19945         conditional GL_GENERATE_STDDEF_H.
19946         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19947         * modules/stddef (Makefile.am): Remove stddef.h if
19948         GL_GENERATE_STDDEF_H evaluates to false.
19949
19950         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19951         GL_GENERATE_STDINT_H.
19952         * modules/stdint (Makefile.am): Remove stdint.h if
19953         GL_GENERATE_STDINT_H evaluates to false.
19954
19955         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19956         GL_GENERATE_SYSEXITS_H.
19957         * modules/sysexits (Makefile.am): Remove sysexits.h if
19958         GL_GENERATE_SYSEXITS_H evaluates to false.
19959
19960         Reported by Karl Berry and Ralf Wildenhues.
19961
19962 2011-04-05  Bruno Haible  <bruno@clisp.org>
19963
19964         Ensure to rebuild generated .h files when config.status has changed.
19965         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19966         config.status.
19967         * modules/ctype (Makefile.am): Likewise.
19968         * modules/dirent (Makefile.am): Likewise.
19969         * modules/errno (Makefile.am): Likewise.
19970         * modules/fcntl-h (Makefile.am): Likewise.
19971         * modules/float (Makefile.am): Likewise.
19972         * modules/getopt-posix (Makefile.am): Likewise.
19973         * modules/glob (Makefile.am): Likewise.
19974         * modules/iconv-h (Makefile.am): Likewise.
19975         * modules/inttypes (Makefile.am): Likewise.
19976         * modules/langinfo (Makefile.am): Likewise.
19977         * modules/locale (Makefile.am): Likewise.
19978         * modules/math (Makefile.am): Likewise.
19979         * modules/netdb (Makefile.am): Likewise.
19980         * modules/netinet_in (Makefile.am): Likewise.
19981         * modules/poll-h (Makefile.am): Likewise.
19982         * modules/pthread (Makefile.am): Likewise.
19983         * modules/pty (Makefile.am): Likewise.
19984         * modules/sched (Makefile.am): Likewise.
19985         * modules/search (Makefile.am): Likewise.
19986         * modules/selinux-h (Makefile.am): Likewise.
19987         * modules/signal (Makefile.am): Likewise.
19988         * modules/spawn (Makefile.am): Likewise.
19989         * modules/stdarg (Makefile.am): Likewise.
19990         * modules/stdbool (Makefile.am): Likewise.
19991         * modules/stddef (Makefile.am): Likewise.
19992         * modules/stdint (Makefile.am): Likewise.
19993         * modules/stdio (Makefile.am): Likewise.
19994         * modules/stdlib (Makefile.am): Likewise.
19995         * modules/string (Makefile.am): Likewise.
19996         * modules/strings (Makefile.am): Likewise.
19997         * modules/sys_file (Makefile.am): Likewise.
19998         * modules/sys_ioctl (Makefile.am): Likewise.
19999         * modules/sys_select (Makefile.am): Likewise.
20000         * modules/sys_socket (Makefile.am): Likewise.
20001         * modules/sys_stat (Makefile.am): Likewise.
20002         * modules/sys_time (Makefile.am): Likewise.
20003         * modules/sys_times (Makefile.am): Likewise.
20004         * modules/sys_utsname (Makefile.am): Likewise.
20005         * modules/sys_wait (Makefile.am): Likewise.
20006         * modules/sysexits (Makefile.am): Likewise.
20007         * modules/termios (Makefile.am): Likewise.
20008         * modules/time (Makefile.am): Likewise.
20009         * modules/unistd (Makefile.am): Likewise.
20010         * modules/wchar (Makefile.am): Likewise.
20011         * modules/wctype-h (Makefile.am): Likewise.
20012         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
20013
20014 2011-04-05  Bruno Haible  <bruno@clisp.org>
20015
20016         pipe2: Relicense under LGPLv2+.
20017         * modules/pipe2 (License): Change to LGPLv2+.
20018         Requested by Eric Blake, for libvirt.
20019
20020 2011-04-05  Bruce Korb  <bkorb@gnu.org>
20021
20022         bootstrap: compute gnulib_extra_files after updating build_aux
20023         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
20024         change build_aux or also supply gnulib_extra_files.  Handle correctly.
20025
20026 2011-04-05  Eric Blake  <eblake@redhat.com>
20027
20028         bootstrap: preserve git whitelist item sorting
20029         * build-aux/bootstrap (sort_patterns): New function.
20030         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
20031
20032 2011-04-05  Simon Josefsson  <simon@josefsson.org>
20033
20034         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
20035         sc_space_tab check.
20036
20037 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20038
20039         areadlink, areadlinkat: rewrite in terms of careadlinkat
20040         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
20041         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
20042         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
20043         (malloc, realloc): Remove #undefs.
20044         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
20045         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
20046         readlink, ssize_t, stdint, unistd.
20047         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
20048         areadlink, stdint.
20049
20050         careadlinkat: new module
20051         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
20052         * modules/careadlinkat: New files, written by me with
20053         a review and feedback from Ben Pfaff in
20054         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
20055
20056 2011-04-01  Bruno Haible  <bruno@clisp.org>
20057
20058         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
20059         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
20060         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
20061         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
20062         Reported by Bruce Korb <bruce.korb@gmail.com>.
20063
20064 2011-04-01  Bruno Haible  <bruno@clisp.org>
20065
20066         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
20067         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
20068         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
20069         * modules/wcpcpy (Depends-on): Add extensions.
20070         * modules/wcpncpy (Depends-on): Likewise.
20071         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
20072         systems.
20073         * doc/posix-functions/wcpncpy.texi: Likewise.
20074         * doc/posix-functions/wcwidth.texi: Likewise.
20075
20076 2011-03-31  Eric Blake  <eblake@redhat.com>
20077
20078         nonblocking: fix mingw test failures
20079         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
20080         non-blocking flag on regular file.
20081         (get_nonblocking_flag): Set errno on invalid fd.
20082         * tests/test-nonblocking.c (main): Avoid test failure on
20083         directories if fchdir is not active.
20084         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
20085
20086 2011-03-31  Bruno Haible  <bruno@clisp.org>
20087
20088         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
20089         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
20090         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
20091         Reported by Simon Josefsson <simon@josefsson.org>.
20092
20093 2011-03-31  Bruno Haible  <bruno@clisp.org>
20094         and Eric Blake  <eblake@redhat.com>
20095
20096         nonblocking: new module
20097         * modules/nonblocking: New module.
20098         * modules/nonblocking-tests: Likewise.
20099         * lib/nonblocking.h: New file.
20100         * lib/nonblocking.c: Likewise.
20101         * tests/test-nonblocking.c: New test.
20102         * lib/ioctl.c (ioctl) [mingw]: Update comment.
20103
20104 2011-03-30  Bruno Haible  <bruno@clisp.org>
20105
20106         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
20107         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
20108         instead of 'printf' format for GCC >= 4.4.
20109         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
20110         (fprintf, printf, vfprintf, vprintf): Declare with
20111         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
20112         the system's vfprintf() function.
20113         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
20114
20115 2011-03-30  Eric Blake  <eblake@redhat.com>
20116
20117         passfd: fix scoping bug
20118         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
20119         before sendmsg/recvmsg.
20120
20121         passfd: standardize coding conventions
20122         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
20123         can be learned at compile time.
20124         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
20125         ifdefs.
20126         (sendfd, recvfd): Follow gnulib code conventions.
20127
20128         passfd: fix incorrect sendmsg arguments
20129         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20130         incorrect msg_controllen value.
20131         * modules/passfd-tests (Depends-on): Check for alarm.
20132         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20133         Reported by Bastien ROUCARIES.
20134
20135 2011-03-30  Bruno Haible  <bruno@clisp.org>
20136
20137         c-strcasestr: Relicense under LGPLv2+.
20138         * modules/c-strcasestr (License): Change to LGPLv2+.
20139         Requested by Eric Blake, for libvirt.
20140
20141 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20142
20143         * users.txt: Add libidn2.  Fix libtasn1 link.
20144
20145 2011-03-30  Jim Meyering  <meyering@redhat.com>
20146
20147         tests: readlink* ("",... fails with EINVAL on newer kernels
20148         readlink and readlinkat have typically failed with ENOENT for
20149         the invalid, empty file name,  "".  However, with the advent
20150         of linux-2.6.39, they fail with EINVAL.
20151         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20152         when operating on the empty file name.
20153         * tests/test-readlink.h (test_readlink): Likewise.
20154
20155 2011-03-29  Bruno Haible  <bruno@clisp.org>
20156
20157         Relicense some modules under LGPLv2+, for libidn2.
20158         * modules/array-mergesort (License): Change to LGPLv2+.
20159         * modules/c-strcaseeq (License): Likewise.
20160         * modules/striconveh (License): Likewise.
20161         * modules/striconveha (License): Likewise.
20162         * modules/uniconv/base (License): Likewise.
20163         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20164         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20165         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20166         * modules/unictype/base (License): Likewise.
20167         * modules/unictype/bidiclass-of (License): Likewise.
20168         * modules/unictype/category-M (License): Likewise.
20169         * modules/unictype/category-none (License): Likewise.
20170         * modules/unictype/category-of (License): Likewise.
20171         * modules/unictype/category-test (License): Likewise.
20172         * modules/unictype/category-test-withtable (License): Likewise.
20173         * modules/unictype/combining-class (License): Likewise.
20174         * modules/unictype/joiningtype-of (License): Likewise.
20175         * modules/unictype/scripts (License): Likewise.
20176         * modules/uninorm/base (License): Likewise.
20177         * modules/uninorm/canonical-decomposition (License): Likewise.
20178         * modules/uninorm/composition (License): Likewise.
20179         * modules/uninorm/decompose-internal (License): Likewise.
20180         * modules/uninorm/decomposition-table (License): Likewise.
20181         * modules/uninorm/nfc (License): Likewise.
20182         * modules/uninorm/nfd (License): Likewise.
20183         * modules/uninorm/u32-normalize (License): Likewise.
20184         * modules/unistr/base (License): Likewise.
20185         * modules/unistr/u32-cpy (License): Likewise.
20186         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20187         * modules/unistr/u32-to-u8 (License): Likewise.
20188         * modules/unistr/u32-uctomb (License): Likewise.
20189         * modules/unistr/u8-check (License): Likewise.
20190         * modules/unistr/u8-mblen (License): Likewise.
20191         * modules/unistr/u8-mbtouc (License): Likewise.
20192         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20193         * modules/unistr/u8-mbtoucr (License): Likewise.
20194         * modules/unistr/u8-prev (License): Likewise.
20195         * modules/unistr/u8-strlen (License): Likewise.
20196         * modules/unistr/u8-to-u32 (License): Likewise.
20197         * modules/unistr/u8-uctomb (License): Likewise.
20198         * modules/unitypes (License): Likewise.
20199         Requested by Simon Josefsson.
20200
20201 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20202
20203         lib-symbol-visibility: Add a notice.
20204         * modules/lib-symbol-visibility (Notice): New field.
20205
20206 2011-03-29  Bruno Haible  <bruno@clisp.org>
20207
20208         getaddrinfo: Doc fix.
20209         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20210         section "fixed in Gnulib".
20211
20212 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20213
20214         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20215         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20216
20217 2011-03-26  Bruno Haible  <bruno@clisp.org>
20218
20219         unictype/property-byname: Reduce the number of load-time relocations.
20220         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20221         (UC_PROPERTY_INDEX_*): New enumeration values.
20222         (uc_property_byname): Convert an index from the lookup table to an
20223         uc_property_t.
20224         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20225         values.
20226
20227 2011-03-26  Bruno Haible  <bruno@clisp.org>
20228
20229         unictype/property-byname: Allow omitted word separators and aliases.
20230         * lib/unictype/pr_byname.gperf: Add property names without word
20231         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20232         for 'space'.
20233
20234 2011-03-26  Bruno Haible  <bruno@clisp.org>
20235
20236         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20237         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20238         also hyphens to space.
20239         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20240         without spaces.
20241         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20242
20243 2011-03-26  Bruno Haible  <bruno@clisp.org>
20244
20245         unictype/joiningtype-byname: Recognize long names as well.
20246         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20247         a long name.
20248         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20249         unictype/joiningtype_byname.h.
20250         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20251         * lib/unictype/joiningtype_byname.gperf: New file.
20252         * modules/unictype/joiningtype-byname (Files): Add
20253         lib/unictype/joiningtype_byname.gperf.
20254         (Depends-on): Add gperf.
20255         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20256         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20257         long names.
20258
20259         Tests for module 'unictype/joiningtype-longname'.
20260         * modules/unictype/joiningtype-longname-tests: New file.
20261         * tests/unictype/test-joiningtype_longname.c: New file.
20262
20263         New module 'unictype/joiningtype-longname'.
20264         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20265         * lib/unictype/joiningtype_longname.c: New file.
20266         * modules/unictype/joiningtype-longname: New file.
20267         * modules/unictype/joiningtype-all (Depends-on): Add
20268         unictype/joiningtype-longname.
20269
20270 2011-03-26  Bruno Haible  <bruno@clisp.org>
20271
20272         unictype/bidiclass-byname: Recognize long names as well.
20273         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20274         name.
20275         * lib/unictype/bidi_byname.c: Include <string.h>,
20276         unictype/bidi_byname.h.
20277         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20278         * lib/unictype/bidi_byname.gperf: New file.
20279         * modules/unictype/bidiclass-byname (Files): Add
20280         lib/unictype/bidi_byname.gperf.
20281         (Depends-on): Add gperf.
20282         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20283         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20284         long names.
20285
20286         Tests for module 'unictype/bidiclass-longname'.
20287         * modules/unictype/bidiclass-longname-tests: New file.
20288         * tests/unictype/test-bidi_longname.c: New file.
20289
20290         New module 'unictype/bidiclass-longname'.
20291         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20292         * lib/unictype/bidi_longname.c: New file.
20293         * modules/unictype/bidiclass-longname: New file.
20294         * modules/unictype/bidiclass-all (Depends-on): Add
20295         unictype/bidiclass-longname.
20296
20297 2011-03-26  Bruno Haible  <bruno@clisp.org>
20298
20299         unictype/bidi*: Rename modules.
20300         * modules/unictype/bidiclass-all: Renamed from
20301         modules/unictype/bidicategory-all.
20302         * modules/unictype/bidiclass-name: Renamed from
20303         modules/unictype/bidiclass-name.
20304         (Description): Update.
20305         * modules/unictype/bidiclass-name-tests: Renamed from
20306         modules/unictype/bidicategory-name-tests.
20307         * modules/unictype/bidiclass-byname: Renamed from
20308         modules/unictype/bidicategory-byname.
20309         (Description): Update.
20310         * modules/unictype/bidiclass-byname-tests: Renamed from
20311         modules/unictype/bidicategory-byname-tests.
20312         * modules/unictype/bidiclass-of: Renamed from
20313         modules/unictype/bidicategory-of.
20314         (Description): Update.
20315         * modules/unictype/bidiclass-of-tests: Renamed from
20316         modules/unictype/bidicategory-of-tests.
20317         * modules/unictype/bidiclass-test: Renamed from
20318         modules/unictype/bidicategory-test.
20319         (Description): Update.
20320         * modules/unictype/bidiclass-test-tests: Renamed from
20321         modules/unictype/bidicategory-test-tests.
20322         * modules/unictype/bidicategory-all: New file, a simple redirection.
20323         * modules/unictype/bidicategory-name: Likewise.
20324         * modules/unictype/bidicategory-byname: Likewise.
20325         * modules/unictype/bidicategory-of: Likewise.
20326         * modules/unictype/bidicategory-test: Likewise.
20327         * modules/unictype/property-bidi-* (Dependencies): Update.
20328         * lib/unictype/bidi_*.c: Update comment.
20329
20330 2011-03-26  Bruno Haible  <bruno@clisp.org>
20331
20332         unictype/bidi*: Rename functions, part 2.
20333         * modules/unictype/bidicategory-name (configure.ac): Update required
20334         libunistring version.
20335         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20336
20337 2011-03-25  Bruno Haible  <bruno@clisp.org>
20338
20339         New module 'unictype/combining-class-all'.
20340         * modules/unictype/combining-class-all: New file.
20341
20342         Tests for module 'unictype/combining-class-byname'.
20343         * modules/unictype/combining-class-byname-tests: New file.
20344         * tests/unictype/test-combiningclass_byname.c: New file.
20345
20346         New module 'unictype/combining-class-byname'.
20347         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20348         * lib/unictype/combiningclass_byname.c: New file.
20349         * lib/unictype/combiningclass_byname.gperf: New file.
20350         * modules/unictype/combining-class-byname: New file.
20351
20352         Tests for module 'unictype/combining-class-longname'.
20353         * modules/unictype/combining-class-longname-tests: New file.
20354         * tests/unictype/test-combiningclass_longname.c: New file.
20355
20356         New module 'unictype/combining-class-longname'.
20357         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20358         * lib/unictype/combiningclass_longname.c: New file.
20359         * modules/unictype/combining-class-longname: New file.
20360
20361         Tests for module 'unictype/combining-class-name'.
20362         * modules/unictype/combining-class-name-tests: New file.
20363         * tests/unictype/test-combiningclass_name.c: New file.
20364
20365         New module 'unictype/combining-class-name'.
20366         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20367         * lib/unictype/combiningclass_name.c: New file.
20368         * modules/unictype/combining-class-name: New file.
20369
20370 2011-03-25  Bruno Haible  <bruno@clisp.org>
20371
20372         unictype/combining-class: Rename source files.
20373         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20374         of unictype/combining.h.
20375         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20376         Update.
20377         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20378         * modules/unictype/combining-class (Description): Fix.
20379         (Files, Makefile.am): Update.
20380         * tests/unictype/test-combiningclass.c: Renamed from
20381         tests/unictype/test-combining.c.
20382         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20383
20384 2011-03-25  Bruno Haible  <bruno@clisp.org>
20385
20386         unictype: Update list of canonical combining classes.
20387         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20388
20389 2011-03-25  Bruno Haible  <bruno@clisp.org>
20390
20391         unictype/category-byname: Recognize long names as well.
20392         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20393         a long name.
20394         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20395         unictype/categ_byname.h.
20396         (UC_CATEGORY_INDEX_*): New enumeration values.
20397         (uc_general_category_byname): Use uc_general_category_lookup and
20398         convert from index to value.
20399         * lib/unictype/categ_byname.gperf: New file.
20400         * modules/unictype/category-byname (Files): Add
20401         lib/unictype/categ_byname.gperf.
20402         (Depends-on): Add gperf.
20403         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20404         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20405         long names.
20406
20407         Tests for module 'unictype/category-longname'.
20408         * modules/unictype/category-longname-tests: New file.
20409         * tests/unictype/test-categ_longname.c: New file.
20410
20411         New module 'unictype/category-longname'.
20412         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20413         * lib/unictype/categ_longname.c: New file.
20414         * modules/unictype/category-longname: New file.
20415         * modules/unictype/category-all (Depends-on): Add it.
20416
20417 2011-03-25  Bruno Haible  <bruno@clisp.org>
20418
20419         Tests for module 'unictype/category-LC'.
20420         * modules/unictype/category-LC-tests: New file.
20421         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20422
20423         New module 'unictype/category-LC'.
20424         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
20425         (UC_CATEGORY_LC): New declaration.
20426         (UC_CASED_LETTER): New macro.
20427         * lib/gen-uni-tables.c (is_category_LC): New function.
20428         (output_categories): Also handle category LC.
20429         (UC_CATEGORY_MASK_LC): New enumeration value.
20430         (general_category_byname): Also handle category LC.
20431         * lib/unictype/categ_LC.c: New file.
20432         * lib/unictype/categ_LC.h: New file, automatically generated.
20433         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
20434         category LC.
20435         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
20436         * modules/unictype/category-LC: New file.
20437         * modules/unictype/category-byname (Depends-on): Add
20438         unictype/category-LC.
20439         * modules/unictype/category-all (Depends-on): Likewise.
20440
20441 2011-03-25  Eric Blake  <eblake@redhat.com>
20442
20443         xmalloc: revert yesterday's regression
20444         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
20445         realloc's underlying behavior (allowing allocation of zero-size
20446         objects, especially if malloc-gnu is also in use).
20447
20448 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
20449
20450         maint.mk: add missing version to VC-tag
20451         * top/maint.mk: git tag was missing actual tag name; add it.
20452
20453         valgrind: do leak checking, and exit with code 1 on error (not 0)
20454         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
20455         to VALGRIND.
20456
20457 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20458
20459         posix-modules: say what it does.
20460         * posix-modules: Add a line to the --help output saying what it does.
20461
20462 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20463
20464         xmalloc: Do not leak if underlying realloc is C99 compatible.
20465         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20466         This avoids a leak on C99-based systems.  See
20467         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20468
20469 2011-03-24  Eric Blake  <eblake@redhat.com>
20470
20471         realloc: document portability problem
20472         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20473         passing 0 size to realloc.
20474
20475 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20476
20477         doc: update users.txt
20478         * users.txt: Add cvsps, tmpwatch
20479
20480 2011-03-23  Matt Rice  <ratmice@gmail.com>
20481
20482         doc: update users.txt
20483         * users.txt: Add gdb.
20484
20485 2011-03-23  Jim Meyering  <meyering@redhat.com>
20486
20487         doc: update users.txt
20488         Looking through matches up to the following URL (there are still
20489         several more pages), I found several projects that use gnulib:
20490         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20491         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20492         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20493
20494 2011-03-22  Bruno Haible  <bruno@clisp.org>
20495
20496         unictype/bidi*: Rename functions.
20497         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20498         uc_bidi_class, uc_is_bidi_class): New declarations.
20499         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20500         uc_bidi_category_byname.
20501         (uc_bidi_category_byname): New function.
20502         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20503         u_bidi_category_name.
20504         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20505         (uc_bidi_category_name): New function.
20506         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20507         uc_bidi_category.
20508         (uc_bidi_category): New function.
20509         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20510         uc_is_bidi_category. Invoke uc_bidi_class.
20511         (uc_is_bidi_category): New function.
20512         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20513         instead of uc_bidi_category_byname.
20514         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20515         instead of uc_bidi_category_name.
20516         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20517         uc_bidi_category.
20518         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20519         instead of uc_is_bidi_category.
20520
20521 2011-03-21  Bruno Haible  <bruno@clisp.org>
20522
20523         New module 'unictype/joininggroup-all'.
20524         * modules/unictype/joininggroup-all: New file.
20525
20526         Tests for module 'unictype/joininggroup-of'.
20527         * modules/unictype/joininggroup-of-tests: New file.
20528         * tests/unictype/test-joininggroup_of.c: New file.
20529         * tests/unictype/test-joininggroup_of.h: New file, automatically
20530         generated by gen-uni-tables.
20531
20532         New module 'unictype/joininggroup-of'.
20533         * modules/unictype/joininggroup-of: New file.
20534         * lib/unictype/joininggroup_of.c: New file.
20535         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20536         gen-uni-tables.
20537
20538         Tests for module 'unictype/joininggroup-byname'.
20539         * modules/unictype/joininggroup-byname-tests: New file.
20540         * tests/unictype/test-joininggroup_byname.c: New file.
20541
20542         New module 'unictype/joininggroup-byname'.
20543         * modules/unictype/joininggroup-byname: New file.
20544         * lib/unictype/joininggroup_byname.c: New file.
20545         * lib/unictype/joininggroup_byname.gperf: New file.
20546
20547         Tests for module 'unictype/joininggroup-name'.
20548         * modules/unictype/joininggroup-name-tests: New file.
20549         * tests/unictype/test-joininggroup_name.c: New file.
20550
20551         New module 'unictype/joininggroup-name'.
20552         * modules/unictype/joininggroup-name: New file.
20553         * lib/unictype/joininggroup_name.c: New file.
20554         * lib/unictype/joininggroup_name.h: New file.
20555
20556         New module 'unictype/joiningtype-all'.
20557         * modules/unictype/joiningtype-all: New file.
20558
20559         Tests for module 'unictype/joiningtype-of'.
20560         * modules/unictype/joiningtype-of-tests: New file.
20561         * tests/unictype/test-joiningtype_of.c: New file.
20562         * tests/unictype/test-joiningtype_of.h: New file, automatically
20563         generated by gen-uni-tables.
20564
20565         New module 'unictype/joiningtype-of'.
20566         * modules/unictype/joiningtype-of: New file.
20567         * lib/unictype/joiningtype_of.c: New file.
20568         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20569         gen-uni-tables.
20570
20571         Tests for module 'unictype/joiningtype-byname'.
20572         * modules/unictype/joiningtype-byname-tests: New file.
20573         * tests/unictype/test-joiningtype_byname.c: New file.
20574
20575         New module 'unictype/joiningtype-byname'.
20576         * modules/unictype/joiningtype-byname: New file.
20577         * lib/unictype/joiningtype_byname.c: New file.
20578
20579         Tests for module 'unictype/joiningtype-name'.
20580         * modules/unictype/joiningtype-name-tests: New file.
20581         * tests/unictype/test-joiningtype_name.c: New file.
20582
20583         New module 'unictype/joiningtype-name'.
20584         * modules/unictype/joiningtype-name: New file.
20585         * lib/unictype/joiningtype_name.c: New file.
20586
20587         unictype: Add support for Arabic shaping properties.
20588         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20589         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20590         declarations.
20591         (UC_JOINING_GROUP_*): New enumeration values.
20592         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20593         declarations.
20594         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20595         (unicode_joining_type): New variable.
20596         (UC_JOINING_GROUP_*): New enumeration values.
20597         (unicode_joining_group): New variable.
20598         (fill_arabicshaping, joining_type_as_c_identifier,
20599         output_joining_type_test, output_joining_type,
20600         joining_group_as_c_identifier, output_joining_group_test,
20601         output_joining_group): New functions.
20602         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20603         fill_arabicshaping and output_joining_type_test, output_joining_type,
20604         output_joining_group_test, output_joining_group.
20605         Reported by Simon Josefsson.
20606
20607 2011-03-21  Jim Meyering  <meyering@redhat.com>
20608
20609         strftime: fix a bug in yesterday's change
20610         * lib/strftime.c (add): Accommodate width's initial value of -1.
20611         Otherwise, nstrftime would copy uninitialized data into
20612         the result buffer.
20613
20614 2011-03-21  Jim Meyering  <meyering@redhat.com>
20615
20616         tests: add strftime-tests module
20617         * tests/test-strftime.c: New file.
20618         * modules/strftime-tests: New module.
20619
20620 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20621
20622         strftime: don't assume a byte count fits in 'int'
20623         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20624         found this problem by static analysis, using gcc -Wstrict-overflow
20625         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20626         on an integer overflow having undefined behavior, but it turns out
20627         that the argument is a size, which might not fit in 'int' anyway,
20628
20629 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20630
20631         stdio: don't require ignore_value around fwrite
20632
20633         This patch works around libc bug 11959
20634         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20635         Without this patch, applications must often write
20636         ignore_value (fwrite (...)) even though the ignore_value is
20637         not helpful here.  It's common to write many objects, using
20638         fwrite/printf/etc., and then use ferror to detect output error.
20639
20640         I considered making this patch optional, but decided against it,
20641         because libc is obviously being inconsistent here: there is no
20642         reason libc should insist that user code must inspect fwrite
20643         return's value without also insisting that it inspect printf's,
20644         putchar's, etc.  If user code wants to have a strict style where
20645         all these functions' values are checked (so that ferror need not
20646         be checked), we could add support for that style in a new gnulib
20647         module, but in the meantime it's better to be consistent and to
20648         support common usage.
20649
20650         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20651         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20652         that we are compiling in checking mode, and if not C++, and
20653         if not already wrapping fwrite for some other reason.
20654         (fwrite): #define to rpl_fwrite if the latter is defined.
20655
20656 2011-03-20  Bruno Haible  <bruno@clisp.org>
20657
20658         verror: Fix compilation error introduced on 2011-02-13.
20659         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20660         instead of __attribute__.
20661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20662
20663 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20664             Bruno Haible  <bruno@clisp.org>
20665
20666         socklen: do not depend on sys_socket
20667         While trying to modify Emacs to use gnulib's socklen module,
20668         I discovered a circular dependency: socklen depends on sys_socket
20669         and vice versa.  Emacs can use socklen, but it does not need
20670         sys_socket because it has its own substitute for sys/socket.h.
20671         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20672         gl_TYPE_SOCKLEN_T.
20673         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20674         gl_PREREQ_SYS_H_SOCKET.
20675         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20676         gl_PREREQ_SYS_H_SOCKET.
20677         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20678         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20679         * modules/socklen (Depends-on): Do not depend on sys_socket.
20680         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20681
20682 2011-03-20  Jim Meyering  <meyering@redhat.com>
20683
20684         maint.mk: sort file names *after* new transformation
20685         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20686         prefix would have led to an unwarranted failure in GNU parted.
20687         Sort after that transformation.
20688
20689 2011-03-19  Jim Meyering  <meyering@redhat.com>
20690
20691         maint.mk: fix po-file syntax-check rule
20692         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20693         Patch by Bruno Haible.
20694
20695 2011-03-19  Bruno Haible  <bruno@clisp.org>
20696
20697         socklen: Update comment.
20698         * m4/socklen.m4: Update comment about platforms.
20699
20700 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20701             Bruno Haible  <bruno@clisp.org>
20702
20703         inet_ntop, inet_pton: Simplify.
20704         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20705         documented to provide socklen_t and we already depend on sys_socket.
20706         * modules/inet_pton (Depends-on): Likewise.
20707         * lib/arpa_inet.in.h: Adjust comment.
20708
20709 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20710             Bruno Haible  <bruno@clisp.org>
20711
20712         netdb: Simplify.
20713         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20714         documented to provide socklen_t and we already depend on sys_socket.
20715         * lib/netdb.in.h: Adjust comment.
20716
20717 2011-03-19  Bruno Haible  <bruno@clisp.org>
20718
20719         sys_socket, netdb: Document problem with socklen_t.
20720         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20721         platforms.
20722         * doc/posix-headers/netdb.texi: Likewise.
20723
20724 2011-03-18  Eric Blake  <eblake@redhat.com>
20725
20726         maint.mk: let po check work in VPATH build
20727         * top/maint.mk (po_file): Allow cfg.mk override.
20728         (sc_po_check): Allow VPATH use.
20729         Reported by Jiri Denemark.
20730
20731 2011-03-16  Jim Meyering  <meyering@redhat.com>
20732
20733         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20734         Before, you would have had to create one .x-sc_ file per rule in order
20735         to exempt offending files.  Now, you may instead use a Make variable --
20736         usually defined in cfg.mk -- whose name identifies the affected rule.
20737         * top/maint.mk (_sc_excl): Define.
20738         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20739         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20740
20741 2011-03-13  Bruno Haible  <bruno@clisp.org>
20742
20743         ignore-value tests: Avoid warnings.
20744         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20745         empty for gcc < 3.4.
20746
20747 2011-03-13  Bruno Haible  <bruno@clisp.org>
20748
20749         passfd: Fix link error on Solaris.
20750         * modules/passfd (Description): Correct.
20751         (Depends-on): Add socketlib.
20752         (Link): New section.
20753         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20754
20755 2011-03-13  Bruno Haible  <bruno@clisp.org>
20756
20757         passfd: Fix link error on AIX 5.2.
20758         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20759
20760 2011-03-13  Bruno Haible  <bruno@clisp.org>
20761
20762         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20763         * lib/sys_socket.in.h: Include <stddef.h>.
20764         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20765         CMSG_FIRSTHDR. Remove unused variable.
20766
20767 2011-03-13  Bruno Haible  <bruno@clisp.org>
20768
20769         passfd: Fix compilation error on OpenBSD.
20770         * lib/passfd.c: Include <sys/uio.h>.
20771
20772 2011-03-13  Bruno Haible  <bruno@clisp.org>
20773
20774         passfd test: Fix warnings.
20775         * tests/test-passfd.c: Include <sys/wait.h>.
20776         (main): Fix typo.
20777
20778 2011-03-13  Bruno Haible  <bruno@clisp.org>
20779
20780         passfd module, part 4, tweaks.
20781         * tests/test-passfd.c: Reorder includes.
20782         (main): Fix perror and printf calls.
20783
20784 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20785
20786         passfd module, part 4.
20787         * modules/passfd-tests: New file.
20788         * tests/test-passfd.c: New file.
20789
20790 2011-03-13  Jim Meyering  <meyering@redhat.com>
20791
20792         Makefile: rely on GNU make; derive syntax-check rule names
20793         Rather than requiring that each sc_ rule be listed as a dependent
20794         of "check", use features of GNU make to derive the list.
20795         * Makefile (syntax-check-rules): Define.
20796         (check): Depend on the new variable, not the hard-coded list.
20797
20798 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20799             Bruno Haible  <bruno@clisp.org>
20800
20801         passfd module, part 3.
20802         * lib/passfd.h (recvfd): Add a flags argument.
20803         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20804         (recvfd): Add a flags argument.
20805         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20806         exists.
20807         * modules/passfd (Depends-on): Add cloexec.
20808         Suggested by Eric Blake.
20809
20810 2011-03-13  Bruno Haible  <bruno@clisp.org>
20811
20812         passfd module, part 2, tweaks.
20813         * modules/passfd (Files): Reorder.
20814         (Depends-on): Remove errno.
20815         (Include): Remove <sys/socket.h>, <sys/un.h>.
20816         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20817         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20818         specification header. Include <sys/socket.h> always. Don't include
20819         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20820         (sendfd): Clarify that it sets errno when it fails.
20821         (recvfd): Fix specification.
20822
20823 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20824
20825         passfd module, part 2.
20826         * modules/passfd: New file.
20827         * lib/passfd.h: New file.
20828         * lib/passfd.c: New file.
20829
20830 2011-03-12  Bruno Haible  <bruno@clisp.org>
20831
20832         wcswidth, mbswidth: Avoid integer overflow.
20833         * lib/wcswidth.c: Include <limits.h>.
20834         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20835         * lib/mbswidth.c: Include <limits.h>.
20836         (mbsnwidth): Avoid 'int' overflow.
20837         Reported by Jim Meyering.
20838
20839 2011-03-12  Bruno Haible  <bruno@clisp.org>
20840
20841         futimens, utimensat: Avoid endless recursion on Solaris 10.
20842         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20843         Solaris.
20844         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20845         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20846
20847 2011-03-11  Jim Meyering  <meyering@redhat.com>
20848
20849         maint.mk: relax a regexp to accommodate other formatting styles
20850         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20851         between "ngettext" and the following "(".
20852
20853 2011-03-11  Pádraig Brady <P@draigBrady.com>
20854
20855         maint.mk: suppress a false positive warning
20856         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20857         diagnostics are marked with ngettext.
20858
20859 2011-03-10  Eric Blake  <eblake@redhat.com>
20860
20861         wchar: add explicit dependencies, for Tru64
20862         * modules/mbmemcasecoll (Depends-on): Add wchar.
20863         * modules/mbtowc (Depends-on): Likewise.
20864         * modules/vasnprintf (Depends-on): Likewise.
20865         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20866         * modules/wctomb (Depends-on): Likewise.
20867         Reported by Peter O'Gorman.
20868
20869 2011-03-08  Bruno Haible  <bruno@clisp.org>
20870
20871         passfd module, part 1, tweaks.
20872         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20873         Improve indentation. Improve AC_MSG_CHECKING messages.
20874         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20875         gl_SOCKET_FAMILIES.
20876
20877 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20878
20879         passfd module, part 1.
20880         * m4/afunix.m4: New file.
20881         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20882         sockets.
20883
20884 2011-03-08  Bruno Haible  <bruno@clisp.org>
20885
20886         regex-quote: New API.
20887         * lib/regex-quote.h: Include <stdbool.h>.
20888         (struct regex_quote_spec): New type.
20889         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20890         New declarations.
20891         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20892         'const struct regex_quote_spec *' argument.
20893         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20894         (pcre_special): New constant.
20895         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20896         New functions.
20897         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20898         'const struct regex_quote_spec *' argument.
20899         * modules/regex-quote (Depends-on): Add stdbool.
20900         * tests/test-regex-quote.c (check): Update for new API. Add test for
20901         anchored results.
20902         * NEWS: Mention the API change.
20903         Reported by Reuben Thomas and Eric Blake.
20904
20905 2011-03-06  Bruno Haible  <bruno@clisp.org>
20906
20907         regex-quote: Fix creation of POSIX extended regular expressions.
20908         * lib/regex-quote.c (ere_special): Add grouping and alternation
20909         operators.
20910
20911 2011-03-05  Bruno Haible  <bruno@clisp.org>
20912
20913         doc: Improve doc regarding autopoint vs. gnulib.
20914         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20915         disable autopoint while running autoreconf.
20916         Suggested by Ralf Wildenhues.
20917
20918 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20919
20920         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20921         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20922
20923 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20924
20925         parse-duration: remove xalloc.h dependency
20926         * lib/parse-duration.c (parse_period): handle NULL return from
20927         strdup instead of calling xstrdup().
20928         * modules/parse-duration: remove "xalloc" dependency
20929
20930 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20931
20932         bootstrap: honor m4_base when running aclocal
20933         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20934
20935 2011-03-02  Jim Meyering  <meyering@redhat.com>
20936
20937         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20938         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20939         on request from Matt Booth.
20940
20941 2011-03-01  Eric Blake  <eblake@redhat.com>
20942
20943         test-link: work on Hurd
20944         * tests/test-link.h (test_link): Hurd rejects linking directories
20945         with EISDIR instead of the POSIX-mandated EPERM.
20946
20947 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20948
20949         stdio: simplify by moving files to printf-posix, sigpipe
20950         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20951         since this symbol is needed only if printf is replaced.
20952         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20953         Require gl_ASM_SYMBOL_PREFIX.
20954         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20955         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20956         (Depends-on): Add 'raise'.
20957         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20958         * modules/stdio (Files): Remove lib/stdio-write.c,
20959         m4/asm-underscore.m4.
20960         (Depends-on): Remove 'raise'.
20961
20962         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20963         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20964         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20965         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20966
20967 2011-02-28  Bruno Haible  <bruno@clisp.org>
20968
20969         localcharset: Assume ANSI C behaviour of free().
20970         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20971         calling free().
20972         Suggested by Simon Josefsson <simon@josefsson.org>.
20973
20974 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20975             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20976             Bruno Haible  <bruno@clisp.org>  (tiny change)
20977
20978         On Cygwin, use /proc file system instead of win32 API.
20979         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20980         Win32 file names.
20981         (DllMain): Simplify by removing Cygwin specific code.
20982         (find_shared_library_fullname): Use Linux specific implementation also
20983         for Cygwin.
20984         (get_shared_library_fullname): Update accordingly.
20985         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20986         Win32 file names.
20987         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20988         Cygwin specific code.
20989
20990 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20991             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20992
20993         Fix OpenMP flag detection for various Fortran compilers.
20994         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20995         OpenMP-conditional compilation construct, to force compile
20996         failure with missing OpenMP flag.
20997         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20998
20999 2011-02-25  Eric Blake  <eblake@redhat.com>
21000
21001         strstr: expand test coverage
21002         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
21003         compilation.
21004         * tests/test-memmem.c (main): Duplicate tests.
21005         * tests/test-strcasestr.c (main): Likewise.
21006         * tests/test-c-strcasestr.c (main): Likewise.
21007
21008 2011-02-25  Jim Meyering  <meyering@redhat.com>
21009
21010         maint.mk: detect missing-NL-at-EOF, too
21011         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
21012         it also detects when a file lacks a newline at EOF.
21013         (require_exactly_one_NL_at_EOF_): Renamed from
21014         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
21015         since people may well have .x-sc_... file names tied to the
21016         existing name.  Suggested by Eric Blake.
21017
21018 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
21019
21020         dirname: move m4/dos.m4 functionality into lib/dosname.h
21021
21022         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
21023         extracts symbols from it, puts them into config.h; but it's much
21024         easier to use the symbols directly.  filename.h already does this,
21025         but it disagrees with dos.m4 in some respects.  This patch
21026         introduces a different include file dosname.h that packages up
21027         dos.m4, and then later we can work on merging filename.h and
21028         dosname.h.  Applications that need only the easy-to-configure
21029         symbols should consider including dosname.h rather than dirname.h.
21030         * NEWS: Mention incompatible changes.
21031         * m4/dos.m4: Remove.
21032         * lib/dosname.h, modules/dosname: New files.
21033         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
21034         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
21035         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
21036         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
21037         Include dosname.h, not dirname.h.
21038         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
21039         Include dosname.h, for definitions of symbols like ISSLASH
21040         that used to be in config.h.
21041         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
21042         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21043         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21044         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21045         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
21046         * modules/rmdir (Files): Likewise.
21047         * modules/stat (Files): Likewise.
21048         * modules/unlink (Files): Likewise.
21049         * modules/dirname-lgpl (Depends-on): Add dosname.
21050         * modules/lstat (Depends-on): Likewise.
21051         * modules/openat (Depends-on): Likewise.
21052         * modules/rmdir (Depends-on): Likewise.
21053         * modules/savewd (Depends-on): Likewise.
21054         * modules/stat (Depends-on): Likewise.
21055         * modules/unlink (Depends-on): Likewise.
21056         * modules/openat (Depends-on): Remove dirname-lgpl.
21057         * modules/savewd (Depends-on): Likewise.
21058         * tests/test-dirname.c: Do not use removed symbols like
21059         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
21060         the remaining symbols, e.g., ISSLASH ('\\').
21061
21062 2011-02-25  Eric Blake  <eblake@redhat.com>
21063
21064         strstr: revert patches that introduced bug and pessimization
21065         * lib/str-two-way.h: Add another reference.
21066         (two_way_short_needle, two_way_long_needle): Revert changes from
21067         2011-02-24; they pessimize search speed.
21068         (critical_factorization): Partially revert changes from
21069         2010-06-22; they violate the requirement that the left half of the
21070         needle be smaller than the period of the needle.
21071
21072 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21073
21074         filenamecat: remove unnecessary dependency on dirname-lgpl
21075         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
21076         is no direct dependency, just an indirect one via filenamecat-lgpl.
21077
21078         remove: remove unnecessary use of m4/dos.m4
21079         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
21080         * modules/remove (FILES): Remove m4/dos.m4.
21081
21082         * lib/openat-proc.c: Don't include dirname.h; not needed.
21083
21084         backupfile: remove unnecessary use of m4/dos.m4
21085         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
21086         of its symbols are used by the backupfile code.  backupfile.c does
21087         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
21088         for the rare case of programs that want all their backup file
21089         names to live within 8+3 limits, and dos.m4 doesn't address that.
21090         * modules/backupfile (Files): Remove m4/dos.m4.
21091
21092 2011-02-24  Jim Meyering  <meyering@redhat.com>
21093
21094         strstr: fix a bug whereby strstr would mistakenly return NULL
21095         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
21096         in period calculation.
21097         (two_way_long_needle): Likewise.
21098         The original problem was reported by Mike Stump in
21099         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
21100         Ralf Wildenhues provided the short needle and haystack.
21101         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
21102         Add a more involved test to trigger the bug in two_way_long_needle.
21103
21104 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21105
21106         gnulib-tool: remove use of bold display in help screen
21107         * gnulib-tool (func_usage): Do not use bold display anymore in the
21108         help screen.  That was just meant to be a temporary emphasis for a
21109         backward-incompatible change.
21110
21111 2011-02-23  Bruno Haible  <bruno@clisp.org>
21112
21113         Fix misindentation of preprocessor directives.
21114         * lib/argp-namefrob.h: Reindent preprocessor directives.
21115         * lib/getopt_int.h (struct _getopt_data): Likewise.
21116         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
21117         * lib/vasnprintf.c (decode_long_double): Likewise.
21118         * tests/test-argmatch.c: Insert blank lines, for clarity.
21119         * tests/test-exclude.c: Likewise.
21120
21121 2011-02-22  Bruno Haible  <bruno@clisp.org>
21122
21123         ioctl: Fix for MacOS X in 64-bit mode.
21124         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
21125         value.
21126         Suggested by Eric Blake.
21127         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21128
21129 2011-02-22  Jim Meyering  <meyering@redhat.com>
21130
21131         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21132         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21133         in lib/.
21134
21135 2011-02-22  Eric Blake  <eblake@redhat.com>
21136
21137         maint: avoid any CDPATH issue
21138         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21139
21140         maint: adjust cpp indentation for my modules, as well
21141         * Makefile (sc_cpp_indent_check): Add my name.
21142         * lib/fbufmode.c: Filter through cppi.
21143         * lib/fpurge.c: Likewise.
21144         * lib/freadable.c: Likewise.
21145         * lib/freading.c: Likewise.
21146         * lib/fwritable.c: Likewise.
21147         * lib/fwriting.c: Likewise.
21148         * lib/sigaction.c: Likewise.
21149
21150 2011-02-22  Jim Meyering  <meyering@redhat.com>
21151
21152         maint: adjust cpp indentation to reflect nesting depth
21153         I.e., in a block of code that begins with an unnested "#if",
21154         put one space between the "#" in column 1 and following token.
21155         For example,
21156         -#include <sys/vfs.h>
21157         +# include <sys/vfs.h>
21158         Do this only in .c files that are part of a module I maintain.
21159         * lib/linkat.c: Filter through cppi.
21160         * lib/nanosleep.c: Likewise.
21161         * lib/openat.c: Likewise.
21162         * lib/openat-die.c: Likewise.
21163         * lib/dup3.c: Likewise.
21164         * lib/fchownat.c: Likewise.
21165         * lib/flock.c: Likewise.
21166         * lib/fsync.c: Likewise.
21167         * lib/fts.c: Likewise.
21168         * lib/getpass.c: Likewise.
21169         * lib/gettimeofday.c: Likewise.
21170         * lib/userspec.c: Likewise.
21171         * Makefile (sc_cpp_indent_check): New rule, to check this.
21172
21173 2011-02-22  Bruno Haible  <bruno@clisp.org>
21174
21175         New module 'wctomb'.
21176         * lib/stdlib.in.h (wctomb): New declaration.
21177         * lib/wctomb.c: New file.
21178         * lib/wctomb-impl.h: New file.
21179         * m4/wctomb.m4: New file.
21180         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21181         REPLACE_WCTOMB.
21182         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21183         REPLACE_WCTOMB.
21184         * modules/wctomb: New file.
21185         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21186         * doc/posix-functions/wctomb.texi: Mention the new module.
21187         * modules/wctob (Depends-on): Add wctomb.
21188
21189 2011-02-22  Bruno Haible  <bruno@clisp.org>
21190
21191         New module 'mbtowc'.
21192         * lib/stdlib.in.h (mbtowc): New declaration.
21193         * lib/mbtowc.c: New file.
21194         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21195         * m4/mbtowc.m4: New file.
21196         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21197         REPLACE_MBTOWC.
21198         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21199         REPLACE_MBTOWC.
21200         * modules/mbtowc: New file.
21201         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21202         * doc/posix-functions/mbtowc.texi: Mention the new module.
21203         * modules/btowc (Depends-on): Add mbtowc.
21204
21205 2011-02-22  Bruno Haible  <bruno@clisp.org>
21206
21207         wcrtomb: Add more tests for native Windows platforms.
21208         * tests/test-wcrtomb-w32-1.sh: New file.
21209         * tests/test-wcrtomb-w32-2.sh: New file.
21210         * tests/test-wcrtomb-w32-3.sh: New file.
21211         * tests/test-wcrtomb-w32-4.sh: New file.
21212         * tests/test-wcrtomb-w32-5.sh: New file.
21213         * tests/test-wcrtomb-w32.c: New file.
21214         * modules/wcrtomb-tests (Files): Add them.
21215         (Makefile.am): Arrange to run these tests.
21216         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21217         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21218
21219 2011-02-20  Bruno Haible  <bruno@clisp.org>
21220
21221         wcrtomb: Enhance test.
21222         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21223
21224 2011-02-20  Bruno Haible  <bruno@clisp.org>
21225
21226         mbrtowc: Tiny optimization.
21227         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21228
21229 2011-02-20  Jim Meyering  <meyering@redhat.com>
21230
21231         test-exclude.c: remove unmatched #endif
21232         * tests/test-exclude.c: Remove stray #endif, left over from
21233         the change of a week ago.
21234
21235 2011-02-19  Jim Meyering  <meyering@redhat.com>
21236
21237         git-version-gen: skip "-dirty" check when appropriate
21238         * build-aux/git-version-gen: Don't run any git commands when the
21239         version string comes from .tarball-version.  Prior to this, we
21240         would run git update-index --refresh even from a just-unpacked
21241         tarball directory, and that could affect a .git/ directory in a
21242         parent of the build directory.  Reported by Mike Frysinger.
21243
21244 2011-02-19  Bruno Haible  <bruno@clisp.org>
21245
21246         unictype/property-byname: Reduce the size of the 'data' segment.
21247         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21248
21249 2011-02-19  Bruno Haible  <bruno@clisp.org>
21250
21251         unictype/scripts: Reduce the size of the 'data' segment.
21252         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21253         '%pic'.
21254         * lib/unictype/scripts_byname.gperf: Regenerated.
21255
21256 2011-02-19  Bruno Haible  <bruno@clisp.org>
21257
21258         stdint: Update documentation.
21259         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21260
21261 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21262
21263         stdint: omit redundant check for wchar.h
21264         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21265         always tests whether wchar.h exists, so remove the now-redundant test.
21266
21267 2011-02-18  Bruno Haible  <bruno@clisp.org>
21268
21269         stdint: Cut dependency to module 'wchar'.
21270         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21271         include the necessary prerequisites.
21272         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21273         * modules/stdint (Depends-on): Remove wchar.
21274         (Makefile.am): Substitute HAVE_WCHAR_H.
21275         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21276
21277 2011-02-18  Eric Blake  <eblake@redhat.com>
21278
21279         longlong: skip, rather than fail, on cross-compilation
21280         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21281         when cross-compiling; regression from 2011-02-16.
21282
21283 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21284
21285         * NEWS: Mention 2011-02-08 change to stdlib.
21286
21287 2011-02-17  Bruno Haible  <bruno@clisp.org>
21288
21289         getloadavg: Add comments about platforms.
21290         * m4/getloadavg.m4: Add comment.
21291         * lib/getloadavg.c: Likewise.
21292
21293 2011-02-17  Bruno Haible  <bruno@clisp.org>
21294
21295         getloadavg: Fix link error on Solaris 2.6.
21296         * modules/getloadavg (Link): New section.
21297         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21298         linking test-getloadavg.
21299         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21300         getloadavg.
21301
21302 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21303
21304         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21305         It was 'int', but this doesn't match the IRIX 6.5 manual.
21306         Suggested by Bruno Haible in
21307         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21308
21309 2011-02-17  Bruno Haible  <bruno@clisp.org>
21310
21311         havelib: Fix comments.
21312         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21313         change.
21314
21315 2011-02-17  Bruno Haible  <bruno@clisp.org>
21316
21317         havelib: Update config.rpath.
21318         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21319
21320 2011-02-17  Bruno Haible  <bruno@clisp.org>
21321
21322         getloadavg test: Add some plausibility checks.
21323         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21324         is improbable.
21325
21326 2011-02-16  Eric Blake  <eblake@redhat.com>
21327
21328         maintainer-makefile: make syntax-check a no-op from tarballs
21329         * top/maint.mk (no-vc-detected): New rule.
21330         (local-checks-available): Use it to avoid hanging if someone tries
21331         'make syntax-check' from a tarball.  Also append to any non-syntax
21332         checks already defined in cfg.mk.
21333
21334 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21335
21336         longlong: tune, particularly for common case of c99
21337
21338         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21339         or running anything if c99, or if unsigned long long int does not
21340         work.  In either case, we know the answer without further tests.
21341         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21342         it at most once, and use its results for both long long int and
21343         unsigned long long int.  This is more likely to be efficient in
21344         the common case where the program wants to check for both long
21345         long int and unsigned long long int.
21346         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21347         since the answer is already known.
21348
21349 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21350
21351         getloadavg: set errno
21352         * lib/getloadavg.c: Set errno when returning -1.  If no other
21353         error number looks appropriate, set it to ENOSYS if the getloadavg
21354         looks like it can't possibly ever work, ENOTSUP otherwise.
21355         Suggested by Bruno Haible in
21356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21357
21358         getloadavg: trim unused parts and speed up 'configure'
21359         * NEWS: Document this.
21360         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21361         always compiled if getloadavg is absent.
21362         Move test code to ...
21363         * tests/test-getloadavg.c: New file, containing previous
21364         contents of test from lib/getloadavg.c.  It also contains
21365         suggestions by Bruno Haible in
21366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21367         * modules/getloadavg-tests: New file.
21368         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21369         Do tests in the same order as they're needed for getloadavg.c.
21370         Omit setgid-related tests that generate symbols KMEM_GROUP,
21371         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21372         Do only the tests that are needed to see whether the system has
21373         getloadavg, moving the other tests into ...
21374         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21375         NLIST_NAME_UNION; nobody should be using it.  Do not define
21376         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21377         relevant, as the user of this module shouldn't care how getloadavg
21378         is implemented.
21379
21380         getloadavg: omit unused var
21381         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21382
21383 2011-02-15  Jim Meyering  <meyering@redhat.com>
21384
21385         doc: update users.txt
21386         * users.txt: Update iwhd's URL.
21387
21388 2011-02-13  Bruno Haible  <bruno@clisp.org>
21389
21390         Consistent macro naming for macros that use GCC __attribute__.
21391         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21392         _ATTRIBUTE_NONNULL_.
21393         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21394         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21395         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21396         ATTRIBUTE_DEPRECATED.
21397         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21398         ATTRIBUTE_NORETURN.
21399         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21400         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21401         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21402         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21403         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21404         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21405         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21406         ATTRIBUTE_SENTINEL.
21407         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21408         ATTRIBUTE_RETURN_CHECK.
21409         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21410         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21411         ATTRIBUTE_NORETURN.
21412         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21413         Reported by Paul Eggert.
21414
21415 2011-02-13  Bruno Haible  <bruno@clisp.org>
21416
21417         Don't interfere with a program's definition of __attribute__.
21418         * lib/argp.h (__attribute__): Remove definition.
21419         (_GL_ATTRIBUTE_FORMAT): New macro.
21420         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21421         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21422         (_GL_ATTRIBUTE_FORMAT): New macro.
21423         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
21424         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
21425         GCC 3 or newer.
21426         * lib/error.h (__attribute__): Remove definition.
21427         (_GL_ATTRIBUTE_FORMAT): New macro.
21428         (error, error_at_line): Use it.
21429         * lib/hash.h (__attribute__): Remove definition.
21430         (ATTRIBUTE_WUR): Update definition. Define always.
21431         * lib/openat.h (__attribute__): Remove definition.
21432         (ATTRIBUTE_NORETURN): Update definition. Define always.
21433         * lib/sigpipe-die.h (__attribute__): Remove definition.
21434         (ATTRIBUTE_NORETURN): Update definition. Define always.
21435         * lib/vasnprintf.h (__attribute__): Remove definition.
21436         (_GL_ATTRIBUTE_FORMAT): New macro.
21437         (asnprintf, vasnprintf): Use it.
21438         * lib/xalloc.h (__attribute__): Remove definition.
21439         (ATTRIBUTE_NORETURN): Update definition. Define always.
21440         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
21441         * lib/xmemdup0.h (__attribute__): Remove definition.
21442         (ATTRIBUTE_NORETURN): Update definition. Define always.
21443         * lib/xprintf.h (__attribute__): Remove definition.
21444         (_GL_ATTRIBUTE_FORMAT): New macro.
21445         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
21446         * lib/xstrtol.h (__attribute__): Remove definition.
21447         (ATTRIBUTE_NORETURN): Update definition. Define always.
21448         * lib/xvasprintf.h (__attribute__): Remove definition.
21449         (_GL_ATTRIBUTE_FORMAT): New macro.
21450         (xasprintf, xvasprintf): Use it.
21451         * tests/test-argmatch.c (__attribute__): Remove definition.
21452         (ATTRIBUTE_NORETURN): Update definition. Define always.
21453         * tests/test-exclude.c (__attribute__): Remove definition.
21454         (ATTRIBUTE_NORETURN): Update definition. Define always.
21455         Reported by Paul Eggert.
21456
21457 2011-02-13  Bruno Haible  <bruno@clisp.org>
21458
21459         mbrtowc: Add more tests for native Windows platforms.
21460         * tests/test-mbrtowc-w32-1.sh: New file.
21461         * tests/test-mbrtowc-w32-2.sh: New file.
21462         * tests/test-mbrtowc-w32-3.sh: New file.
21463         * tests/test-mbrtowc-w32-4.sh: New file.
21464         * tests/test-mbrtowc-w32-5.sh: New file.
21465         * tests/test-mbrtowc-w32.c: New file.
21466         * modules/mbrtowc-tests (Files): Add them.
21467         (Makefile.am): Arrange to run these tests.
21468         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21469         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21470
21471 2011-02-13  Bruno Haible  <bruno@clisp.org>
21472
21473         mbrtowc: Work around native Windows bug.
21474         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21475         guess when no suitable locale for testing was found.
21476         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21477
21478 2011-02-13  Bruno Haible  <bruno@clisp.org>
21479
21480         mbsinit: Work around mingw bug.
21481         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21482         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21483         Windows.
21484         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21485
21486 2011-02-13  Bruno Haible  <bruno@clisp.org>
21487
21488         mbsinit: Don't crash for a NULL argument.
21489         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21490         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21491
21492 2011-02-13  Bruno Haible  <bruno@clisp.org>
21493
21494         Don't interfere with a program's definition of __attribute__.
21495         * lib/stdio.in.h (__attribute__): Remove definition.
21496         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21497         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21498         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21499         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21500         * lib/string.in.h (__attribute__): Remove definition.
21501         Reported by Paul Eggert.
21502
21503 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21504
21505         stdlib: don't get in the way of non-GCC __attribute__
21506         See thread starting at
21507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21508         Revert previous stdlib change, installing the following instead:
21509         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21510         to get in the way of a non-GCC compiler that supports __attribute__.
21511         (_GL_ATTRIBUTE_RETURN): New macro.
21512         (_Exit): Use it instead of __attribute__.
21513
21514 2011-02-12  Bruno Haible  <bruno@clisp.org>
21515
21516         quotearg test: Avoid test failure on mingw.
21517         * tests/test-quotearg.sh: Convert the locale identifier from native
21518         Windows syntax to Unix syntax.
21519
21520 2011-02-12  Bruno Haible  <bruno@clisp.org>
21521
21522         setlocale: Prefer gnulib's override over libintl's override.
21523         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21524         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21525         GNULIB_defined_setlocale is set.
21526
21527 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21528
21529         stdlib: support non-GCC __attribute__
21530
21531         Fix a serious and tricky problem encountered when attempting to
21532         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21533         5.5, but it crashed due to memory corruption on Solaris 10 with
21534         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21535         bits that are otherwise zero.  This tagging is optional inside
21536         Emacs but is preferred and is used when __attribute__ ((__aligned
21537         (8))) works, as it does with both recent-enough GCC and with Sun C
21538         5.11.  However, Sun C 5.11 is not GCC and does not #define
21539         __GNUC__ and __GNUC_MINOR__.
21540
21541         When I added the getloadavg module to Emacs, it brought in
21542         stdlib.in.h, which contained this fragment:
21543
21544            #ifndef __attribute__
21545            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21546            #  define __attribute__(Spec)   /* empty */
21547            # endif
21548            #endif
21549
21550         When files that include <stdlib.h> were compiled with Sun C 5.11,
21551         the above code disabled __attribute__ ((__aligned (8))), which
21552         caused variables to not be properly aligned, which eventually led
21553         to the pointer corruption mentioned above.  (This was a bit hard
21554         to diagnose, unfortunately.)
21555
21556         Several "#define __attribute__(X) /* empty */" code snippets need
21557         to be eradicated from Gnulib to work with non-GCC compilers that
21558         support __attribute__.  The Autoconf way to do this is to test for
21559         each kind of attribute that we want support for, and selectively
21560         enable that in source code.
21561
21562         Fix this problem just for stdlib.h, by adding a test for the
21563         __noreturn__ attribute, and change stdlib.in.h to use that test
21564         when needed.  This technique can be easily generalized to the
21565         other *.in.h files and attributes, and a similar technique can be
21566         used for *.h and *.c files.  This patch is enough to solve the
21567         problem for Emacs + getloadavg, and I thought I'd publish it for
21568         feedback before undertaking further, similar fixes in other
21569         modules.
21570
21571         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21572         because it's not needed for stdlib.h.  It merely substitutes the
21573         value directly into stdlib.h.  We may well need to #define it, or
21574         similar symbols, for other modules, but it's nice to also have an
21575         option to not #define it for applications like Emacs that do not
21576         need it.
21577
21578         * lib/stdlib.in.h (__attribute__): Do not #define.
21579         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21580         be defined only if the _Exit module is also used.
21581         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21583         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21584         platforms.
21585         * modules/_Exit (Files): Add m4/attribute.m4.
21586         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21587         * m4/attribute.m4: New file.
21588
21589 2011-02-12  Bruno Haible  <bruno@clisp.org>
21590
21591         wcsrtombs: Work around bug on native Windows.
21592         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21593         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21594         instead of len.
21595         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21596
21597 2011-02-12  Bruno Haible  <bruno@clisp.org>
21598
21599         mbsrtowcs: Work around bug on native Windows.
21600         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21601         against mingw bug.
21602         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21603
21604 2011-02-12  Bruno Haible  <bruno@clisp.org>
21605
21606         Avoid setlocale bugs in tests.
21607         * modules/btowc (Dependencies): Add setlocale.
21608         * modules/c-strcase (Dependencies): Likewise.
21609         * modules/mbmemcasecmp (Dependencies): Likewise.
21610         * modules/mbmemcasecoll (Dependencies): Likewise.
21611         * modules/mbrtowc (Dependencies): Likewise.
21612         * modules/mbscasecmp (Dependencies): Likewise.
21613         * modules/mbscasestr (Dependencies): Likewise.
21614         * modules/mbschr (Dependencies): Likewise.
21615         * modules/mbscspn (Dependencies): Likewise.
21616         * modules/mbsinit (Dependencies): Likewise.
21617         * modules/mbsncasecmp (Dependencies): Likewise.
21618         * modules/mbsnrtowcs (Dependencies): Likewise.
21619         * modules/mbspbrk (Dependencies): Likewise.
21620         * modules/mbspcasecmp (Dependencies): Likewise.
21621         * modules/mbsrchr (Dependencies): Likewise.
21622         * modules/mbsrtowcs (Dependencies): Likewise.
21623         * modules/mbsspn (Dependencies): Likewise.
21624         * modules/mbsstr (Dependencies): Likewise.
21625         * modules/nl_langinfo (Dependencies): Likewise.
21626         * modules/quotearg (Dependencies): Likewise.
21627         * modules/unicase/locale-language (Dependencies): Likewise.
21628         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21629         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21630         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21631         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21632         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21633         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21634         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21635         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21636         * modules/vasnprintf-posix (Dependencies): Likewise.
21637         * modules/wcrtomb (Dependencies): Likewise.
21638         * modules/wcsnrtombs (Dependencies): Likewise.
21639         * modules/wcsrtombs (Dependencies): Likewise.
21640
21641 2011-02-12  Bruno Haible  <bruno@clisp.org>
21642
21643         setlocale: Workaround native Windows bug.
21644         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21645         succeeds but sets LC_CTYPE to "C", report a failure.
21646         * tests/test-setlocale2.sh: New file.
21647         * tests/test-setlocale2.c: New file.
21648         * modules/setlocale-tests (Files): Add the new files.
21649         (Makefile.am): Enable test-setlocale2.sh test.
21650         * doc/posix-functions/setlocale.texi: Mention workaround.
21651
21652 2011-02-11  Bruno Haible  <bruno@clisp.org>
21653
21654         Tests for module 'setlocale'.
21655         * modules/setlocale-tests: New file.
21656         * tests/test-setlocale1.sh: New file.
21657         * tests/test-setlocale1.c: New file.
21658
21659         New module 'setlocale'.
21660         * lib/locale.in.h (setlocale): New declaration.
21661         * lib/setlocale.c: New file, based on
21662         gettext/gettext-runtime/intl/setlocale.c.
21663         * m4/setlocale.m4: New file.
21664         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21665         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21666         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21667         REPLACE_SETLOCALE.
21668         * modules/setlocale: New file.
21669         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21670         * doc/posix-functions/setlocale.texi: Mention the new module.
21671
21672 2011-02-11  Bruno Haible  <bruno@clisp.org>
21673
21674         Prepare for locale dependent tests on mingw.
21675         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21676         because it has the wrong locale encoding.
21677         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21678         French_France.1252 instead of "fr".
21679         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21680         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21681         because it has the wrong locale encoding.
21682         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21683         native Windows, try Turkish_Turkey.65001.
21684         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21685         Chinese_China.54936.
21686
21687         Prepare for locale dependent tests on mingw.
21688         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21689         differently.
21690         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21691         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21692         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21693         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21694
21695 2011-02-11  Eric Blake  <eblake@redhat.com>
21696
21697         strptime: avoid compiler warnings
21698         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21699         compiler warnings about dead code.
21700         Reported by Daniel P. Berrange.
21701
21702 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21703
21704         doc: update users.txt
21705         * users.txt: Add rcs.
21706
21707 2011-02-10  John W. Eaton  <jwe@gnu.org>
21708
21709         doc: update users.txt
21710         * users.txt: Add octave.
21711
21712 2011-02-10  Jim Meyering  <meyering@redhat.com>
21713
21714         doc: update users.txt
21715         * users.txt: Add iwhd.
21716
21717 2011-02-09  Bruno Haible  <bruno@clisp.org>
21718
21719         gnulib-tool: Make copyright notice adjustment more robust.
21720         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21721         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21722         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21723         License".
21724         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21725
21726 2011-02-06  Bruno Haible  <bruno@clisp.org>
21727
21728         New module 'towctrans'.
21729         * modules/towctrans: New file.
21730         * lib/wctype.in.h (towctrans): New declaration.
21731         * lib/towctrans.c: New file.
21732         * lib/towctrans-impl.h: New file.
21733         * m4/towctrans.m4: New file.
21734         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21735         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21736         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21737         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21738         * doc/posix-functions/towctrans.texi: Mention the new module.
21739
21740 2011-02-06  Bruno Haible  <bruno@clisp.org>
21741
21742         New module 'wctrans'.
21743         * modules/wctrans: New file.
21744         * lib/wctype.in.h (wctrans): New declaration.
21745         * lib/wctrans.c: New file.
21746         * lib/wctrans-impl.h: New file.
21747         * m4/wctrans.m4: New file.
21748         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21749         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21750         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21751         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21752         * doc/posix-functions/wctrans.texi: Mention the new module.
21753
21754 2011-02-06  Bruno Haible  <bruno@clisp.org>
21755
21756         New module 'iswctype'.
21757         * modules/iswctype: New file.
21758         * lib/wctype.in.h (iswctype): New declaration.
21759         * lib/iswctype.c: New file.
21760         * lib/iswctype-impl.h: New file.
21761         * m4/iswctype.m4: New file.
21762         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21763         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21764         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21765         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21766         * doc/posix-functions/iswctype.texi: Mention the new module and the
21767         HP-UX 11.00 problem.
21768
21769 2011-02-06  Bruno Haible  <bruno@clisp.org>
21770
21771         New module 'wctype'.
21772         * modules/wctype: Change to represent the wctype() substitute.
21773         * lib/wctype.in.h (wctype): New declaration.
21774         * lib/wctype.c: New file.
21775         * lib/wctype-impl.h: New file.
21776         * m4/wctype.m4: New file.
21777         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21778         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21779         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21780         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21781         * doc/posix-functions/wctype.texi: Mention the new module and the
21782         HP-UX 11.00 problem.
21783
21784 2011-02-06  Bruno Haible  <bruno@clisp.org>
21785
21786         wctype-h: Ensure wctype_t and wctrans_t are defined.
21787         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21788         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21789         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21790         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21791         HAVE_WCTRANS_T.
21792         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21793
21794 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21795
21796         flock: fix license typo
21797
21798         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21799         omitted.
21800
21801 2011-02-08  Bruno Haible  <bruno@clisp.org>
21802
21803         Split large sed scripts, for HP-UX sed.
21804         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21805         to avoid HP-UX limit of 99 commands, in the near future.
21806         * modules/stdlib (Makefile.am): Likewise.
21807         * modules/unistd (Makefile.am): Likewise.
21808         * modules/wchar (Makefile.am): Likewise.
21809         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21810         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21811         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21812
21813 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21814             Bruno Haible  <bruno@clisp.org>
21815
21816         stdlib: improve random_r modularization
21817         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21818         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21819         you also need the random_r module to get this material right.
21820         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21821         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21822         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21823
21824 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21825
21826         stdlib: don't depend on stdint
21827         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21828         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21829         be independent of whether stdint.h is needed.
21830         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21831         here, instead of ...
21832         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21833         struct random_data should be using the random_r module, not just
21834         the stdlib module (which wouldn't make sense: what package needs
21835         just struct random_data without also needing random_r?).
21836         * modules/stdlib (Depends-on): Remove stdint.
21837
21838         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21839         See the thread rooted at
21840         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21841         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21842         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21843         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21844         __VMS)); previously it was always included (via fcntl--.h).
21845         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21846         hand; this is good enough for load averages.  Also, do not use
21847         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21848         flags directly if available and don't bother otherwise.  (Packages
21849         that need the extra reliability should use the modules that define
21850         these flags on older platforms that lack them.)
21851         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21852         fcntl-safer.
21853
21854 2011-02-08  Jim Meyering  <meyering@redhat.com>
21855
21856         di-set.h, ino-map.h: add multiple-inclusion guard
21857         Technically, the guard is required only for ino-map.h, due to its
21858         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21859         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21860         * lib/ino-map.h: Likewise.
21861
21862 2011-02-06  Bruno Haible  <bruno@clisp.org>
21863
21864         iswblank: Ensure declaration on glibc systems.
21865         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21866         * modules/iswblank (Dependencies): Add 'extensions'.
21867         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21868
21869 2011-02-06  Bruno Haible  <bruno@clisp.org>
21870
21871         New module 'iswblank'.
21872         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21873         * modules/iswblank: New file.
21874         * modules/wctype-h (Files): Remove lib/iswblank.c.
21875         (Makefile.am): Substitute GNULIB_ISWBLANK.
21876         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21877         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21878         (gl_WCTYPE_H_DEFAULTS): New macro.
21879         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21880         * modules/iswblank-tests: New file.
21881         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21882         * tests/test-wctype-h.c (main): Remove iswblank tests.
21883         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21884         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21885         of 'wctype-h'.
21886         * NEWS: Mention the change.
21887         * modules/mbchar (Depends-on): Add iswblank.
21888
21889 2011-02-08  Bruno Haible  <bruno@clisp.org>
21890
21891         di-set tests: Refactor.
21892         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21893         unnecessary includes.
21894         (ASSERT): Remove macro.
21895         (main): Make C90 compliant by avoiding variable declaration after
21896         statement.
21897         * modules/di-set-tests (Files): Add tests/macros.h.
21898
21899 2011-02-08  Bruno Haible  <bruno@clisp.org>
21900
21901         ino-map tests: Refactor.
21902         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21903         unnecessary includes.
21904         (ASSERT): Remove macro.
21905         (main): Make C90 compliant by avoiding variable declaration after
21906         statement.
21907         * modules/ino-map-tests (Files): Add tests/macros.h.
21908
21909 2011-02-08  Jim Meyering  <meyering@redhat.com>
21910
21911         di-set: add "const" to a cast
21912         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21913         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21914
21915 2011-02-06  Bruno Haible  <bruno@clisp.org>
21916
21917         Rename module 'wctype' to 'wctype-h'.
21918         * modules/wctype-h: Renamed from modules/wctype.
21919         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21920         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21921         (Files, Depends-on, Makefile.am): Update.
21922         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21923         (Files, Makefile.am): Update.
21924         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21925         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21926         * doc/posix-headers/wctype.texi: Update.
21927         * doc/posix-functions/iswalnum.texi: Update.
21928         * doc/posix-functions/iswalpha.texi: Update.
21929         * doc/posix-functions/iswblank.texi: Update.
21930         * doc/posix-functions/iswcntrl.texi: Update.
21931         * doc/posix-functions/iswdigit.texi: Update.
21932         * doc/posix-functions/iswgraph.texi: Update.
21933         * doc/posix-functions/iswlower.texi: Update.
21934         * doc/posix-functions/iswprint.texi: Update.
21935         * doc/posix-functions/iswpunct.texi: Update.
21936         * doc/posix-functions/iswspace.texi: Update.
21937         * doc/posix-functions/iswupper.texi: Update.
21938         * doc/posix-functions/iswxdigit.texi: Update.
21939         * doc/posix-functions/towlower.texi: Update.
21940         * doc/posix-functions/towupper.texi: Update.
21941         * NEWS: Mention the change.
21942         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21943         * modules/mbchar (Dependencies): Likewise.
21944         * modules/mbswidth (Dependencies): Likewise.
21945         * modules/quotearg (Dependencies): Likewise.
21946         * modules/regex (Dependencies): Likewise.
21947         * modules/wcscasecmp (Dependencies): Likewise.
21948         * modules/wcsncasecmp (Dependencies): Likewise.
21949         * modules/wcwidth (Dependencies): Likewise.
21950
21951 2011-02-06  Bruno Haible  <bruno@clisp.org>
21952
21953         New module 'wcswidth'.
21954         * modules/wcswidth: New file.
21955         * lib/wchar.in.h (wcswidth): New declaration.
21956         * lib/wcswidth.c: New file.
21957         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21958         * m4/wcswidth.m4: New file.
21959         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21960         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21961         REPLACE_WCSWIDTH.
21962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21963         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21964         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21965         * doc/posix-functions/wcswidth.texi: Mention the new module.
21966
21967 2011-02-06  Bruno Haible  <bruno@clisp.org>
21968
21969         New module 'wcstok'.
21970         * modules/wcstok: New file.
21971         * lib/wchar.in.h (wcstok): New declaration.
21972         * lib/wcstok.c: New file.
21973         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21974         * m4/wcstok.m4: New file.
21975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21977         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21978         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21979         * doc/posix-functions/wcstok.texi: Mention the new module.
21980
21981 2011-02-06  Bruno Haible  <bruno@clisp.org>
21982
21983         New module 'wcsstr'.
21984         * modules/wcsstr: New file.
21985         * lib/wchar.in.h (wcsstr): New declaration.
21986         * lib/wcsstr.c: New file.
21987         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21988         * m4/wcsstr.m4: New file.
21989         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21990         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21991         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21992         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21993         * doc/posix-functions/wcsstr.texi: Mention the new module.
21994
21995 2011-02-06  Bruno Haible  <bruno@clisp.org>
21996
21997         New module 'wcspbrk'.
21998         * modules/wcspbrk: New file.
21999         * lib/wchar.in.h (wcspbrk): New declaration.
22000         * lib/wcspbrk.c: New file.
22001         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
22002         * m4/wcspbrk.m4: New file.
22003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
22004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
22005         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
22006         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
22007         * doc/posix-functions/wcspbrk.texi: Mention the new module.
22008
22009 2011-02-06  Bruno Haible  <bruno@clisp.org>
22010
22011         New module 'wcsspn'.
22012         * modules/wcsspn: New file.
22013         * lib/wchar.in.h (wcsspn): New declaration.
22014         * lib/wcsspn.c: New file.
22015         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
22016         * m4/wcsspn.m4: New file.
22017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
22018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
22019         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
22020         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
22021         * doc/posix-functions/wcsspn.texi: Mention the new module.
22022
22023 2011-02-06  Bruno Haible  <bruno@clisp.org>
22024
22025         New module 'wcscspn'.
22026         * modules/wcscspn: New file.
22027         * lib/wchar.in.h (wcscspn): New declaration.
22028         * lib/wcscspn.c: New file.
22029         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
22030         * m4/wcscspn.m4: New file.
22031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
22032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
22033         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
22034         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
22035         * doc/posix-functions/wcscspn.texi: Mention the new module.
22036
22037 2011-02-06  Bruno Haible  <bruno@clisp.org>
22038
22039         New module 'wcsrchr'.
22040         * modules/wcsrchr: New file.
22041         * lib/wchar.in.h (wcsrchr): New declaration.
22042         * lib/wcsrchr.c: New file.
22043         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
22044         * m4/wcsrchr.m4: New file.
22045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
22046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
22047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
22048         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
22049         * doc/posix-functions/wcsrchr.texi: Mention the new module.
22050
22051 2011-02-06  Bruno Haible  <bruno@clisp.org>
22052
22053         New module 'wcschr'.
22054         * modules/wcschr: New file.
22055         * lib/wchar.in.h (wcschr): New declaration.
22056         * lib/wcschr.c: New file.
22057         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
22058         * m4/wcschr.m4: New file.
22059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
22060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
22061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
22062         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
22063         * doc/posix-functions/wcschr.texi: Mention the new module.
22064
22065 2011-02-06  Bruno Haible  <bruno@clisp.org>
22066
22067         New module 'wcsdup'.
22068         * modules/wcsdup: New file.
22069         * lib/wchar.in.h (wcsdup): New declaration.
22070         * lib/wcsdup.c: New file.
22071         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
22072         * m4/wcsdup.m4: New file.
22073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
22074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
22075         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
22076         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
22077         * doc/posix-functions/wcsdup.texi: Mention the new module.
22078
22079 2011-02-06  Bruno Haible  <bruno@clisp.org>
22080
22081         New module 'wcsxfrm'.
22082         * modules/wcsxfrm: New file.
22083         * lib/wchar.in.h (wcsxfrm): New declaration.
22084         * lib/wcsxfrm.c: New file.
22085         * lib/wcsxfrm-impl.h: New file.
22086         * m4/wcsxfrm.m4: New file.
22087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
22088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
22089         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
22090         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
22091         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
22092
22093 2011-02-06  Bruno Haible  <bruno@clisp.org>
22094
22095         New module 'wcscoll'.
22096         * modules/wcscoll: New file.
22097         * lib/wchar.in.h (wcscoll): New declaration.
22098         * lib/wcscoll.c: New file.
22099         * lib/wcscoll-impl.h: New file.
22100         * m4/wcscoll.m4: New file.
22101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
22102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
22103         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
22104         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
22105         * doc/posix-functions/wcscoll.texi: Mention the new module.
22106
22107 2011-02-06  Bruno Haible  <bruno@clisp.org>
22108
22109         New module 'wcsncasecmp'.
22110         * modules/wcsncasecmp: New file.
22111         * lib/wchar.in.h (wcsncasecmp): New declaration.
22112         * lib/wcsncasecmp.c: New file.
22113         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
22114         * m4/wcsncasecmp.m4: New file.
22115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
22116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
22117         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
22118         HAVE_WCSNCASECMP.
22119         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
22120         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
22121
22122 2011-02-06  Bruno Haible  <bruno@clisp.org>
22123
22124         New module 'wcscasecmp'.
22125         * modules/wcscasecmp: New file.
22126         * lib/wchar.in.h (wcscasecmp): New declaration.
22127         * lib/wcscasecmp.c: New file.
22128         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22129         * m4/wcscasecmp.m4: New file.
22130         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22131         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22132         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22133         HAVE_WCSCASECMP.
22134         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22135         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22136
22137 2011-02-05  Bruno Haible  <bruno@clisp.org>
22138
22139         New module 'wcsncmp'.
22140         * modules/wcsncmp: New file.
22141         * lib/wchar.in.h (wcsncmp): New declaration.
22142         * lib/wcsncmp.c: New file.
22143         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22144         * m4/wcsncmp.m4: New file.
22145         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22146         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22147         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22148         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22149         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22150
22151 2011-02-05  Bruno Haible  <bruno@clisp.org>
22152
22153         New module 'wcscmp'.
22154         * modules/wcscmp: New file.
22155         * lib/wchar.in.h (wcscmp): New declaration.
22156         * lib/wcscmp.c: New file.
22157         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22158         * m4/wcscmp.m4: New file.
22159         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22160         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22161         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22162         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22163         * doc/posix-functions/wcscmp.texi: Mention the new module.
22164
22165 2011-02-05  Bruno Haible  <bruno@clisp.org>
22166
22167         New module 'wcsncat'.
22168         * modules/wcsncat: New file.
22169         * lib/wchar.in.h (wcsncat): New declaration.
22170         * lib/wcsncat.c: New file.
22171         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22172         * m4/wcsncat.m4: New file.
22173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22175         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22176         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22177         * doc/posix-functions/wcsncat.texi: Mention the new module.
22178
22179 2011-02-05  Bruno Haible  <bruno@clisp.org>
22180
22181         New module 'wcscat'.
22182         * modules/wcscat: New file.
22183         * lib/wchar.in.h (wcscat): New declaration.
22184         * lib/wcscat.c: New file.
22185         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22186         * m4/wcscat.m4: New file.
22187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22189         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22190         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22191         * doc/posix-functions/wcscat.texi: Mention the new module.
22192
22193 2011-02-05  Bruno Haible  <bruno@clisp.org>
22194
22195         New module 'wcpncpy'.
22196         * modules/wcpncpy: New file.
22197         * lib/wchar.in.h (wcpncpy): New declaration.
22198         * lib/wcpncpy.c: New file.
22199         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22200         * m4/wcpncpy.m4: New file.
22201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22203         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22204         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22205         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22206
22207 2011-02-05  Bruno Haible  <bruno@clisp.org>
22208
22209         New module 'wcsncpy'.
22210         * modules/wcsncpy: New file.
22211         * lib/wchar.in.h (wcsncpy): New declaration.
22212         * lib/wcsncpy.c: New file.
22213         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22214         * m4/wcsncpy.m4: New file.
22215         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22216         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22218         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22219         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22220
22221 2011-02-05  Bruno Haible  <bruno@clisp.org>
22222
22223         New module 'wcpcpy'.
22224         * modules/wcpcpy: New file.
22225         * lib/wchar.in.h (wcpcpy): New declaration.
22226         * lib/wcpcpy.c: New file.
22227         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22228         * m4/wcpcpy.m4: New file.
22229         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22230         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22231         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22232         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22233         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22234
22235 2011-02-05  Bruno Haible  <bruno@clisp.org>
22236
22237         New module 'wcscpy'.
22238         * modules/wcscpy: New file.
22239         * lib/wchar.in.h (wcscpy): New declaration.
22240         * lib/wcscpy.c: New file.
22241         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22242         * m4/wcscpy.m4: New file.
22243         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22244         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22245         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22246         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22247         * doc/posix-functions/wcscpy.texi: Mention the new module.
22248
22249 2011-02-05  Bruno Haible  <bruno@clisp.org>
22250
22251         New module 'wcsnlen'.
22252         * modules/wcsnlen: New file.
22253         * lib/wchar.in.h (wcsnlen): New declaration.
22254         * lib/wcsnlen.c: New file.
22255         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22256         * m4/wcsnlen.m4: New file.
22257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22259         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22260         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22261         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22262
22263 2011-02-05  Bruno Haible  <bruno@clisp.org>
22264
22265         New module 'wcslen'.
22266         * modules/wcslen: New file.
22267         * lib/wchar.in.h (wcslen): New declaration.
22268         * lib/wcslen.c: New file.
22269         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22270         * m4/wcslen.m4: New file.
22271         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22272         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22273         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22274         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22275         * doc/posix-functions/wcslen.texi: Mention the new module.
22276
22277 2011-02-05  Bruno Haible  <bruno@clisp.org>
22278
22279         New module 'wmemset'.
22280         * modules/wmemset: New file.
22281         * lib/wchar.in.h (wmemset): New declaration.
22282         * lib/wmemset.c: New file.
22283         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22284         * m4/wmemset.m4: New file.
22285         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22286         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22287         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22288         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22289         * doc/posix-functions/wmemset.texi: Mention the new module.
22290
22291 2011-02-05  Bruno Haible  <bruno@clisp.org>
22292
22293         New module 'wmemmove'.
22294         * modules/wmemmove: New file.
22295         * lib/wchar.in.h (wmemmove): New declaration.
22296         * lib/wmemmove.c: New file.
22297         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22298         * m4/wmemmove.m4: New file.
22299         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22300         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22301         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22302         HAVE_WMEMMOVE.
22303         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22304         * doc/posix-functions/wmemmove.texi: Mention the new module.
22305
22306 2011-02-05  Bruno Haible  <bruno@clisp.org>
22307
22308         New module 'wmemcpy'.
22309         * modules/wmemcpy: New file.
22310         * lib/wchar.in.h (wmemcpy): New declaration.
22311         * lib/wmemcpy.c: New file.
22312         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22313         * m4/wmemcpy.m4: New file.
22314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22316         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22317         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22318         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22319
22320 2011-02-05  Bruno Haible  <bruno@clisp.org>
22321
22322         New module 'wmemcmp'.
22323         * modules/wmemcmp: New file.
22324         * lib/wchar.in.h (wmemcmp): New declaration.
22325         * lib/wmemcmp.c: New file.
22326         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22327         * m4/wmemcmp.m4: New file.
22328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22330         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22331         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22332         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22333
22334 2011-02-07  Jim Meyering  <meyering@redhat.com>
22335
22336         di-set, ino-map: new modules, from coreutils
22337         * lib/di-set.c: New file.
22338         * lib/di-set.h: Likewise.
22339         * lib/ino-map.c: Likewise.
22340         * lib/ino-map.h: Likewise.
22341         * modules/di-set: Likewise.
22342         * modules/di-set-tests: Likewise.
22343         * modules/ino-map: Likewise.
22344         * modules/ino-map-tests: Likewise.
22345         * tests/test-di-set.c: Likewise.
22346         * tests/test-ino-map.c: Likewise.
22347
22348 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22349
22350         getloadavg: merge minor changes from Emacs
22351
22352         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22353         (getloadavg): Use memset, not bzero.
22354
22355         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22356         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22357         clash (bug#86).
22358
22359 2010-11-14  Bruno Haible  <bruno@clisp.org>
22360
22361         Allow multiple gnulib generated replacements to coexist.
22362         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22363         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22364         * lib/langinfo.in.h (nl_item): Likewise.
22365         * lib/math.in.h (_NaN, NAN): Likewise.
22366         * lib/netdb.in.h (struct addrinfo): Likewise.
22367         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22368         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22369         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22370         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22371         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22372         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22373         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22374         pthread_mutexattr_init, pthread_mutexattr_settype,
22375         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22376         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22377         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22378         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22379         * lib/sched.in.h (struct sched_param): Likewise.
22380         * lib/se-selinux.in.h (security_class_t, security_context_t,
22381         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22382         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22383         lsetfilecon, fsetfilecon, security_check_context,
22384         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22385         Likewise.
22386         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22387         Likewise.
22388         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22389         _gl_function_taking_int_returning_void_t, union sigval,
22390         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22391         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22392         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22393         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22394         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22395         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22396         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22397         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22398         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22399         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22400         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22401         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22402         socklen_t, rpl_fd_isset): Likewise.
22403         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22404         * lib/sys_time.in.h (struct timeval): Likewise.
22405         * lib/sys_times.in.h (struct tms): Likewise.
22406         * lib/sys_utsname.in.h (struct utsname):
22407         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22408         * lib/unistd.in.h (getpagesize): Likewise.
22409         * lib/wchar.in.h (mbstate_t): Likewise.
22410         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22411         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22412         towlower, towupper): Likewise.
22413         Reported by Sam Steingold <sds@gnu.org>.
22414
22415 2011-02-05  Eric Blake  <eblake@redhat.com>
22416
22417         unsetenv: work around Haiku issues
22418         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22419         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22420
22421 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22422
22423         libposix: avoid calling error() within libposix
22424         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
22425         is defined.
22426
22427 2011-02-05  Eric Blake  <eblake@redhat.com>
22428
22429         strerror_r-posix: port to cygwin
22430         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
22431         implementation.
22432         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
22433         * tests/test-strerror_r.c (main): Fix test.
22434         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
22435         issue.
22436
22437 2011-02-05  Bruno Haible  <bruno@clisp.org>
22438
22439         New module 'wmemchr'.
22440         * modules/wmemchr: New file.
22441         * lib/wchar.in.h (wmemchr): New declaration.
22442         * lib/wmemchr.c: New file.
22443         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
22444         * m4/wmemchr.m4: New file.
22445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
22446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
22447         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
22448         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
22449         * doc/posix-functions/wmemchr.texi: Mention the new module.
22450
22451 2011-02-04  Eric Blake  <eblake@redhat.com>
22452
22453         fdopendir: detect FreeBSD bug
22454         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
22455         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
22456
22457 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22458
22459         stdbool: do not define HAVE_STDBOOL_H
22460         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22461         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22462         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22463         imported from the latest Autoconf git.  It was motivated by Emacs,
22464         which uses gnulib but does not need HAVE_STDBOOL_H.
22465
22466 2011-02-04  Bruno Haible  <bruno@clisp.org>
22467
22468         wcsnrtombs: Prepare for new module wwcsnrtombs.
22469         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22470         * lib/wcsnrtombs.c: Include it.
22471         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22472
22473         wcsrtombs: Prepare for new module wwcsrtombs.
22474         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22475         * lib/wcsrtombs.c: Include it.
22476         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22477
22478         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22479         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22480         * lib/mbsnrtowcs.c: Include it.
22481         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22482
22483         mbsrtowcs: Prepare for new module mbsrtowwcs.
22484         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22485         * lib/mbsrtowcs.c: Include it.
22486         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22487
22488 2011-02-04  Bruno Haible  <bruno@clisp.org>
22489
22490         vasnprintf: Reduce use of malloc for small format strings.
22491         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22492         (arguments): Add room for the first 7 arguments.
22493         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22494         (char_directives, u8_directives, u16_directives, u32_directives): Add
22495         room for the first 7 directives.
22496         * lib/printf-parse.c: Include <string.h>.
22497         (PRINTF_PARSE): Change memory handling code so that it uses the first
22498         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22499         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22500         Reported by Pádraig Brady <P@draigbrady.com>.
22501
22502 2011-01-31  Eric Blake  <eblake@redhat.com>
22503
22504         dup2: work around Haiku bug
22505         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22506         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22507         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22508         * tests/test-dup2.c (main): Enhance test.
22509
22510 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22511
22512         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22513         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22514         declared by eglibc 2.11.2.
22515         * lib/stdio.in.h: Likewise.
22516
22517 2011-01-31  Eric Blake  <eblake@redhat.com>
22518
22519         ignore-value: add missing test dependency
22520         * tests/test-ignore-value.c: Revert previous change; stdio.h
22521         provides off_t.
22522         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22523
22524 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22525
22526         mktime: clarify long_int width checking
22527         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22528         the top level, to make it clearer that the assumption about
22529         long_int width is being checked.  See
22530         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22531
22532 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22533
22534         ignore-value: Fix self-test.
22535         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22536
22537 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22538
22539         TYPE_MAXIMUM: avoid theoretically undefined behavior
22540         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22541         negative number, which the C Standard says has undefined behavior.
22542         In practice this is not a problem, but might as well do it by the book.
22543         Reported by Rich Felker and Eric Blake; see
22544         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22545         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22546         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22547         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22548         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22549         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22550         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22551
22552         mktime: #undef mktime before #defining it
22553         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22554
22555         mktime: systematically normalize tm_isdst comparisons
22556         * lib/mktime.c (isdst_differ): New function.
22557         (__mktime_internal): Use it systematically for all isdst comparisons.
22558         This completes the fix for libc BZ #6723, and removes the need for
22559         normalizing tm_isdst.  See
22560         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22561         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22562
22563         mktime: fix some integer overflow issues and sidestep the rest
22564
22565         This was prompted by a bug report by Benjamin Lindner for MinGW
22566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22567         His bug is due to signed integer overflow (0 - INT_MIN), and I
22568         I scanned through mktime.c looking for other integer overflow
22569         problems, fixing all the bugs I found.
22570
22571         Although the C Standard says the resulting code is still not safe
22572         in the presence of integer overflow, in practice it should be good
22573         enough for all real-world two's-complement implementations, except
22574         for debugging environments that deliberately trap on integer
22575         overflow (e.g., gcc -ftrapv).
22576
22577         * lib/mktime.c (WRAPV): New macro.
22578         (SHR): Also check that long_int and time_t shift right in the
22579         usual way, before using the fast-but-unportable method.
22580         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22581         used.  The code already assumed two's complement, so there's
22582         no need to test for alternatives.  All uses removed.
22583         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22584         the C standard.  Problem reported by Rich Felker in
22585         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22586         (twos_complement_arithmetic): Also check long_int and time_t.
22587         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22588         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22589         (__mktime_internal): Avoid integer overflow with unary subtraction
22590         in two instances where -1 - X is an adequate replacement for -X,
22591         since the calculations are approximate.
22592
22593 2011-01-29  Eric Blake  <eblake@redhat.com>
22594
22595         mktime: avoid infinite loop
22596         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22597         type; behavior is still undefined but portable to all known targets.
22598         Reported by Rich Felker.
22599
22600 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22601
22602         rename, unlink, same-inode: Relicense.
22603         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22604         * modules/unlink (License): Likewise.
22605         * modules/same-inode (License): Likewise.
22606
22607 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22608
22609         mktime: avoid problems on NetBSD 5 / i386
22610         * lib/mktime.c (long_int): New type.  This works around a problem
22611         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22612         but time_t is 64 bits, and where I expect the existing code is
22613         wrong in some cases.
22614         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22615         (ydhms_diff): Bring back the compile-time check for wide-enough
22616         year and yday.
22617
22618         mktime: fix misspelling in comment
22619         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22620         This merges all recent glibc changes of importance.
22621
22622 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22623
22624         move-if-change: cope with concurrent mv of identical file.
22625         * build-aux/move-if-change (CMPPROG): Accept environment
22626         variable as an override for `cmp'.
22627         (usage): Document CMPPROG.
22628         Adjust comparison to drop stdout.  Cope with failure of mv if
22629         the target file exists and is identical to the source, for
22630         parallel builds.
22631         Report from H.J. Lu against binutils in PR binutils/12283.
22632
22633 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22634
22635         * users.txt: Mention sharutils.
22636
22637 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22638
22639         * users.txt: Mention OATH Toolkit.
22640
22641 2011-01-27  Bruno Haible  <bruno@clisp.org>
22642
22643         Prepare for supporting FreeBSD 10.
22644         * build-aux/config.libpath: Remove handling of freebsd1*.
22645
22646 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22647
22648         Prepare for supporting FreeBSD 10.
22649         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22650         match FreeBSD 10.0.
22651
22652 2011-01-27  Bruno Haible  <bruno@clisp.org>
22653
22654         vma-iter, get-rusage-as: Add OpenBSD support.
22655         * modules/vma-iter (configure.ac): Test for mquery.
22656         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22657         * lib/vma-iter.c: Include <sys/mman.h>.
22658         (vma_iterate): Add an implementation based on mquery().
22659         * lib/resource-ext.h (get_rusage_as): Update comments.
22660         * lib/get-rusage-as.c: Likewise.
22661         * lib/get-rusage-data.c: Likewise.
22662
22663 2011-01-26  Karl Berry  <karl@gnu.org>
22664
22665         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22666         variables to make it easier to override the makeinfo program used.
22667
22668 2011-01-26  Eric Blake  <eblake@redhat.com>
22669
22670         fcntl: work around Haiku F_DUPFD bugs
22671         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22672         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22673         cloexec bit on duplication.
22674         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22675
22676 2011-01-26  Bruno Haible  <bruno@clisp.org>
22677
22678         Enable memory leak tests on AIX.
22679         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22680         * tests/test-fprintf-posix3.c (main): Likewise.
22681
22682 2011-01-26  Bruno Haible  <bruno@clisp.org>
22683
22684         Tests for module 'get-rusage-data'.
22685         * modules/get-rusage-data-tests: New file.
22686         * tests/test-get-rusage-data.c: New file.
22687
22688         New module 'get-rusage-data'.
22689         * lib/resource-ext.h (get_rusage_data): New declaration.
22690         * lib/get-rusage-data.c: New file.
22691         * modules/get-rusage-data: New file.
22692
22693 2011-01-25  Bruno Haible  <bruno@clisp.org>
22694
22695         get-rusage-as: Allow for easier testing.
22696         * lib/resource-ext.h (get_rusage_as): Add comment.
22697         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22698         (main): New function for interactive testing.
22699
22700 2011-01-25  Bruno Haible  <bruno@clisp.org>
22701
22702         vma-iter: Treat Haiku like BeOS.
22703         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22704         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22705
22706 2011-01-25  Eric Blake  <eblake@redhat.com>
22707
22708         c-stack: fix regression on cygwin when libsigsegv is present
22709         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22710
22711 2011-01-24  Bruno Haible  <bruno@clisp.org>
22712
22713         vma-iter: Avoid empty intervals.
22714         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22715         on an empty interval.
22716
22717 2011-01-24  Jim Meyering  <meyering@redhat.com>
22718
22719         u64: remove unnecessary #include
22720         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22721
22722 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22723
22724         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22725         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22726
22727 2011-01-23  Bruno Haible  <bruno@clisp.org>
22728
22729         New module 'vma-iter'.
22730         * lib/vma-iter.h: New file.
22731         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22732         * modules/vma-iter: New file.
22733         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22734         for get_rusage_as_via_iterator.
22735         (vma_iterate_callback): New function.
22736         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22737         * modules/get-rusage-as (Depends-on): Add vma-iter.
22738
22739 2011-01-23  Bruno Haible  <bruno@clisp.org>
22740
22741         uninorm: Tweak includes.
22742         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22743         Reported by Jim Meyering.
22744
22745 2011-01-23  Bruno Haible  <bruno@clisp.org>
22746
22747         get-rusage-as: Improve on NetBSD.
22748         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22749         /proc, like on FreeBSD.
22750
22751 2011-01-23  Jim Meyering  <meyering@redhat.com>
22752
22753         xreadlink.h: remove unnecessary #include
22754         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22755
22756         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22757         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22758
22759 2011-01-23  Bruno Haible  <bruno@clisp.org>
22760
22761         get-rusage-as: Fix bug.
22762         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22763         original limit when aborting the first loop.
22764
22765 2011-01-23  Bruno Haible  <bruno@clisp.org>
22766
22767         wctype: Ensure valid C syntax.
22768         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22769         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22770
22771 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22772
22773         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22774         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22775         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22776         as they are needed only for configure's test case.
22777         This removes two unnecessary symbols from config.h.
22778
22779         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22780         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22782         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22783         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22784         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22785         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22786         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22787         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22788         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22789         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22790         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22791         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22792         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22793         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22794         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22795         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22796         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22797
22798 2011-01-21  Eric Blake  <eblake@redhat.com>
22799
22800         maintainer-makefile: work with older git for submodule check
22801         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22802         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22803         Reported by Matthias Bolte.
22804
22805         bootstrap: minor portability fixes
22806         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22807         (usage): Omit leading capital and trailing . on help phrases, per
22808         GNU Coding Standards.
22809         (check_versions, top level): Prefix messages with script name.
22810
22811 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22812
22813         bootstrap: support --no-git option
22814         * build-aux/bootstrap: Add --no-git option, to be used when
22815         --gnulib-srcdir points to the exact desired checkout.
22816
22817 2011-01-21  Eric Blake  <eblake@redhat.com>
22818
22819         strerror_r-posix: work with glibc 2.13
22820         * lib/strerror_r.c (strerror_r): Fix return type.
22821
22822 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22823             Bruno Haible  <bruno@clisp.org>
22824
22825         uN_strstr: New unit tests.
22826         * modules/unistr/u8-strstr-tests: New file.
22827         * modules/unistr/u16-strstr-tests: New file.
22828         * modules/unistr/u32-strstr-tests: New file.
22829         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22830         * tests/unistr/test-u8-strstr.c: New file.
22831         * tests/unistr/test-u16-strstr.c: New file.
22832         * tests/unistr/test-u32-strstr.c: New file.
22833
22834 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22835             Bruno Haible  <bruno@clisp.org>
22836
22837         Make uN_strstr functions O(n) worst-case.
22838         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22839         16-bit and 32-bit unit cases, use the unibyte algorithm from
22840         lib/mbsstr.c.
22841         * lib/unistr/u8-strstr.c: Include <string.h>.
22842         (UNIT_IS_UINT8_T): New macro.
22843         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22844         (U_STRLEN, U_STRNLEN): New macros.
22845         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22846         (U_STRLEN, U_STRNLEN): New macros.
22847         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22848         (configure.ac): Update required libunistring version.
22849         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22850         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22851         malloca.
22852         (configure.ac): Update required libunistring version.
22853         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22854         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22855         malloca.
22856         (configure.ac): Update required libunistring version.
22857
22858 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22859             Bruno Haible  <bruno@clisp.org>
22860
22861         Prepare for faster uN_strstr functions.
22862         * lib/str-kmp.h: Support definable UNITs.
22863         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22864         needle_len argument.
22865         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22866         * lib/mbscasestr.c (mbscasestr): Likewise.
22867
22868 2011-01-21  Pádraig Brady <P@draigBrady.com>
22869
22870         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22871         * tests/test-malloca.c (main): Unset the environment variable
22872         to greatly speed up the test.
22873         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22874         * modules/malloca-tests: Depend on unsetenv.
22875
22876 2011-01-21  Pádraig Brady <P@draigBrady.com>
22877
22878         ignore-value: remove stdint dependency
22879         * lib/ignore-value.h: Remove <stdint.h>
22880         * modules/ignore-value: Remove stdint dependency.
22881
22882 2011-01-21  Jim Meyering  <meyering@redhat.com>
22883
22884         maint.mk: adjust variable name to be consistent with other gl_ vars
22885         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22886         to be lower case.
22887
22888 2011-01-20  Jim Meyering  <meyering@redhat.com>
22889
22890         maint.mk: make "check" depend on public-submodule-commit by default
22891         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22892
22893 2011-01-20  Bruno Haible  <bruno@clisp.org>
22894
22895         mbfile, mbiter: Complete change from 2008-12-21.
22896         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22897         * m4/mbiter.m4 (gl_MBITER): Likewise.
22898
22899 2011-01-20  Jim Meyering  <meyering@redhat.com>
22900
22901         init.sh: insert space between each function name and "()"
22902         * tests/init.sh: Make it a little easier to see that a function's
22903         name is "warn_", and not "warn" when looking at the first part of
22904         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22905
22906 2011-01-20  Jim Meyering  <meyering@redhat.com>
22907
22908         mountlist: clean up code formatting
22909         * lib/mountlist.c (read_file_system_list): Split a long line,
22910         correct bracing style, use NULL in place of "(struct statfs *)0",
22911         don't parenthesize return value, add spaces around "=" and after
22912         ";-in-for-stmt".
22913
22914 2011-01-14  Markus Duft <mduft@gentoo.org>
22915
22916         mountlist: add support for Interix
22917         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22918         Apply statvfs to all entries of /dev/fs.
22919         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22920         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22921
22922 2011-01-20  Jim Meyering  <meyering@redhat.com>
22923
22924         maint.mk: improve the public-submodule-commit rule
22925         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22926         to suppress printing of its commands... unless V=1.
22927         Add git submodule's --quiet option to suppress printing of e.g.,
22928         "Entering gnulib" output.
22929         "cd" into $(srcdir) before running git submodule.
22930
22931 2011-01-20  Bruno Haible  <bruno@clisp.org>
22932
22933         include_next: Fix bug introduced on 2011-01-18.
22934         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22935         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22936         ac_cv_header_... variable if the second argument is not 'check'.
22937         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22938         gl_NEXT_HEADERS_INTERNAL.
22939
22940 2011-01-20  Bruno Haible  <bruno@clisp.org>
22941
22942         Allow the user to avoid the GNULIB_TEST_* macros.
22943         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22944         Suggested by Paul Eggert.
22945
22946 2011-01-14  Jim Meyering  <meyering@redhat.com>
22947
22948         bootstrap: avoid failure when there is no .gitmodules file
22949         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22950         has been assigned to, even when its value is the empty string.
22951         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22952         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22953         Reported by John W. Eaton <jwe@gnu.org>.
22954
22955 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22956
22957         assume <ctype.h>, ..., <time.h> exist
22958         For years gnulib has been assuming the existence of the headers
22959         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22960         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22961         them, since they don't appear to be needed.
22962         * README (Portability guidelines): Document this.
22963         * lib/flock.c: Assume <fcntl.h> exists.
22964         * lib/regex_internal.h: Assume <locale.h> exists.
22965         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22966         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22967         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22968         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22969         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22970         * m4/regex.m4 (gl_REGEX): Likewise.
22971         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22972         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22973         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22974         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22975         * tests/test-argp.c: Likewise.
22976         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22977
22978         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22979         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22980         AA_APPLE_UNIVERSAL_BUILD.  See
22981         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22982         * NEWS: Document this.
22983
22984 2011-01-19  Eric Blake  <eblake@redhat.com>
22985
22986         c-stack: assume stack overflow if SA_SIGINFO unsupported
22987         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22988         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22989         sigaction will work.
22990         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22991         behavior match Linux.
22992         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22993
22994         stdbool-tests: accommodate Haiku
22995         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22996
22997         binary-io: fix O_TEXT on Haiku
22998         * modules/binary-io (Depends-on): Add fcntl-h.
22999         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
23000         than blindly undefining O_TEXT.
23001         Reported by Scott McCreary.
23002
23003 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23004
23005         include_next: do not check for standard headers like stddef.h
23006
23007         I found this problem when modifying Emacs to use gnulib.
23008         I noticed that it added HAVE_STDDEF_H to config.h, even though
23009         gnulib always assumes <stddef.h> exists as per README and this
23010         symbol is unnecessary.
23011         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
23012         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
23013         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
23014         faster for headers like stddef.h that are known to exist.
23015         (gl_CHECK_NEXT_HEADERS): Use it.
23016         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
23017         rather than gl_CHECK_NEXT_HEADERS.
23018         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
23019         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
23020
23021 2011-01-18  Eric Blake  <eblake@redhat.com>
23022
23023         ansi-c++-opt: skip C++ dependency style if C++ is unused
23024         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
23025         tests when we know C++ compilation is not desired.
23026         Reported by Scott McCreary.
23027
23028 2011-01-18  Bruno Haible  <bruno@clisp.org>
23029
23030         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
23031         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
23032         (main): Perform test also when getrlimit and setrlimit don't exist or
23033         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
23034         limiting the address space size using setrlimit, compare the address
23035         space size before and after the the test.
23036         * tests/test-dprintf-posix2.c: Likewise.
23037         * tests/test-fprintf-posix3.sh: Update skip messages.
23038         * tests/test-dprintf-posix2.sh: Likewise.
23039         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
23040         * modules/dprintf-posix-tests (Depends-on): Likewise.
23041         Reported by Bruce Korb <bkorb@gnu.org> and
23042         Gary V. Vaughan <gary@gnu.org>.
23043
23044 2011-01-18  Bruno Haible  <bruno@clisp.org>
23045
23046         get-rusage-as: Improvement for Cygwin.
23047         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
23048         areas that are merely reserved.
23049
23050 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23051
23052         strftime: remove dependencies on multibyte modules
23053
23054         strftime depended on mbrlen, mbsinit, and wchar, but these modules
23055         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
23056         only if __osf__ is defined, and I suspect OSF doesn't need these
23057         other modules.  If my guess is wrong, we'll need to come up with a
23058         variant of strftime that doesn't need the multibyte modules.
23059
23060         I discovered this problem when attempting modify Emacs to use the
23061         strftime module.  With the previous gnulib, this caused Emacs to
23062         need 31 new files, ranging from lib/config.charset to
23063         m4/wint_t.m4.  This was overkill and I expect would be offputting
23064         to the Emacs maintainers.  After this change, only 6 new files are
23065         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
23066         stdbool.m4, and tm_gmtoff.m4.
23067
23068         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
23069         Suggested by Bruno Haible in
23070         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
23071         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
23072         and do not check for wchar.h.
23073         * modules/strftime (Files): Remove m4/mbstate_t.m4.
23074         (Depends-on): Remove mbrlen, mbsinit, wchar.
23075
23076 2011-01-18  Bruno Haible  <bruno@clisp.org>
23077
23078         Tests for module 'get-rusage-as'.
23079         * modules/get-rusage-as-tests: New file.
23080         * tests/test-get-rusage-as.c: New file.
23081
23082         New module 'get-rusage-as'.
23083         * modules/get-rusage-as: New file.
23084         * lib/resource-ext.h: New file.
23085         * lib/get-rusage-as.c: New file.
23086
23087 2011-01-17  Eric Blake  <eblake@redhat.com>
23088
23089         sigaction: relax license from LGPLv3+ to LGPLv2+
23090         * modules/sigaction (License): Relax to LGPLv2+.
23091
23092 2011-01-14  Bruno Haible  <bruno@clisp.org>
23093
23094         filemode: Make function declarations usable in C++ mode.
23095         * lib/filemode.h: Enclose function declarations in extern "C" block.
23096         Reported by John W. Eaton <jwe@gnu.org>.
23097
23098 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
23099
23100         save-cwd: no longer include "xgetcwd.h"
23101         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
23102         This avoids a compilation failure in projects that use save-cwd
23103         without also using the xgetcwd module.
23104
23105 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23106
23107         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
23108         This is so that a program like Emacs, which needs only dtoastr,
23109         does not have to bother with distributing and compiling ftoastr
23110         and ldtoastr.
23111         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
23112         * modules/dtoastr, modules/ldtoastr: New files.
23113         * modules/ftoastr: Now works just for 'float'.
23114         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
23115         (Makefile.am): Remove ftoastr.h (not needed and no effect),
23116         dtoastr.c, ldtoastr.c.
23117
23118 2011-01-11  Jim Meyering  <meyering@redhat.com>
23119
23120         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
23121         There is no need to work around the lack of the fchdir function,
23122         since gnulib can now provide a replacement when required.
23123         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
23124         * modules/save-cwd (Depends-on): Add fchdir.
23125
23126 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23127
23128         openat, save-cwd: avoid xmalloc
23129
23130         This removes a direct (but undocumented) dependency of openat on
23131         xalloc, along with an indirect dependency via save-cwd.  It also
23132         removes a dependency of save-cwd on xgetcwd, and thereby
23133         indirectly on xalloc.  This change causes the openat substitute
23134         to fall back on save_cwd when memory is tight, and for save_cwd to
23135         fail instead of dying when memory is tight, but that's good enough.
23136         Problem and initial idea for fix reported by Bastien Roucaries in
23137         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23138
23139         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23140         xalloc.h (for xmalloc).
23141         (openat_proc_name): Use malloc, not xmalloc.
23142         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23143         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23144
23145         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23146         This avoids heap allocation for file names whose lengths are in
23147         the range 512..1023, with the upper bound increasing to at most
23148         4031 depending on the platform's PATH_MAX.  (We do not want
23149         pathmax.h here as it might supply a non-constant PATH_MAX.)
23150         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23151         Perhaps they should be moved to malloca.h?
23152         (OPENAT_BUFFER_SIZE): Use them.
23153
23154 2011-01-10  Bruno Haible  <bruno@clisp.org>
23155
23156         doc: Update users.txt.
23157         * users.txt: Add recutils.
23158
23159 2011-01-09  Karl Berry  <karl@gnu.org>
23160
23161         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23162
23163         * doc/configmake.texi: New file.
23164         * doc/gnulib.texi: Include it.
23165         * modules/configmake: Move documentation from here.
23166
23167 2011-01-09  Bruno Haible  <bruno@clisp.org>
23168
23169         Update to Unicode 6.0.0.
23170         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23171         (get_lbp): Update for Unicode 6.0.0.
23172         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23173         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23174         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23175         U+11001, U+11038..U+11046. Remove U+06DE.
23176         (uc_width): Fix bounds of planes.
23177         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23178         lib/uniwidth/width.c.
23179         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23180         trailing whitespace removed.
23181         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23182         without comments, but with the original copyright notice.
23183         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23184         * lib/unicase/ignorable.h: Likewise.
23185         * lib/unicase/tocasefold.h: Likewise.
23186         * lib/unicase/tolower.h: Likewise.
23187         * lib/unicase/totitle.h: Likewise.
23188         * lib/unicase/toupper.h: Likewise.
23189         * lib/unictype/bidi_of.h: Likewise.
23190         * lib/unictype/blocks.h: Likewise.
23191         * lib/unictype/categ_C.h: Likewise.
23192         * lib/unictype/categ_Cn.h: Likewise.
23193         * lib/unictype/categ_L.h: Likewise.
23194         * lib/unictype/categ_Ll.h: Likewise.
23195         * lib/unictype/categ_Lm.h: Likewise.
23196         * lib/unictype/categ_Lo.h: Likewise.
23197         * lib/unictype/categ_Lu.h: Likewise.
23198         * lib/unictype/categ_M.h: Likewise.
23199         * lib/unictype/categ_Mc.h: Likewise.
23200         * lib/unictype/categ_Me.h: Likewise.
23201         * lib/unictype/categ_Mn.h: Likewise.
23202         * lib/unictype/categ_N.h: Likewise.
23203         * lib/unictype/categ_Nd.h: Likewise.
23204         * lib/unictype/categ_No.h: Likewise.
23205         * lib/unictype/categ_P.h: Likewise.
23206         * lib/unictype/categ_Po.h: Likewise.
23207         * lib/unictype/categ_S.h: Likewise.
23208         * lib/unictype/categ_Sc.h: Likewise.
23209         * lib/unictype/categ_Sk.h: Likewise.
23210         * lib/unictype/categ_Sm.h: Likewise.
23211         * lib/unictype/categ_So.h: Likewise.
23212         * lib/unictype/categ_of.h: Likewise.
23213         * lib/unictype/combining.h: Likewise.
23214         * lib/unictype/ctype_alnum.h: Likewise.
23215         * lib/unictype/ctype_alpha.h: Likewise.
23216         * lib/unictype/ctype_graph.h: Likewise.
23217         * lib/unictype/ctype_lower.h: Likewise.
23218         * lib/unictype/ctype_print.h: Likewise.
23219         * lib/unictype/ctype_punct.h: Likewise.
23220         * lib/unictype/ctype_upper.h: Likewise.
23221         * lib/unictype/decdigit.h: Likewise.
23222         * lib/unictype/digit.h: Likewise.
23223         * lib/unictype/numeric.h: Likewise.
23224         * lib/unictype/pr_alphabetic.h: Likewise.
23225         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23226         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23227         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23228         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23229         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23230         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23231         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23232         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23233         * lib/unictype/pr_case_ignorable.h: Likewise.
23234         * lib/unictype/pr_cased.h: Likewise.
23235         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23236         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23237         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23238         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23239         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23240         * lib/unictype/pr_combining.h: Likewise.
23241         * lib/unictype/pr_composite.h: Likewise.
23242         * lib/unictype/pr_currency_symbol.h: Likewise.
23243         * lib/unictype/pr_decimal_digit.h: Likewise.
23244         * lib/unictype/pr_deprecated.h: Likewise.
23245         * lib/unictype/pr_format_control.h: Likewise.
23246         * lib/unictype/pr_grapheme_base.h: Likewise.
23247         * lib/unictype/pr_grapheme_extend.h: Likewise.
23248         * lib/unictype/pr_grapheme_link.h: Likewise.
23249         * lib/unictype/pr_id_continue.h: Likewise.
23250         * lib/unictype/pr_id_start.h: Likewise.
23251         * lib/unictype/pr_ideographic.h: Likewise.
23252         * lib/unictype/pr_lowercase.h: Likewise.
23253         * lib/unictype/pr_math.h: Likewise.
23254         * lib/unictype/pr_numeric.h: Likewise.
23255         * lib/unictype/pr_other_alphabetic.h: Likewise.
23256         * lib/unictype/pr_other_id_continue.h: Likewise.
23257         * lib/unictype/pr_other_math.h: Likewise.
23258         * lib/unictype/pr_punctuation.h: Likewise.
23259         * lib/unictype/pr_sentence_terminal.h: Likewise.
23260         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23261         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23262         * lib/unictype/pr_unified_ideograph.h: Likewise.
23263         * lib/unictype/pr_uppercase.h: Likewise.
23264         * lib/unictype/pr_xid_continue.h: Likewise.
23265         * lib/unictype/pr_xid_start.h: Likewise.
23266         * lib/unictype/scripts.h: Likewise.
23267         * lib/unictype/scripts_byname.gperf: Likewise.
23268         * lib/unictype/sy_java_ident.h: Likewise.
23269         * lib/unigbrk/gbrkprop.h: Likewise.
23270         * lib/unilbrk/lbrkprop1.h: Likewise.
23271         * lib/unilbrk/lbrkprop2.h: Likewise.
23272         * lib/uninorm/decomposition-table2.h: Likewise.
23273         * lib/uniwbrk/wbrkprop.h: Likewise.
23274         * tests/unicase/test-cased.c: Likewise.
23275         * tests/unicase/test-ignorable.c: Likewise.
23276         * tests/unicase/test-uc_tolower.c: Likewise.
23277         * tests/unicase/test-uc_totitle.c: Likewise.
23278         * tests/unicase/test-uc_toupper.c: Likewise.
23279         * tests/unictype/test-categ_C.c: Likewise.
23280         * tests/unictype/test-categ_Cn.c: Likewise.
23281         * tests/unictype/test-categ_L.c: Likewise.
23282         * tests/unictype/test-categ_Ll.c: Likewise.
23283         * tests/unictype/test-categ_Lm.c: Likewise.
23284         * tests/unictype/test-categ_Lo.c: Likewise.
23285         * tests/unictype/test-categ_Lu.c: Likewise.
23286         * tests/unictype/test-categ_M.c: Likewise.
23287         * tests/unictype/test-categ_Mc.c: Likewise.
23288         * tests/unictype/test-categ_Me.c: Likewise.
23289         * tests/unictype/test-categ_Mn.c: Likewise.
23290         * tests/unictype/test-categ_N.c: Likewise.
23291         * tests/unictype/test-categ_Nd.c: Likewise.
23292         * tests/unictype/test-categ_No.c: Likewise.
23293         * tests/unictype/test-categ_P.c: Likewise.
23294         * tests/unictype/test-categ_Po.c: Likewise.
23295         * tests/unictype/test-categ_S.c: Likewise.
23296         * tests/unictype/test-categ_Sc.c: Likewise.
23297         * tests/unictype/test-categ_Sk.c: Likewise.
23298         * tests/unictype/test-categ_Sm.c: Likewise.
23299         * tests/unictype/test-categ_So.c: Likewise.
23300         * tests/unictype/test-ctype_alnum.c: Likewise.
23301         * tests/unictype/test-ctype_alpha.c: Likewise.
23302         * tests/unictype/test-ctype_graph.c: Likewise.
23303         * tests/unictype/test-ctype_lower.c: Likewise.
23304         * tests/unictype/test-ctype_print.c: Likewise.
23305         * tests/unictype/test-ctype_punct.c: Likewise.
23306         * tests/unictype/test-ctype_upper.c: Likewise.
23307         * tests/unictype/test-decdigit.h: Likewise.
23308         * tests/unictype/test-digit.h: Likewise.
23309         * tests/unictype/test-numeric.h: Likewise.
23310         * tests/unictype/test-pr_alphabetic.c: Likewise.
23311         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23312         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23313         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23314         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23315         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23316         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23317         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23318         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23319         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23320         * tests/unictype/test-pr_cased.c: Likewise.
23321         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23322         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23323         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23324         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23325         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23326         * tests/unictype/test-pr_combining.c: Likewise.
23327         * tests/unictype/test-pr_composite.c: Likewise.
23328         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23329         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23330         * tests/unictype/test-pr_deprecated.c: Likewise.
23331         * tests/unictype/test-pr_format_control.c: Likewise.
23332         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23333         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23334         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23335         * tests/unictype/test-pr_id_continue.c: Likewise.
23336         * tests/unictype/test-pr_id_start.c: Likewise.
23337         * tests/unictype/test-pr_ideographic.c: Likewise.
23338         * tests/unictype/test-pr_lowercase.c: Likewise.
23339         * tests/unictype/test-pr_math.c: Likewise.
23340         * tests/unictype/test-pr_numeric.c: Likewise.
23341         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23342         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23343         * tests/unictype/test-pr_other_math.c: Likewise.
23344         * tests/unictype/test-pr_punctuation.c: Likewise.
23345         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23346         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23347         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23348         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23349         * tests/unictype/test-pr_uppercase.c: Likewise.
23350         * tests/unictype/test-pr_xid_continue.c: Likewise.
23351         * tests/unictype/test-pr_xid_start.c: Likewise.
23352         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23353         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23354         changes.
23355         * lib/unictype/categ_Cc.h: Likewise.
23356         * lib/unictype/categ_Cf.h: Likewise.
23357         * lib/unictype/categ_Co.h: Likewise.
23358         * lib/unictype/categ_Cs.h: Likewise.
23359         * lib/unictype/categ_Lt.h: Likewise.
23360         * lib/unictype/categ_Nl.h: Likewise.
23361         * lib/unictype/categ_Pc.h: Likewise.
23362         * lib/unictype/categ_Pd.h: Likewise.
23363         * lib/unictype/categ_Pe.h: Likewise.
23364         * lib/unictype/categ_Pf.h: Likewise.
23365         * lib/unictype/categ_Pi.h: Likewise.
23366         * lib/unictype/categ_Ps.h: Likewise.
23367         * lib/unictype/categ_Z.h: Likewise.
23368         * lib/unictype/categ_Zl.h: Likewise.
23369         * lib/unictype/categ_Zp.h: Likewise.
23370         * lib/unictype/categ_Zs.h: Likewise.
23371         * lib/unictype/ctype_blank.h: Likewise.
23372         * lib/unictype/ctype_cntrl.h: Likewise.
23373         * lib/unictype/ctype_digit.h: Likewise.
23374         * lib/unictype/ctype_space.h: Likewise.
23375         * lib/unictype/ctype_xdigit.h: Likewise.
23376         * lib/unictype/mirror.h: Likewise.
23377         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23378         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23379         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23380         * lib/unictype/pr_bidi_control.h: Likewise.
23381         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23382         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23383         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23384         * lib/unictype/pr_bidi_pdf.h: Likewise.
23385         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23386         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23387         * lib/unictype/pr_dash.h: Likewise.
23388         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23389         * lib/unictype/pr_diacritic.h: Likewise.
23390         * lib/unictype/pr_extender.h: Likewise.
23391         * lib/unictype/pr_hex_digit.h: Likewise.
23392         * lib/unictype/pr_hyphen.h: Likewise.
23393         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23394         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23395         * lib/unictype/pr_ignorable_control.h: Likewise.
23396         * lib/unictype/pr_iso_control.h: Likewise.
23397         * lib/unictype/pr_join_control.h: Likewise.
23398         * lib/unictype/pr_left_of_pair.h: Likewise.
23399         * lib/unictype/pr_line_separator.h: Likewise.
23400         * lib/unictype/pr_logical_order_exception.h: Likewise.
23401         * lib/unictype/pr_non_break.h: Likewise.
23402         * lib/unictype/pr_not_a_character.h: Likewise.
23403         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23404         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23405         * lib/unictype/pr_other_id_start.h: Likewise.
23406         * lib/unictype/pr_other_lowercase.h: Likewise.
23407         * lib/unictype/pr_other_uppercase.h: Likewise.
23408         * lib/unictype/pr_paired_punctuation.h: Likewise.
23409         * lib/unictype/pr_paragraph_separator.h: Likewise.
23410         * lib/unictype/pr_pattern_syntax.h: Likewise.
23411         * lib/unictype/pr_pattern_white_space.h: Likewise.
23412         * lib/unictype/pr_private_use.h: Likewise.
23413         * lib/unictype/pr_quotation_mark.h: Likewise.
23414         * lib/unictype/pr_radical.h: Likewise.
23415         * lib/unictype/pr_soft_dotted.h: Likewise.
23416         * lib/unictype/pr_space.h: Likewise.
23417         * lib/unictype/pr_titlecase.h: Likewise.
23418         * lib/unictype/pr_variation_selector.h: Likewise.
23419         * lib/unictype/pr_white_space.h: Likewise.
23420         * lib/unictype/pr_zero_width.h: Likewise.
23421         * lib/unictype/sy_c_ident.h: Likewise.
23422         * lib/unictype/sy_c_whitespace.h: Likewise.
23423         * lib/unictype/sy_java_whitespace.h: Likewise.
23424         * lib/uninorm/composition-table.gperf: Likewise.
23425         * lib/uninorm/decomposition-table1.h: Likewise.
23426         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
23427         LB8.
23428         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23429         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23430         * modules/unictype/*: Bump version number of expected libunistring
23431         version.
23432
23433 2011-01-09  Bruno Haible  <bruno@clisp.org>
23434
23435         Update to Unicode 5.2.0.
23436         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
23437         trailing whitespace removed.
23438
23439 2011-01-09  Bruno Haible  <bruno@clisp.org>
23440
23441         New Unicode character properties, from Unicode 5.2.0.
23442         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
23443         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
23444         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
23445         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
23446         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
23447         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
23448         uc_is_property_cased, uc_is_property_case_ignorable,
23449         uc_is_property_changes_when_lowercased,
23450         uc_is_property_changes_when_uppercased,
23451         uc_is_property_changes_when_titlecased,
23452         uc_is_property_changes_when_casefolded,
23453         uc_is_property_changes_when_casemapped): New declarations.
23454         * lib/unictype/pr_byname.gperf: Add the new properties.
23455         * modules/unictype/property-byname (Depends-on): Depend on the new
23456         properties modules.
23457         * modules/unictype/property-all (Depends-on): Likewise.
23458         * MODULES.html.sh (Unicode string functions): Add
23459         unictype/property-case-ignorable, unictype/property-cased,
23460         unictype/property-changes-when-casefolded,
23461         unictype/property-changes-when-casemapped,
23462         unictype/property-changes-when-lowercased,
23463         unictype/property-changes-when-titlecased,
23464         unictype/property-changes-when-uppercased.
23465
23466         New module 'unictype/property-changes-when-casemapped'.
23467         * modules/unictype/property-changes-when-casemapped: New file.
23468         * lib/unictype/pr_changes_when_casemapped.c: New file.
23469         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23470         generated by gen-uni-tables.
23471         * modules/unictype/property-changes-when-casemapped-tests: New file.
23472         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23473         automatically generated by gen-uni-tables.
23474
23475         New module 'unictype/property-changes-when-casefolded'.
23476         * modules/unictype/property-changes-when-casefolded: New file.
23477         * lib/unictype/pr_changes_when_casefolded.c: New file.
23478         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23479         generated by gen-uni-tables.
23480         * modules/unictype/property-changes-when-casefolded-tests: New file.
23481         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23482         automatically generated by gen-uni-tables.
23483
23484         New module 'unictype/property-changes-when-titlecased'.
23485         * modules/unictype/property-changes-when-titlecased: New file.
23486         * lib/unictype/pr_changes_when_titlecased.c: New file.
23487         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23488         generated by gen-uni-tables.
23489         * modules/unictype/property-changes-when-titlecased-tests: New file.
23490         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23491         automatically generated by gen-uni-tables.
23492
23493         New module 'unictype/property-changes-when-uppercased'.
23494         * modules/unictype/property-changes-when-uppercased: New file.
23495         * lib/unictype/pr_changes_when_uppercased.c: New file.
23496         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23497         generated by gen-uni-tables.
23498         * modules/unictype/property-changes-when-uppercased-tests: New file.
23499         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23500         automatically generated by gen-uni-tables.
23501
23502         New module 'unictype/property-changes-when-lowercased'.
23503         * modules/unictype/property-changes-when-lowercased: New file.
23504         * lib/unictype/pr_changes_when_lowercased.c: New file.
23505         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23506         generated by gen-uni-tables.
23507         * modules/unictype/property-changes-when-lowercased-tests: New file.
23508         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23509         automatically generated by gen-uni-tables.
23510
23511         New module 'unictype/property-case-ignorable'.
23512         * modules/unictype/property-case-ignorable: New file.
23513         * lib/unictype/pr_case_ignorable.c: New file.
23514         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23515         by gen-uni-tables.
23516         * modules/unictype/property-case-ignorable-tests: New file.
23517         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23518         generated by gen-uni-tables.
23519
23520         New module 'unictype/property-cased'.
23521         * modules/unictype/property-cased: New file.
23522         * lib/unictype/pr_cased.c: New file.
23523         * lib/unictype/pr_cased.h: New file, automatically generated by
23524         gen-uni-tables.
23525         * modules/unictype/property-cased-tests: New file.
23526         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23527         gen-uni-tables.
23528
23529 2011-01-09  Bruno Haible  <bruno@clisp.org>
23530
23531         Update to Unicode 5.2.0.
23532         * lib/gen-uni-tables.c (output_predicate, output_category,
23533         output_combclass, output_bidi_category, output_decimal_digit_test,
23534         output_decimal_digit, output_digit_test, output_digit,
23535         output_numeric_test, output_numeric, output_mirror, output_scripts,
23536         output_scripts_byname, output_blocks, output_ident_category): Fix
23537         comment header.
23538         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23539         get_wbp.
23540         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23541         items.
23542         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23543         Changes_When_Lowercased, Changes_When_Uppercased,
23544         Changes_When_Titlecased, Changes_When_Casefolded,
23545         Changes_When_Casemapped.
23546         (is_property_alphabetic, is_property_default_ignorable_code_point):
23547         Update for Unicode 5.2.0.
23548         (is_property_cased, is_property_case_ignorable,
23549         is_property_changes_when_lowercased,
23550         is_property_changes_when_uppercased,
23551         is_property_changes_when_titlecased,
23552         is_property_changes_when_casefolded,
23553         is_property_changes_when_casemapped): New functions.
23554         (output_properties): Output also the properties cased, case_ignorable,
23555         changes_when_lowercased, changes_when_uppercased,
23556         changes_when_titlecased, changes_when_casefolded,
23557         changes_when_casemapped.
23558         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23559         Unicode TR#11 revision 17 -> 19.
23560         (LBP_CP): New enumeration value.
23561         (LBP_*): Adjust values accordingly.
23562         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23563         TR#14 revision 22 -> 24.
23564         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23565         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23566         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23567         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23568         is_WBP_MIDLETTER.
23569         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23570         the code1 and code2 of each composition rule.
23571         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23572         * lib/unicase/ignorable.h: Likewise.
23573         * lib/unicase/tocasefold.h: Likewise.
23574         * lib/unicase/tolower.h: Likewise.
23575         * lib/unicase/totitle.h: Likewise.
23576         * lib/unicase/toupper.h: Likewise.
23577         * lib/unictype/bidi_of.h: Likewise.
23578         * lib/unictype/blocks.h: Likewise.
23579         * lib/unictype/categ_C.h: Likewise.
23580         * lib/unictype/categ_Cf.h: Likewise.
23581         * lib/unictype/categ_Cn.h: Likewise.
23582         * lib/unictype/categ_L.h: Likewise.
23583         * lib/unictype/categ_Ll.h: Likewise.
23584         * lib/unictype/categ_Lm.h: Likewise.
23585         * lib/unictype/categ_Lo.h: Likewise.
23586         * lib/unictype/categ_Lu.h: Likewise.
23587         * lib/unictype/categ_M.h: Likewise.
23588         * lib/unictype/categ_Mc.h: Likewise.
23589         * lib/unictype/categ_Mn.h: Likewise.
23590         * lib/unictype/categ_N.h: Likewise.
23591         * lib/unictype/categ_Nd.h: Likewise.
23592         * lib/unictype/categ_Nl.h: Likewise.
23593         * lib/unictype/categ_No.h: Likewise.
23594         * lib/unictype/categ_P.h: Likewise.
23595         * lib/unictype/categ_Pd.h: Likewise.
23596         * lib/unictype/categ_Po.h: Likewise.
23597         * lib/unictype/categ_S.h: Likewise.
23598         * lib/unictype/categ_Sc.h: Likewise.
23599         * lib/unictype/categ_So.h: Likewise.
23600         * lib/unictype/categ_of.h: Likewise.
23601         * lib/unictype/combining.h: Likewise.
23602         * lib/unictype/ctype_alnum.h: Likewise.
23603         * lib/unictype/ctype_alpha.h: Likewise.
23604         * lib/unictype/ctype_graph.h: Likewise.
23605         * lib/unictype/ctype_lower.h: Likewise.
23606         * lib/unictype/ctype_print.h: Likewise.
23607         * lib/unictype/ctype_punct.h: Likewise.
23608         * lib/unictype/ctype_upper.h: Likewise.
23609         * lib/unictype/decdigit.h: Likewise.
23610         * lib/unictype/digit.h: Likewise.
23611         * lib/unictype/numeric.h: Likewise.
23612         * lib/unictype/pr_alphabetic.h: Likewise.
23613         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23614         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23615         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23616         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23617         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23618         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23619         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23620         * lib/unictype/pr_combining.h: Likewise.
23621         * lib/unictype/pr_composite.h: Likewise.
23622         * lib/unictype/pr_currency_symbol.h: Likewise.
23623         * lib/unictype/pr_dash.h: Likewise.
23624         * lib/unictype/pr_decimal_digit.h: Likewise.
23625         * lib/unictype/pr_deprecated.h: Likewise.
23626         * lib/unictype/pr_diacritic.h: Likewise.
23627         * lib/unictype/pr_extender.h: Likewise.
23628         * lib/unictype/pr_grapheme_base.h: Likewise.
23629         * lib/unictype/pr_grapheme_extend.h: Likewise.
23630         * lib/unictype/pr_grapheme_link.h: Likewise.
23631         * lib/unictype/pr_id_continue.h: Likewise.
23632         * lib/unictype/pr_id_start.h: Likewise.
23633         * lib/unictype/pr_ideographic.h: Likewise.
23634         * lib/unictype/pr_ignorable_control.h: Likewise.
23635         * lib/unictype/pr_logical_order_exception.h: Likewise.
23636         * lib/unictype/pr_lowercase.h: Likewise.
23637         * lib/unictype/pr_numeric.h: Likewise.
23638         * lib/unictype/pr_other_alphabetic.h: Likewise.
23639         * lib/unictype/pr_punctuation.h: Likewise.
23640         * lib/unictype/pr_sentence_terminal.h: Likewise.
23641         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23642         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23643         * lib/unictype/pr_unified_ideograph.h: Likewise.
23644         * lib/unictype/pr_uppercase.h: Likewise.
23645         * lib/unictype/pr_xid_continue.h: Likewise.
23646         * lib/unictype/pr_xid_start.h: Likewise.
23647         * lib/unictype/pr_zero_width.h: Likewise.
23648         * lib/unictype/scripts.h: Likewise.
23649         * lib/unictype/scripts_byname.gperf: Likewise.
23650         * lib/unictype/sy_java_ident.h: Likewise.
23651         * lib/unigbrk/gbrkprop.h: Likewise.
23652         * lib/unilbrk/lbrkprop1.h: Likewise.
23653         * lib/unilbrk/lbrkprop2.h: Likewise.
23654         * lib/unilbrk/lbrktables.h: Likewise.
23655         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23656         LBP_CP. Implement rule LB30.
23657         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23658         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23659         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23660         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23661         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23662         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23663         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23664         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23665         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23666         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23667         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23668         bits instead of 16 bits in the code1 and code2 of each composition
23669         rule.
23670         (uc_composition): Update for Unicode 5.2.0.
23671         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23672         * lib/uninorm/decomposition-table2.h: Likewise.
23673         * lib/uniwbrk/wbrkprop.h: Likewise.
23674         * tests/unicase/test-cased.c: Likewise.
23675         * tests/unicase/test-ignorable.c: Likewise.
23676         * tests/unicase/test-uc_tolower.c: Likewise.
23677         * tests/unicase/test-uc_totitle.c: Likewise.
23678         * tests/unicase/test-uc_toupper.c: Likewise.
23679         * tests/unictype/test-categ_C.c: Likewise.
23680         * tests/unictype/test-categ_Cf.c: Likewise.
23681         * tests/unictype/test-categ_Cn.c: Likewise.
23682         * tests/unictype/test-categ_L.c: Likewise.
23683         * tests/unictype/test-categ_Ll.c: Likewise.
23684         * tests/unictype/test-categ_Lm.c: Likewise.
23685         * tests/unictype/test-categ_Lo.c: Likewise.
23686         * tests/unictype/test-categ_Lu.c: Likewise.
23687         * tests/unictype/test-categ_M.c: Likewise.
23688         * tests/unictype/test-categ_Mc.c: Likewise.
23689         * tests/unictype/test-categ_Mn.c: Likewise.
23690         * tests/unictype/test-categ_N.c: Likewise.
23691         * tests/unictype/test-categ_Nd.c: Likewise.
23692         * tests/unictype/test-categ_Nl.c: Likewise.
23693         * tests/unictype/test-categ_No.c: Likewise.
23694         * tests/unictype/test-categ_P.c: Likewise.
23695         * tests/unictype/test-categ_Pd.c: Likewise.
23696         * tests/unictype/test-categ_Po.c: Likewise.
23697         * tests/unictype/test-categ_S.c: Likewise.
23698         * tests/unictype/test-categ_Sc.c: Likewise.
23699         * tests/unictype/test-categ_So.c: Likewise.
23700         * tests/unictype/test-ctype_alnum.c: Likewise.
23701         * tests/unictype/test-ctype_alpha.c: Likewise.
23702         * tests/unictype/test-ctype_graph.c: Likewise.
23703         * tests/unictype/test-ctype_lower.c: Likewise.
23704         * tests/unictype/test-ctype_print.c: Likewise.
23705         * tests/unictype/test-ctype_punct.c: Likewise.
23706         * tests/unictype/test-ctype_upper.c: Likewise.
23707         * tests/unictype/test-decdigit.h: Likewise.
23708         * tests/unictype/test-digit.h: Likewise.
23709         * tests/unictype/test-numeric.h: Likewise.
23710         * tests/unictype/test-pr_alphabetic.c: Likewise.
23711         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23712         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23713         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23714         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23715         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23716         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23717         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23718         * tests/unictype/test-pr_combining.c: Likewise.
23719         * tests/unictype/test-pr_composite.c: Likewise.
23720         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23721         * tests/unictype/test-pr_dash.c: Likewise.
23722         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23723         * tests/unictype/test-pr_deprecated.c: Likewise.
23724         * tests/unictype/test-pr_diacritic.c: Likewise.
23725         * tests/unictype/test-pr_extender.c: Likewise.
23726         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23727         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23728         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23729         * tests/unictype/test-pr_id_continue.c: Likewise.
23730         * tests/unictype/test-pr_id_start.c: Likewise.
23731         * tests/unictype/test-pr_ideographic.c: Likewise.
23732         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23733         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23734         * tests/unictype/test-pr_lowercase.c: Likewise.
23735         * tests/unictype/test-pr_numeric.c: Likewise.
23736         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23737         * tests/unictype/test-pr_punctuation.c: Likewise.
23738         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23739         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23740         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23741         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23742         * tests/unictype/test-pr_uppercase.c: Likewise.
23743         * tests/unictype/test-pr_xid_continue.c: Likewise.
23744         * tests/unictype/test-pr_xid_start.c: Likewise.
23745         * tests/unictype/test-pr_zero_width.c: Likewise.
23746         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23747         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23748         changed behaviour: line breaking is now disallowed between a letter
23749         or '=' and '('.
23750         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23751         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23752         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23753         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23754         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23755         lib/uniwidth/width.c.
23756         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23757         without comments, but with the original copyright notice.
23758         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23759         changes.
23760         * lib/unictype/categ_Cc.h: Likewise.
23761         * lib/unictype/categ_Co.h: Likewise.
23762         * lib/unictype/categ_Cs.h: Likewise.
23763         * lib/unictype/categ_Lt.h: Likewise.
23764         * lib/unictype/categ_Me.h: Likewise.
23765         * lib/unictype/categ_Pc.h: Likewise.
23766         * lib/unictype/categ_Pe.h: Likewise.
23767         * lib/unictype/categ_Pf.h: Likewise.
23768         * lib/unictype/categ_Pi.h: Likewise.
23769         * lib/unictype/categ_Ps.h: Likewise.
23770         * lib/unictype/categ_Sk.h: Likewise.
23771         * lib/unictype/categ_Sm.h: Likewise.
23772         * lib/unictype/categ_Z.h: Likewise.
23773         * lib/unictype/categ_Zl.h: Likewise.
23774         * lib/unictype/categ_Zp.h: Likewise.
23775         * lib/unictype/categ_Zs.h: Likewise.
23776         * lib/unictype/ctype_blank.h: Likewise.
23777         * lib/unictype/ctype_cntrl.h: Likewise.
23778         * lib/unictype/ctype_digit.h: Likewise.
23779         * lib/unictype/ctype_space.h: Likewise.
23780         * lib/unictype/ctype_xdigit.h: Likewise.
23781         * lib/unictype/mirror.h: Likewise.
23782         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23783         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23784         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23785         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23786         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23787         * lib/unictype/pr_bidi_control.h: Likewise.
23788         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23789         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23790         * lib/unictype/pr_bidi_pdf.h: Likewise.
23791         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23792         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23793         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23794         * lib/unictype/pr_format_control.h: Likewise.
23795         * lib/unictype/pr_hex_digit.h: Likewise.
23796         * lib/unictype/pr_hyphen.h: Likewise.
23797         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23798         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23799         * lib/unictype/pr_iso_control.h: Likewise.
23800         * lib/unictype/pr_join_control.h: Likewise.
23801         * lib/unictype/pr_left_of_pair.h: Likewise.
23802         * lib/unictype/pr_line_separator.h: Likewise.
23803         * lib/unictype/pr_math.h: Likewise.
23804         * lib/unictype/pr_non_break.h: Likewise.
23805         * lib/unictype/pr_not_a_character.h: Likewise.
23806         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23807         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23808         * lib/unictype/pr_other_id_continue.h: Likewise.
23809         * lib/unictype/pr_other_id_start.h: Likewise.
23810         * lib/unictype/pr_other_lowercase.h: Likewise.
23811         * lib/unictype/pr_other_math.h: Likewise.
23812         * lib/unictype/pr_other_uppercase.h: Likewise.
23813         * lib/unictype/pr_paired_punctuation.h: Likewise.
23814         * lib/unictype/pr_paragraph_separator.h: Likewise.
23815         * lib/unictype/pr_pattern_syntax.h: Likewise.
23816         * lib/unictype/pr_pattern_white_space.h: Likewise.
23817         * lib/unictype/pr_private_use.h: Likewise.
23818         * lib/unictype/pr_quotation_mark.h: Likewise.
23819         * lib/unictype/pr_radical.h: Likewise.
23820         * lib/unictype/pr_soft_dotted.h: Likewise.
23821         * lib/unictype/pr_space.h: Likewise.
23822         * lib/unictype/pr_titlecase.h: Likewise.
23823         * lib/unictype/pr_variation_selector.h: Likewise.
23824         * lib/unictype/pr_white_space.h: Likewise.
23825         * lib/unictype/sy_c_ident.h: Likewise.
23826         * lib/unictype/sy_c_whitespace.h: Likewise.
23827         * lib/unictype/sy_java_whitespace.h: Likewise.
23828         * modules/uni*/*: Bump version number of expected libunistring version.
23829         Reported by Simon Josefsson.
23830
23831 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23832
23833         useless-if-before-free: fix typo in --help and make the internal,
23834         automatic version date update process work once again.
23835         --help output contained a NUL character instead of the
23836         backslash-zero that was intended.  Also, the "must lie within
23837         the first 8 lines" line is on line 9, and hence not getting
23838         automatically updated.
23839         * build-aux/useless-if-before-free: Fix the former by adding a
23840         backslash, and the latter by condensing the three lines of what-it-does
23841         to a single line, leaving one line of slack for the future.
23842
23843 2011-01-09  Bruno Haible  <bruno@clisp.org>
23844
23845         uniwidth/width: Fix width of U+1D173..U+1D17A.
23846         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23847         symbolic_width, output_width_property_test): New functions.
23848         (main): Invoke output_nonspacing_property, output_width_property_test.
23849         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23850         U+1D173..U+1D17A.
23851         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23852         1.
23853         * modules/uniwidth/*: Bump version number of expected libunistring
23854         version.
23855         * modules/unilbrk/*: Likewise.
23856
23857 2011-01-08  Bruno Haible  <bruno@clisp.org>
23858
23859         uninorm tests: Preserve copyright of Unicode data file.
23860         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23861         Mention modifications.
23862
23863 2011-01-08  Bruno Haible  <bruno@clisp.org>
23864
23865         gen-uni-tables: Prepare for Unicode 5.2.0.
23866         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23867         (debug_output_lbp, output_lbp): Update.
23868
23869 2011-01-08  Bruno Haible  <bruno@clisp.org>
23870
23871         unilbrk: Clarify gen-uni-tables.c code.
23872         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23873         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23874         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23875
23876 2011-01-07  Bruno Haible  <bruno@clisp.org>
23877
23878         strtod: Restore errno when successfully parsing Infinity or NaN.
23879         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23880         restore the original errno.
23881
23882 2011-01-07  Bruno Haible  <bruno@clisp.org>
23883
23884         remove test: Avoid failure on HP-UX 11.
23885         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23886
23887 2011-01-07  Bruno Haible  <bruno@clisp.org>
23888
23889         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23890         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23891         error code.
23892
23893 2011-01-07  Pádraig Brady <P@draigBrady.com>
23894
23895         ignore-value: fixup comments, and add Eric Blake
23896         as an author since he rewrote the macros.
23897         * lib/ignore-value.h (ignore_value):  State that
23898         we now support aggregates.  Also specify exactly
23899         when the GCC warn_unused_result feature was added.
23900
23901 2011-01-06  Eric Blake  <eblake@redhat.com>
23902
23903         ignore-value: support aggregate types
23904         * lib/ignore-value.h (ignore_value): Provide separate gcc
23905         definition.
23906         * modules/ignore-value-tests: New test module.
23907         * tests/test-ignore-value.c: New test.
23908
23909         maint.mk: improve sc_prohibit_strcmp regex
23910         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23911         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23912         definition of STRNEQ.
23913
23914         signal: work around Haiku issue with SIGBUS
23915         * lib/siglist.h: Add comment.
23916         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23917         strsignal's favoring of SIGSEGV.
23918         * tests/test-signal.c (main): Avoid test failure.
23919         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23920         Reported by Scott McCreary.
23921
23922         maint.mk: add pre-release check to ensure submodule commits are public
23923         * top/maint.mk (public-submodule-commit): New rule.
23924         (submodule-checks): New variable.
23925         (alpha beta stable): Depend on the variable.
23926
23927 2011-01-05  Pádraig Brady <P@draigBrady.com>
23928         and Jim Meyering  <meyering@redhat.com>
23929
23930         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23931         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23932         (ATTRIBUTE_DEPRECATED): Define.
23933         (_ignore_case): New function.
23934         (ignore_value): New macro, to replace the old function.
23935         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23936         * modules/ignore-value (Depends-on): Add stdint.
23937
23938 2011-01-04  Eric Blake  <eblake@redhat.com>
23939
23940         doc: regenerate INSTALL
23941         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23942         @firstparagraphindent support, now that autoconf dropped it.
23943         (INSTALL_PRELUDE): Reinstate old macro.
23944         * doc/install.texi: Resync from autoconf.
23945         * doc/INSTALL: Reflect recent autoconf update.
23946         * doc/INSTALL.ISO: Likewise.
23947         * doc/INSTALL.UTF-8: Likewise.
23948         Reported by Karl Berry.
23949
23950 2011-01-04  Bruce Korb  <address@hidden>
23951
23952         git-version-gen: avoid a sub-shell
23953         * build-aux/git-version-gen: Redirect stderr in `...` via
23954         "exec 2>...", rather than via an added sub-shell.
23955
23956 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23957
23958         git-version-gen: use (...) rather than sh -c '...'
23959         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23960         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23961
23962 2011-01-03  Jim Meyering  <meyering@redhat.com>
23963
23964         git-version-gen: convert leading TABs to spaces
23965         * build-aux/git-version-gen: Expand leading TABs.
23966
23967         git-version-gen: handle failed "git rev-list"
23968         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23969         from git and proceeding as if it had succeeded but printed no SHA1
23970         checksums, suppress the diagnostic and handle the failure.
23971         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23972
23973         git-version-gen: include command name in one more diagnostic
23974         * build-aux/git-version-gen: When the required .tarball-version file
23975         was missing or unreadable, you might see the diagnostic from "cat",
23976         but no trace of the name of the invoking script.  Now, you still see
23977         the diagnostic from cat, but also get one from "git-version-gen: ".
23978         Inspired by a patch from Bruce Korb.
23979
23980         update-copyright: adjust test to match changed code
23981         * tests/test-update-copyright.sh: Change test's expected output
23982         to match new actual output.
23983
23984 2011-01-02  Bruno Haible  <bruno@clisp.org>
23985
23986         getlogin_r: Avoid test failure on HP-UX 11.
23987         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23988         ERANGE when the second argument is zero.
23989         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23990         portability problem.
23991
23992 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23993
23994         * build-aux/update-copyright: doc Simon's changes
23995
23996 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23997
23998         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23999         environment variable.
24000
24001 2011-01-02  Bruno Haible  <bruno@clisp.org>
24002
24003         unigbrk: Avoid gcc warnings.
24004         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
24005         unused variable.
24006         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
24007         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
24008         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
24009         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
24010         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
24011         Change type of first argument to 'const char *'.
24012         (main): Remove unused variable.
24013         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
24014         type of first argument to 'const char *'.
24015         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
24016         Likewise.
24017         (main): Change type of variable 's'.
24018         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
24019         to 'int'.
24020
24021 2011-01-02  Bruno Haible  <bruno@clisp.org>
24022
24023         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
24024         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
24025         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
24026         bug.
24027         * lib/pwrite.c: Undo 2010-12-31 patch.
24028         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
24029
24030 2011-01-02  Bruno Haible  <bruno@clisp.org>
24031
24032         pread: Fix test whether it works.
24033         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
24034
24035 2011-01-02  Bruno Haible  <bruno@clisp.org>
24036
24037         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
24038         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
24039         ends in "6". Don't require a specific month name. Try also the locale
24040         names found on HP-UX 11 and Solaris 7.
24041
24042 2011-01-02  Bruno Haible  <bruno@clisp.org>
24043
24044         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
24045         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
24046         C linkage.
24047         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
24048
24049 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24050
24051         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
24052         for consistency, since the "cluster" term is not used elsewhere.
24053         * lib/unigbrk.in.h: Update name.
24054         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
24055         * lib/unigbrk/u16-grapheme-next.c: Update name.
24056         * lib/unigbrk/u16-grapheme-prev.c: Update name.
24057         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
24058         * lib/unigbrk/u32-grapheme-next.c: Update name.
24059         * lib/unigbrk/u32-grapheme-prev.c: Update name.
24060         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
24061         * lib/unigbrk/u8-grapheme-next.c: Update name.
24062         * lib/unigbrk/u8-grapheme-prev.c: Update name.
24063         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
24064         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
24065         Suggested by Bruno Haible.
24066
24067 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24068
24069         Remove module 'u8-grapheme-len' as too redundant with
24070         'u8-grapheme-next'.
24071         * modules/unigbrk/u8-grapheme-len: Delete file.
24072         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
24073         * lib/unigbrk.in.h: Remove prototype for deleted function.
24074         * lib/unigbrk/u8-grapheme-len.c: Delete file.
24075         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
24076
24077         Remove module 'u16-grapheme-len' as too redundant with
24078         'u16-grapheme-next'.
24079         * modules/unigbrk/u16-grapheme-len: Delete file.
24080         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
24081         * lib/unigbrk.in.h: Remove prototype for deleted function.
24082         * lib/unigbrk/u16-grapheme-len.c: Delete file.
24083         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
24084
24085         Remove module 'u32-grapheme-len' as too redundant with
24086         'u32-grapheme-next'.
24087         * modules/unigbrk/u32-grapheme-len: Delete file.
24088         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
24089         * lib/unigbrk.in.h: Remove prototype for deleted function.
24090         * lib/unigbrk/u32-grapheme-len.c: Delete file.
24091         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
24092
24093         Suggested by Bruno Haible.
24094
24095 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24096
24097         * unigbrk.in.h: Fix typo: "ben" => "been".
24098         Reported by Bruno Haible.
24099
24100 2011-01-01  Jim Meyering  <meyering@redhat.com>
24101
24102         maint: update almost all copyright ranges to include 2011
24103         Run the new "make update-copyright" rule.
24104
24105 2011-01-01  Jim Meyering  <meyering@redhat.com>
24106
24107         maint: update-copyright: exempt doc/INSTALL*
24108         * Makefile (update-copyright): Also exclude doc/INSTALL*,
24109         since they are generated.  Suggested by Bruno Haible.
24110
24111 2011-01-01  Jim Meyering  <meyering@redhat.com>
24112
24113         maint: refine the update-copyright rule
24114         * Makefile (update-copyright): Also exclude any file that includes
24115         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
24116         code that merely generates the comment.
24117
24118 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24119
24120         New module 'u8-grapheme-len'.
24121         * modules/unigbrk/u8-grapheme-len: New file.
24122         * modules/unigbrk/u8-grapheme-len-tests: New file.
24123         * lib/unigbrk.in.h: Add prototype for new function.
24124         * lib/unigbrk/u8-grapheme-len.c: New file.
24125         * tests/unigbrk/test-u8-grapheme-len.c: New file.
24126
24127         New module 'u16-grapheme-len'.
24128         * modules/unigbrk/u16-grapheme-len: New file.
24129         * modules/unigbrk/u16-grapheme-len-tests: New file.
24130         * lib/unigbrk.in.h: Add prototype for new function.
24131         * lib/unigbrk/u16-grapheme-len.c: New file.
24132         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24133
24134         New module 'u32-grapheme-len'.
24135         * modules/unigbrk/u32-grapheme-len: New file.
24136         * modules/unigbrk/u32-grapheme-len-tests: New file.
24137         * lib/unigbrk.in.h: Add prototype for new function.
24138         * lib/unigbrk/u32-grapheme-len.c: New file.
24139         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24140
24141         New module 'u8-grapheme-next'.
24142         * modules/unigbrk/u8-grapheme-next: New file.
24143         * modules/unigbrk/u8-grapheme-next-tests: New file.
24144         * lib/unigbrk.in.h: Add prototype for new function.
24145         * lib/unigbrk/u8-grapheme-next.c: New file.
24146         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24147
24148         New module 'u16-grapheme-next'.
24149         * modules/unigbrk/u16-grapheme-next: New file.
24150         * modules/unigbrk/u16-grapheme-next-tests: New file.
24151         * lib/unigbrk.in.h: Add prototype for new function.
24152         * lib/unigbrk/u16-grapheme-next.c: New file.
24153         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24154
24155         New module 'u32-grapheme-next'.
24156         * modules/unigbrk/u32-grapheme-next: New file.
24157         * modules/unigbrk/u32-grapheme-next-tests: New file.
24158         * lib/unigbrk.in.h: Add prototype for new function.
24159         * lib/unigbrk/u32-grapheme-next.c: New file.
24160         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24161
24162         New module 'u8-grapheme-prev'.
24163         * modules/unigbrk/u8-grapheme-prev: New file.
24164         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24165         * lib/unigbrk.in.h: Add prototype for new function.
24166         * lib/unigbrk/u8-grapheme-prev.c: New file.
24167         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24168
24169         New module 'u16-grapheme-prev'.
24170         * modules/unigbrk/u16-grapheme-prev: New file.
24171         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24172         * lib/unigbrk.in.h: Add prototype for new function.
24173         * lib/unigbrk/u16-grapheme-prev.c: New file.
24174         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24175
24176         New module 'u32-grapheme-prev'.
24177         * modules/unigbrk/u32-grapheme-prev: New file.
24178         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24179         * lib/unigbrk.in.h: Add prototype for new function.
24180         * lib/unigbrk/u32-grapheme-prev.c: New file.
24181         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24182
24183         New module 'u8-grapheme-breaks'.
24184         * modules/unigbrk/u8-grapheme-breaks: New file.
24185         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24186         * lib/unigbrk.in.h: Add prototype for new function.
24187         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24188         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24189
24190         New module 'u16-grapheme-breaks'.
24191         * modules/unigbrk/u16-grapheme-breaks: New file.
24192         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24193         * lib/unigbrk.in.h: Add prototype for new function.
24194         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24195         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24196
24197         New module 'u32-grapheme-breaks'.
24198         * modules/unigbrk/u32-grapheme-breaks: New file.
24199         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24200         * lib/unigbrk.in.h: Add prototype for new function.
24201         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24202         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24203
24204         New module 'ulc-grapheme-breaks'.
24205         * modules/unigbrk/ulc-grapheme-breaks: New file.
24206         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24207         * m4/locale-ar.m4: New file.
24208         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24209         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24210         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24211
24212 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24213
24214         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24215         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24216         modified how this file was generated before I initially submitted
24217         the module, but failed to regenerate it.  This meant that several
24218         of the level2 entries were wrong.
24219         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24220         Remove the division-by-2 that is folded into the table now that
24221         gbrkprop.h has been regenerated properly.  Now -1 entries are
24222         handled correctly.
24223
24224         New module 'unigbrk/uc-gbrk-prop-tests'.
24225         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24226         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24227         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24228         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24229
24230 2011-01-01  Bruno Haible  <bruno@clisp.org>
24231
24232         Avoid use of hexadecimal escapes.
24233         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24234         instead of hexadecimal escapes.
24235
24236 2011-01-01  Jim Meyering  <meyering@redhat.com>
24237
24238         maint: new rule to update copyright year ranges
24239         * Makefile (update-copyright): New rule.
24240
24241         maint: indent with TABs in Makefile
24242         * Makefile: Expand leading sequences of spaces to TABs
24243
24244         version-etc: update the copyright year it reports
24245         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24246
24247 2010-12-31  Bruno Haible  <bruno@clisp.org>
24248
24249         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24250         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24251         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24252         zero.
24253
24254 2010-12-31  Bruno Haible  <bruno@clisp.org>
24255
24256         pwrite: Work around HP-UX 11.11 bug.
24257         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24258         works and set REPLACE_PWRITE if not.
24259         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24260         function.
24261         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24262
24263 2010-12-31  Bruno Haible  <bruno@clisp.org>
24264
24265         pread: Work around HP-UX 11 bugs.
24266         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24267         and set REPLACE_PREAD if not.
24268         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24269
24270 2010-12-31  Eric Blake  <eblake@redhat.com>
24271
24272         nl_langinfo: fix YESEXPR on Irix 6.5
24273         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24274         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24275         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24276         it.
24277
24278 2010-12-31  Bruno Haible  <bruno@clisp.org>
24279
24280         iconv: Document HP-UX 11 bug.
24281         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24282
24283 2010-12-31  Bruno Haible  <bruno@clisp.org>
24284
24285         ldexpl: Fix link error on HP-UX 11.
24286         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24287         LDEXPL_LIBM, using $ISNANL_LIBM.
24288
24289 2010-12-31  Eric Blake  <eblake@redhat.com>
24290
24291         ftello: avoid compilation failure with SunStudio c89
24292         * lib/ftello.c (ftello): Use lseek, not llseek.
24293
24294         tests: avoid failing coreutils tests on cygwin
24295         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24296         (create_exe_shims_): Return 0 when skipping.
24297
24298 2010-12-31  Bruno Haible  <bruno@clisp.org>
24299
24300         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24301         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24302
24303 2010-12-31  Bruno Haible  <bruno@clisp.org>
24304
24305         waitpid: Fix link error in C++ mode.
24306         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24307
24308 2010-12-31  Bruno Haible  <bruno@clisp.org>
24309
24310         isnan: Use GCC built-ins when possible.
24311         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24312         __builtin_isnan.
24313         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24314         (isnan): Define using GCC built-ins for GCC >= 4.0.
24315
24316 2010-12-31  Bruno Haible  <bruno@clisp.org>
24317
24318         isnand: Fix mistake.
24319         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24320         __builtin_isnand.
24321
24322 2010-12-31  Bruno Haible  <bruno@clisp.org>
24323
24324         open: Avoid C++ error on HP-UX 11.
24325         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24326
24327 2010-12-31  Bruno Haible  <bruno@clisp.org>
24328
24329         time_r: Add missing declarations on HP-UX 11.
24330         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24331         instead of HAVE_LOCALTIME_R.
24332         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24333         HAVE_LOCALTIME_R always.
24334         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24335         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24336         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24337         HAVE_LOCALTIME_R.
24338         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24339         * doc/posix-functions/localtime_r.texi: Likewise.
24340
24341 2010-12-29  Eric Blake  <eblake@redhat.com>
24342
24343         mountlist: tweak previous commit
24344         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24345         Reported by Paul Eggert.
24346
24347         mountlist: fix local drive detection on cygwin
24348         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24349         that works for cygwin.
24350
24351 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24352
24353         ftoastr, snprintf: ftoastr + snprintf module
24354         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24355         since the snprintf module now should be good enough here.
24356         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24357         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24358         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24359         GNULIB_SNPRINTF only for the test directory, and the latter
24360         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24361         seems to suffice by itself.
24362
24363 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24364
24365         alloca: one step towards thread-safety
24366         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24367         need for a static variable.  All callers changed.  This does not
24368         make the alloca replacement thread-safe, but it's one step.
24369
24370         tests: minor indenting change
24371         * tests/init.sh: Sync from coreutils housekeeping patch
24372         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24373         to keep lines within 80 columns.
24374
24375 2010-12-28  Jim Meyering  <meyering@redhat.com>
24376
24377         regex: don't infloop on persistent failing calloc
24378         * lib/regexec.c (build_trtable): Return failure indication upon
24379         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24380         In glibc, this was fixed for version 2.13:
24381         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24382
24383 2010-12-28  Bruno Haible  <bruno@clisp.org>
24384             Paul Eggert <eggert@cs.ucla.edu>
24385
24386         linkat: Make implementation robust against system behaviour variations.
24387         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24388         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24389         way, and to -2 if it needs a generic runtime test.
24390         * lib/linkat.c (solaris_optimized_link_immediate,
24391         solaris_optimized_link_follow): New functions.
24392         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24393         (check_same_link): Use it.
24394
24395 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24396
24397         New module 'unigbrk/base'.
24398         * modules/unigbrk/base: New file.
24399         * lib/unigbrk.in.h: New file.
24400
24401         New module 'unigbrk/uc-gbrk-prop'.
24402         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24403         * modules/unigbrk/uc-gbrk-prop: New file.
24404         * lib/unigbrk/gbrkprop.h: New file.
24405         * lib/unigbrk/uc-gbrk-prop.c: New file.
24406
24407         New module 'unigbrk/uc-is-grapheme-break'.
24408         * modules/unigbrk/uc-is-grapheme-break: New file.
24409         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24410         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24411         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24412         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24413         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24414
24415         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24416
24417 2010-12-27  Bruno Haible  <bruno@clisp.org>
24418
24419         linkat test: Avoid failure on Solaris 11 2010-11.
24420         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24421
24422 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24423
24424         utimens: work around glibc rounding bug on more platforms
24425         * lib/utimens.c (fdutimens): Work around rounding bug even if
24426         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
24427         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
24428
24429 2010-12-27  Bruno Haible  <bruno@clisp.org>
24430
24431         select tests: Improve comments.
24432         * tests/test-select.c (do_select): Add comments.
24433
24434 2010-12-27  Bruno Haible  <bruno@clisp.org>
24435
24436         select tests: Safer way of handling timeout.
24437         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
24438         at every invocation.
24439
24440 2010-12-27  Bruno Haible  <bruno@clisp.org>
24441
24442         select tests: Use 'bool' where appropriate.
24443         * tests/test-select.c (connect_to_socket): Change argument type to
24444         'bool'.
24445
24446 2010-12-27  Bruno Haible  <bruno@clisp.org>
24447
24448         select tests: Use existing modules.
24449         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
24450         (configure.ac): Don't test for unistd.h.
24451         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24452         declared in <unistd.h>.
24453
24454 2010-12-27  Bruno Haible  <bruno@clisp.org>
24455
24456         mbrtowc: Work around a Solaris 7 bug.
24457         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24458         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24459         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24460         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24461         MBRTOWC_NULL_ARG1_BUG.
24462         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24463         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24464         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24465         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24466
24467 2010-12-27  Jim Meyering  <meyering@redhat.com>
24468
24469         read-file.c: tweak syntax
24470         * lib/read-file.c (fread_file): Remove space after "*" in function
24471         definitions.
24472
24473 2010-12-27  Bruno Haible  <bruno@clisp.org>
24474
24475         times test: Avoid gcc warnings on OSF/1.
24476         * tests/test-times.c (main): Cast printf arguments from clock_t to
24477         'long int'.
24478
24479 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24480
24481         utimens: work around glibc rounding bug on older Linux kernels
24482         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24483         on Linux with a glibc whose utimes might not work, then work
24484         around a longstanding glibc bug involving rounding rather than
24485         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24486         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24487
24488 2010-12-26  Bruno Haible  <bruno@clisp.org>
24489
24490         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24491         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24492         _GL_CXXALIAS_SYS.
24493         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24494
24495 2010-12-26  Bruno Haible  <bruno@clisp.org>
24496
24497         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24498         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24499         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24500         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24501         looking for the declaration.
24502         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24503         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24504         problem.
24505         * doc/posix-functions/inet_pton.texi: Likewise.
24506
24507 2010-12-26  Bruno Haible  <bruno@clisp.org>
24508
24509         arpa_inet: Use the common idioms with C++ support.
24510         * lib/arpa_inet.in.h: Include c++defs.h.
24511         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24512         support.
24513         * modules/arpa_inet (Depends-on): Add c++defs.
24514         (Makefile.am): Substitute the contents of c++defs.h.
24515         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24516         * modules/arpa_inet-c++-tests: New file.
24517         * tests/test-arpa_inet-c++.cc: New file.
24518
24519 2010-12-25  Bruno Haible  <bruno@clisp.org>
24520
24521         Fix more C++ link errors on Solaris 8.
24522         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24523         $(LIB_EACCESS).
24524         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24525         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24526         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24527         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24528         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24529
24530 2010-12-25  Bruno Haible  <bruno@clisp.org>
24531
24532         printf-posix: Fix link error when a non-GCC compiler is used.
24533         * lib/stdio.in.h (printf): When not using GCC, override printf
24534         correctly.
24535         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24536
24537 2010-12-25  Bruno Haible  <bruno@clisp.org>
24538
24539         strerror_r-posix: Update doc.
24540         * doc/posix-functions/strerror_r.texi: Update doc about the return
24541         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24542
24543 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24544
24545         utimens: simplify the logic of the previous change
24546         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24547         This should not affect whether the test succeeds or fails.
24548
24549         utimens: configure better on hosts with NFS clock skew
24550         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24551         uses the clock of the local host.  It might use the clock of the
24552         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24553         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24554
24555 2010-12-25  Bruno Haible  <bruno@clisp.org>
24556
24557         ptsname test: Avoid failure on Solaris.
24558         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24559         open a pseudo-terminal; don't use BSD-style ptys.
24560         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24561
24562 2010-12-25  Bruno Haible  <bruno@clisp.org>
24563
24564         ptsname: Avoid ERANGE failure on some systems.
24565         * lib/ptsname.c (buffer): Increase size.
24566
24567 2010-12-25  Bruno Haible  <bruno@clisp.org>
24568
24569         rename, renameat: Avoid test failures at NFS mounted locations.
24570         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24571         so that subsequent mkdir calls succeed.
24572
24573 2010-12-25  Bruno Haible  <bruno@clisp.org>
24574
24575         iswblank: Fix C++ link error on Solaris 8.
24576         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24577         _GL_FUNCDECL_SYS.
24578
24579 2010-12-25  Bruno Haible  <bruno@clisp.org>
24580
24581         unistd: Fix C++ link error on Solaris 8.
24582         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24583
24584 2010-12-25  Bruno Haible  <bruno@clisp.org>
24585
24586         readlink doc: Mention an old glibc bug.
24587         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24588
24589 2010-12-25  Bruno Haible  <bruno@clisp.org>
24590
24591         fcntl-h: Fix for use of C++ on glibc systems.
24592         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24593         also on glibc systems in C++ mode.
24594         Reported by Gary V. Vaughan <gary@gnu.org>.
24595
24596 2010-12-25  Bruno Haible  <bruno@clisp.org>
24597
24598         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24599         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24600
24601 2010-12-25  Bruno Haible  <bruno@clisp.org>
24602
24603         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24604         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24605         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24606         test whether truncl works according to ISO C 99 with IEC 60559.
24607         * m4/truncl-ieee.m4: New file.
24608         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24609         m4/signbit.m4.
24610         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24611
24612 2010-12-25  Bruno Haible  <bruno@clisp.org>
24613
24614         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24615         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24616         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24617         test whether ceill works according to ISO C 99 with IEC 60559.
24618         * m4/ceill-ieee.m4: New file.
24619         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24620         m4/signbit.m4.
24621         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24622
24623 2010-12-25  Bruno Haible  <bruno@clisp.org>
24624
24625         Ensure all prerequisites of <wchar.h> are included.
24626         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24627         before <wchar.h>.
24628         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24629         gl_MBRLEN_NUL_RETVAL): Likewise.
24630         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24631         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24632         AC_FUNC_MBRTOWC): Likewise.
24633         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24634         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24635         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24636         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24637         Likewise.
24638         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24639         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24640         (gl_WCHAR_H): Improve comments.
24641         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24642
24643 2010-12-25  Bruno Haible  <bruno@clisp.org>
24644
24645         strtok_r: Fix C syntax error in autoconf macro.
24646         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24647         characters in test program.
24648
24649 2010-12-24  Bruno Haible  <bruno@clisp.org>
24650
24651         ceil, trunc, round: Fix gcc warnings.
24652         * lib/ceil.c (MIN): Undefine before redefining.
24653         * lib/trunc.c (MIN): Likewise.
24654         * lib/round.c (MIN): Likewise.
24655         Include <math.h> first.
24656
24657 2010-12-24  Bruno Haible  <bruno@clisp.org>
24658
24659         select tests: Avoid failures on OSF/1 5.1.
24660         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24661         failure of closing the last socket; it may fail with ECONNRESET.
24662
24663 2010-12-24  Eric Blake  <eblake@redhat.com>
24664
24665         stdint: avoid HP-UX 10.20 preprocessor bug
24666         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24667         than #if.
24668         * tests/test-floor2.c (main): Likewise.
24669         Reported by Peter O'Gorman.
24670
24671         pipe: make obsoletion transition easier
24672         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24673         * modules/pipe (Files): Include revived file.
24674         (Include): Drop reference, to mirror getdate's behavior.
24675
24676 2010-12-24  Bruno Haible  <bruno@clisp.org>
24677
24678         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24679         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24680         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24681         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24682
24683 2010-12-24  Bruno Haible  <bruno@clisp.org>
24684
24685         gethostname: Ensure declaration on NonStop Kernel.
24686         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24687         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24688
24689 2010-12-24  Bruno Haible  <bruno@clisp.org>
24690
24691         sys_select: Ensure all necessary types on NonStop Kernel.
24692         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24693         include <sys/time.h>.
24694         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24695         NonStop Kernel.
24696         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24697
24698 2010-12-24  Bruno Haible  <bruno@clisp.org>
24699
24700         sys_select: Remove unneeded include.
24701         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24702         have <sys/select.h>.
24703
24704 2010-12-24  Bruno Haible  <bruno@clisp.org>
24705
24706         gethostname: Provide a fallback for HOST_NAME_MAX.
24707         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24708         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24709         instead.
24710         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24711
24712 2010-12-24  Bruno Haible  <bruno@clisp.org>
24713
24714         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24715         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24716         (SA_RESTART): Likewise.
24717         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24718
24719 2010-12-24  Bruno Haible  <bruno@clisp.org>
24720
24721         signal: Define NSIG.
24722         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24723         * tests/test-signal.c (nsig): New variable.
24724         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24725
24726 2010-12-24  Bruno Haible  <bruno@clisp.org>
24727
24728         rename, renameat: Avoid test failures on OSF/1 5.1.
24729         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24730         alternative error codes.
24731         * tests/test-renameat.c (main): Likewise.
24732
24733 2010-12-24  Bruno Haible  <bruno@clisp.org>
24734
24735         *printf: Detect large precisions bug on Solaris 10/SPARC.
24736         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24737         by Paul Eggert.
24738         * tests/test-snprintf-posix.h (test_function): Add this test code here
24739         too.
24740         * tests/test-sprintf-posix.h (test_function): Likewise.
24741         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24742         * tests/test-vasprintf-posix.c (test_function): Likewise.
24743         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24744         around by gnulib.
24745         * doc/posix-functions/printf.texi: Likewise.
24746         * doc/posix-functions/snprintf.texi: Likewise.
24747         * doc/posix-functions/sprintf.texi: Likewise.
24748         * doc/posix-functions/vfprintf.texi: Likewise.
24749         * doc/posix-functions/vprintf.texi: Likewise.
24750         * doc/posix-functions/vsnprintf.texi: Likewise.
24751         * doc/posix-functions/vsprintf.texi: Likewise.
24752         * doc/posix-functions/dprintf.texi: Undo last commit.
24753         * doc/posix-functions/vdprintf.texi: Likewise.
24754
24755 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24756
24757         tests: port test-fdutimensat.c to Solaris 8
24758         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24759         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24760         On Solaris 8, it fails with errno == ENOSYS, because there is no
24761         futimens (so it can't use the fd), and there is no lutimens (so it
24762         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24763
24764         vsnprintf: make more consistent with snprintf; doc fixes
24765
24766         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24767         the byte count return problem was promoted from the snprintf-posix
24768         to the snprintf module.
24769         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24770         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24771         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24772         * tests/test-snprintf.c (main): Check the byte count returned.
24773         * tests/test-vsnprintf.c (main): Likewise.
24774
24775 2010-12-23  Eric Blake  <eblake@redhat.com>
24776
24777         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24778         * modules/sigpipe (License): Relax license.
24779
24780 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24781
24782         doc: document Solaris printf bug with large float precisions
24783         * doc/posix-functions/dprintf.texi (dprintf):
24784         * doc/posix-functions/fprintf.texi (fprintf):
24785         * doc/posix-functions/printf.texi (printf):
24786         * doc/posix-functions/snprintf.texi (snprintf):
24787         * doc/posix-functions/sprintf.texi (sprintf):
24788         * doc/posix-functions/vdprintf.texi (vdprintf):
24789         * doc/posix-functions/vfprintf.texi (vfprintf):
24790         * doc/posix-functions/vprintf.texi (vprintf):
24791         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24792         * doc/posix-functions/vsprintf.texi (vsprintf):
24793         Mention that these functions mishandle large floating point
24794         precisions on Solaris 10.  The same bug is also present in Solaris
24795         8, and I assume earlier.  This causes "cd gnulib-tests; make
24796         check" to fail on Solaris 8 (and I assume, later) when building
24797         the latest coreutils, in test-vasprintf-posix's call to
24798         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24799         the wide flavors (e.g., wprintf) so this patch just updates the
24800         documentation for the narrow ones.
24801
24802         test-posixtm.c: add two tests
24803         * tests/test-posixtm.c: Add two tests, to highlight the
24804         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24805         around this bug; this is merely to document it.
24806
24807 2010-12-22  Bruno Haible  <bruno@clisp.org>
24808
24809         getlogin_r: Work around portability problem on OSF/1.
24810         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24811         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24812         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24813         test for a truncated result.
24814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24815         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24816         * modules/getlogin_r (Depends-on): Add memchr.
24817         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24818
24819 2010-12-22  Bruno Haible  <bruno@clisp.org>
24820
24821         ptsname: Avoid test failure on OSF/1 5.1.
24822         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24823         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24824         (same_slave): New function.
24825         (main): Use it to compare ptsname's result with the expected file name.
24826
24827 2010-12-22  Bruno Haible  <bruno@clisp.org>
24828
24829         Port extended stdio modules to HP NonStop Kernel.
24830         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24831         macros.
24832         * lib/fbufmode.c: Update comments.
24833         * lib/fflush.c: Likewise.
24834         * lib/fpurge.c: Likewise.
24835         * lib/freadable.c: Likewise.
24836         * lib/freadahead.c: Likewise.
24837         * lib/freading.c: Likewise.
24838         * lib/freadptr.c: Likewise.
24839         * lib/freadseek.c: Likewise.
24840         * lib/fseeko.c: Likewise.
24841         * lib/fseterr.c: Likewise.
24842         * lib/fwritable.c: Likewise.
24843         * lib/fwriting.c: Likewise.
24844         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24845
24846 2010-12-22  Bruno Haible  <bruno@clisp.org>
24847
24848         ttyname_r: Work around bug on OSF/1 5.1.
24849         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24850         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24851         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24852         present.
24853         * lib/ttyname_r.c (ttyname_r): Update comments.
24854
24855 2010-12-22  Bruno Haible  <bruno@clisp.org>
24856
24857         round: Implement result sign according to IEEE 754.
24858         * lib/round.c (MIN, MINUS_ZERO): New macros.
24859         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24860         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24861         * tests/test-round-ieee.c (main): Likewise.
24862         * tests/test-roundl-ieee.c (main): Likewise.
24863
24864         trunc: Implement result sign according to IEEE 754.
24865         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24866         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24867         * tests/test-trunc2.c: Include minus-zero.h.
24868         (MINUS_ZERO): New macro.
24869         (trunc_reference): Keep in sync with lib/trunc.c.
24870         * tests/test-truncf2.c: Include minus-zero.h.
24871         (MINUS_ZERO): New macro.
24872         (truncf_reference): Keep in sync with lib/trunc.c.
24873         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24874         * tests/test-trunc-ieee.c (main): Likewise.
24875         * tests/test-truncl-ieee.c (main): Likewise.
24876
24877         ceil: Implement result sign according to IEEE 754.
24878         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24879         (FUNC): Return -0.0 for -1 < x < 0.
24880         * tests/test-ceil2.c: Include minus-zero.h.
24881         (MINUS_ZERO): New macro.
24882         (ceil_reference): Keep in sync with lib/ceil.c.
24883         * tests/test-ceilf2.c: Include minus-zero.h.
24884         (MINUS_ZERO): New macro.
24885         (ceilf_reference): Keep in sync with lib/ceil.c.
24886         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24887         * tests/test-ceil-ieee.c (main): Likewise.
24888         * tests/test-ceill-ieee.c (main): Likewise.
24889
24890         floor: Implement result sign according to IEEE 754.
24891         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24892         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24893         * tests/test-floorf2.c (floorf_reference): Likewise.
24894         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24895         * tests/test-floor-ieee.c (main): Likewise.
24896         * tests/test-floorl-ieee.c (main): Likewise.
24897
24898 2010-12-22  Bruno Haible  <bruno@clisp.org>
24899
24900         getaddrinfo: Update doc.
24901         * doc/posix-functions/gai_strerror.texi: Return type is also different
24902         on AIX and HP-UX.
24903
24904 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24905
24906         getaddrinfo, inet_ntop: Update doc for Solaris.
24907         * doc/posix-functions/gai_strerror.texi: Return type is also an
24908         issue on Solaris 9 and earlier.
24909         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24910         on Solaris 10 and earlier.
24911
24912 2010-12-21  Bruno Haible  <bruno@clisp.org>
24913
24914         New module 'roundl-ieee'.
24915         * modules/roundl-ieee: New file.
24916         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24917         test whether roundl works according to ISO C 99 with IEC 60559.
24918         * m4/roundl-ieee.m4: New file.
24919         * modules/roundl-ieee-tests: New file.
24920         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24921         * tests/test-roundl.c (main): Remove signbit tests.
24922         * modules/roundl-tests (Depends-on): Remove signbit.
24923         * doc/posix-functions/roundl.texi: Mention the new module.
24924
24925 2010-12-21  Bruno Haible  <bruno@clisp.org>
24926
24927         New module 'truncl-ieee'.
24928         * modules/truncl-ieee: New file.
24929         * modules/truncl-ieee-tests: New file.
24930         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24931         * tests/test-truncl.c (main): Remove signbit tests.
24932         * modules/truncl-tests (Depends-on): Remove signbit.
24933         * doc/posix-functions/truncl.texi: Mention the new module.
24934
24935 2010-12-21  Bruno Haible  <bruno@clisp.org>
24936
24937         New module 'ceill-ieee'.
24938         * modules/ceill-ieee: New file.
24939         * modules/ceill-ieee-tests: New file.
24940         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24941         * tests/test-ceill.c (main): Remove signbit tests.
24942         * modules/ceill-tests (Depends-on): Remove signbit.
24943         * doc/posix-functions/ceill.texi: Mention the new module.
24944
24945 2010-12-21  Bruno Haible  <bruno@clisp.org>
24946
24947         New module 'floorl-ieee'.
24948         * modules/floorl-ieee: New file.
24949         * modules/floorl-ieee-tests: New file.
24950         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24951         * tests/test-floorl.c (main): Remove signbit tests.
24952         * modules/floorl-tests (Depends-on): Remove signbit.
24953         * doc/posix-functions/floorl.texi: Mention the new module.
24954
24955 2010-12-21  Bruno Haible  <bruno@clisp.org>
24956
24957         New module 'round-ieee'.
24958         * modules/round-ieee: New file.
24959         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24960         whether round works according to ISO C 99 with IEC 60559.
24961         * m4/round-ieee.m4: New file.
24962         * modules/round-ieee-tests: New file.
24963         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24964         * tests/test-round1.c (main): Remove signbit tests.
24965         * modules/round-tests (Depends-on): Remove 'signbit'.
24966         * doc/posix-functions/round.texi: Mention the new module.
24967
24968 2010-12-21  Bruno Haible  <bruno@clisp.org>
24969
24970         New module 'trunc-ieee'.
24971         * modules/trunc-ieee: New file.
24972         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24973         whether trunc works according to ISO C 99 with IEC 60559.
24974         * m4/trunc-ieee.m4: New file.
24975         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24977         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24978         * modules/trunc-ieee-tests: New file.
24979         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24980         * tests/test-trunc1.c (main): Remove signbit tests.
24981         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24982         * doc/posix-functions/trunc.texi: Mention the new module.
24983
24984 2010-12-21  Bruno Haible  <bruno@clisp.org>
24985
24986         New module 'ceil-ieee'.
24987         * modules/ceil-ieee: New file.
24988         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24989         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24990         ISO C 99 with IEC 60559.
24991         * m4/ceil-ieee.m4: New file.
24992         * modules/ceil (Files): Add lib/ceil.c.
24993         (Depends-on): Add 'float'.
24994         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24995         * lib/math.in.h (ceil): New declaration.
24996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24997         REPLACE_CEIL.
24998         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24999         * modules/ceil-ieee-tests: New file.
25000         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
25001         * tests/test-math-c++.cc: Check the signature of 'ceil'.
25002         * doc/posix-functions/ceil.texi: Mention the new module.
25003
25004 2010-12-21  Bruno Haible  <bruno@clisp.org>
25005
25006         New module 'floor-ieee'.
25007         * modules/floor-ieee: New file.
25008         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
25009         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
25010         ISO C 99 with IEC 60559.
25011         * m4/floor-ieee.m4: New file.
25012         * modules/floor (Files): Add lib/floor.c.
25013         (Depends-on): Add 'float'.
25014         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
25015         * lib/math.in.h (floor): New declaration.
25016         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
25017         REPLACE_FLOOR.
25018         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
25019         * modules/floor-ieee-tests: New file.
25020         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
25021         * tests/test-math-c++.cc: Check the signature of 'floor'.
25022         * doc/posix-functions/floor.texi: Mention the new module.
25023
25024 2010-12-21  Bruno Haible  <bruno@clisp.org>
25025
25026         New module 'roundf-ieee'.
25027         * modules/roundf-ieee: New file.
25028         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
25029         test whether roundf works according to ISO C 99 with IEC 60559.
25030         * m4/roundf-ieee.m4: New file.
25031         * modules/roundf-ieee-tests: New file.
25032         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
25033         * tests/test-roundf1.c (main): Remove signbit tests.
25034         * modules/roundf-tests (Depends-on): Remove 'signbit'.
25035         * doc/posix-functions/roundf.texi: Mention the new module.
25036
25037 2010-12-21  Bruno Haible  <bruno@clisp.org>
25038
25039         New module 'truncf-ieee'.
25040         * modules/truncf-ieee: New file.
25041         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
25042         test whether truncf works according to ISO C 99 with IEC 60559.
25043         * m4/truncf-ieee.m4: New file.
25044         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
25045         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
25046         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
25047         * modules/truncf-ieee-tests: New file.
25048         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
25049         * tests/test-truncf1.c (main): Remove signbit tests.
25050         * modules/truncf-tests (Depends-on): Remove 'signbit'.
25051         * doc/posix-functions/truncf.texi: Mention the new module.
25052
25053 2010-12-21  Bruno Haible  <bruno@clisp.org>
25054
25055         New module 'ceilf-ieee'.
25056         * modules/ceilf-ieee: New file.
25057         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
25058         test whether ceilf works according to ISO C 99 with IEC 60559.
25059         * m4/ceilf-ieee.m4: New file.
25060         * modules/ceilf-ieee-tests: New file.
25061         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
25062         * tests/test-ceilf1.c (main): Remove signbit tests.
25063         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
25064         * doc/posix-functions/ceilf.texi: Mention the new module.
25065
25066 2010-12-21  Bruno Haible  <bruno@clisp.org>
25067
25068         New module 'floorf-ieee'.
25069         * modules/floorf-ieee: New file.
25070         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
25071         test whether floorf works according to ISO C 99 with IEC 60559.
25072         * m4/floorf-ieee.m4: New file.
25073         * modules/floorf-ieee-tests: New file.
25074         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
25075         * tests/test-floorf1.c (main): Remove signbit tests.
25076         * modules/floorf-tests (Depends-on): Remove 'signbit'.
25077         * doc/posix-functions/floorf.texi: Mention the new module.
25078
25079 2010-12-21  Bruno Haible  <bruno@clisp.org>
25080
25081         Support for minus zero in autoconf macros.
25082         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
25083         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
25084         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
25085         * tests/minus-zero.h: Update comments.
25086
25087 2010-12-21  Bruno Haible  <bruno@clisp.org>
25088
25089         Tests for module 'ceil'.
25090         * modules/ceil-tests: New file.
25091         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
25092         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
25093
25094 2010-12-21  Bruno Haible  <bruno@clisp.org>
25095
25096         Tests for module 'floor'.
25097         * modules/floor-tests: New file.
25098         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
25099         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
25100
25101 2010-12-21  Bruno Haible  <bruno@clisp.org>
25102
25103         math: Fix indentation.
25104         * lib/math.in.h (floorf): Fix indentation.
25105
25106 2010-12-21  Bruno Haible  <bruno@clisp.org>
25107
25108         Fix cross-compilation guesses on Solaris.
25109         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
25110         not match "solaris2.10".
25111         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25112         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
25113         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
25114
25115 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
25116
25117         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
25118         This fixes a problem observed with the latest coreutils snapshot
25119         that caused a test to fail on Solaris 8.  src/csplit.c's call
25120         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
25121         earlier, instead of returning the number of bytes that would have
25122         been generated; this causes csplit to incorrectly report memory
25123         exhaustion.
25124         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
25125         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
25126         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25127         comments to match.
25128         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25129         Fix typo in matching older versions of Solaris: "solaris2.10"
25130         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25131         only for guessing while cross-compiling.
25132         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25133
25134 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25135
25136         ftoastr: fix comment again
25137         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25138         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25139         Also, simplify example a bit by using flags = 0.
25140
25141 2010-12-20  Bruno Haible  <bruno@clisp.org>
25142
25143         round*, trunc*: Update documentation regarding glibc.
25144         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25145         * doc/posix-functions/round.texi: Likewise.
25146         * doc/posix-functions/roundl.texi: Likewise.
25147         * doc/posix-functions/truncf.texi: Likewise.
25148         * doc/posix-functions/trunc.texi: Likewise.
25149         * doc/posix-functions/truncl.texi: Likewise.
25150
25151 2010-12-20  Bruno Haible  <bruno@clisp.org>
25152
25153         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25154         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25155         * doc/posix-functions/round.texi: Likewise.
25156         * doc/posix-functions/roundl.texi: Likewise.
25157
25158 2010-12-20  Bruno Haible  <bruno@clisp.org>
25159
25160         ttyname_r: Add missing declaration on HP-UX 11.
25161         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25162         HAVE_TTYNAME_R.
25163         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25164         declared. Set HAVE_TTYNAME_R always.
25165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25166         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25167         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25168         HAVE_TTYNAME_R.
25169         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25170
25171 2010-12-20  Bruno Haible  <bruno@clisp.org>
25172
25173         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25174         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25175         * doc/posix-functions/getlogin_r.texi: Likewise.
25176         * tests/test-getlogin.c: Include <errno.h>.
25177         (main): Avoid test failure on HP-UX 11.11.
25178         * tests/test-getlogin_r.c (main): Likewise.
25179
25180 2010-12-20  Bruno Haible  <bruno@clisp.org>
25181
25182         getlogin_r: Add missing declaration on HP-UX 11.
25183         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25184         declared also when it exists as a function.
25185         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25186
25187 2010-12-20  Bruno Haible  <bruno@clisp.org>
25188
25189         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25190         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25191         through wcrtomb.
25192
25193 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25194
25195         ftoastr: fix comment
25196         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25198
25199 2010-12-19  Bruno Haible  <bruno@clisp.org>
25200
25201         isnan: Ensure it is a macro.
25202         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25203         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25204         Solaris.
25205
25206 2010-12-19  Bruno Haible  <bruno@clisp.org>
25207
25208         ldexpl test: Fix link error on OSF/1 5.1.
25209         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25210
25211 2010-12-19  Bruno Haible  <bruno@clisp.org>
25212
25213         wctype: Make it work in C++ mode on OSF/1 5.1.
25214         * lib/wctype.in.h (iswblank): Declare but not define here.
25215         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25216         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25217         * modules/wctype (Files): Add lib/iswblank.c.
25218
25219 2010-12-19  Bruno Haible  <bruno@clisp.org>
25220
25221         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25222         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25223         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25224
25225 2010-12-19  Bruno Haible  <bruno@clisp.org>
25226
25227         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25228         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25229         _POSIX_PII_SOCKET.
25230         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25231         * doc/posix-functions/recvfrom.texi: Likewise.
25232         * doc/posix-functions/send.texi: Likewise.
25233         * doc/posix-functions/sendto.texi: Likewise.
25234
25235 2010-12-19  Bruno Haible  <bruno@clisp.org>
25236
25237         tcgetsid: Add missing declaration on OSF/1 5.1.
25238         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25239         HAVE_TCGETSID.
25240         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25241         Don't set HAVE_TCGETSID.
25242         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25243         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25244         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25245         HAVE_TCGETSID.
25246         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25247
25248 2010-12-19  Bruno Haible  <bruno@clisp.org>
25249
25250         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25251         * lib/stdio.in.h: During the include_next statement, let recursive
25252         includes of this file include only the system header file.
25253
25254 2010-12-19  Bruno Haible  <bruno@clisp.org>
25255
25256         iconv_open: Fix regression from 2010-12-04.
25257         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25258         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25259
25260 2010-12-19  Bruno Haible  <bruno@clisp.org>
25261
25262         stdbool test: Avoid a gcc warning.
25263         * tests/test-stdbool.c (main): Fail if e1 is false.
25264         Reported by Jim Meyering.
25265
25266 2010-12-19  Jim Meyering  <meyering@redhat.com>
25267
25268         setenv: restore to working order
25269         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25270         mistakenly removed.
25271         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25272         HAVE_SETENV.
25273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25274         HAVE_SETENV.
25275
25276 2010-12-19  Bruno Haible  <bruno@clisp.org>
25277
25278         Document some different function declarations on OSF/1 5.1.
25279         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25280         * doc/posix-functions/inet_ntop.texi: Likewise.
25281         * doc/posix-functions/gethostname.texi: Likewise.
25282         * lib/unistd.in.h (gethostname): Update comment.
25283
25284 2010-12-19  Bruno Haible  <bruno@clisp.org>
25285
25286         doc: Mention vasprintf-posix module.
25287         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25288         the 'vasprintf-posix' module.
25289         * doc/glibc-functions/vasprintf.texi: Likewise.
25290
25291 2010-12-19  Bruno Haible  <bruno@clisp.org>
25292
25293         unsetenv: Add missing declaration on OSF/1 5.1.
25294         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25295         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25296         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25298         not HAVE_UNSETENV.
25299         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25300         HAVE_UNSETENV.
25301         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25302
25303 2010-12-19  Bruno Haible  <bruno@clisp.org>
25304
25305         setenv: Add missing declaration on OSF/1 5.1.
25306         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25307         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25308         declared. Don't set HAVE_SETENV.
25309         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25310         not HAVE_SETENV.
25311         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25312         HAVE_SETENV.
25313         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25314
25315 2010-12-19  Bruno Haible  <bruno@clisp.org>
25316
25317         nl_langinfo tests: Avoid gcc warning.
25318         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25319
25320 2010-12-19  Bruno Haible  <bruno@clisp.org>
25321
25322         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25323         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25324         _GL_CXXALIAS_SYS.
25325
25326 2010-12-19  Bruno Haible  <bruno@clisp.org>
25327
25328         stdbool: Relax test.
25329         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25330         address to 'bool' work in static initializer, for compilers other than
25331         GCC.
25332
25333 2010-12-19  Bruno Haible  <bruno@clisp.org>
25334
25335         ftello: Add missing declaration on OSF/1 5.1.
25336         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25337         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25339         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25340         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25341
25342 2010-12-19  Bruno Haible  <bruno@clisp.org>
25343
25344         fseeko: Add missing declaration on OSF/1 5.1.
25345         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25346         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25348         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25349         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25350
25351 2010-12-19  Bruno Haible  <bruno@clisp.org>
25352
25353         fchdir: Add missing declaration on OSF/1 5.1.
25354         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25355         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25357         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25358         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25359
25360 2010-12-19  Bruno Haible  <bruno@clisp.org>
25361
25362         relocatable-prog-wrapper: Separate from relocatable-prog.
25363         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25364         uninstall-relocwrapper rule here.
25365         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25366         Reported by Ian Beckwith <ianb@erislabs.net>.
25367
25368 2010-12-19  Bruno Haible  <bruno@clisp.org>
25369
25370         unistr/u8-mbsnlen: Add missing dependency.
25371         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25372         Reported by Ian Beckwith <ianb@erislabs.net>.
25373
25374 2010-12-19  Bruno Haible  <bruno@clisp.org>
25375
25376         iconv: Make it possible again to use this module without 'iconv-h'.
25377         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25378         if it is not defined.
25379         Reported by Ian Beckwith <ianb@erislabs.net>.
25380
25381 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25382
25383         acl: port to Solaris 8 when copying from tmpfs to ufs
25384         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25385         error number.  Problem observed on Solaris 8 with latest
25386         coreutils, with "mv A B", where A is on a tmpfs file system and B
25387         is on a ufs file system.  This caused coreutils' mv/part-symlink
25388         test to fail.
25389
25390         tests: set fail=0 at start
25391         * tests/init.sh (setup_): Move fail=0 initialization here ...
25392         (mktempd_): ... from here, so that tests can rely on fail being
25393         set to 0 initially.  This fixes a problem in coreutils; see:
25394         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25395
25396 2010-12-18  Bruno Haible  <bruno@clisp.org>
25397
25398         memmem-simple: Stylistic changes.
25399         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25400         Fix preprocessor directive indentation.
25401
25402 2010-12-15  Pádraig Brady <P@draigBrady.com>
25403
25404         memmem, memmem-simple: reorganize and expand empty needle check
25405         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25406         functional checks to memmem-simple so that one has a fully functional
25407         memmem by using just this module.
25408         Restrict the performance only check to the memmem module.
25409         Also expand the empty needle check to ensure the correct
25410         pointer is returned, not just a non NULL pointer.
25411         * doc/glibc-functions/memmem.texi: Rearrange the portability
25412         documentation to correlate with the rearranged checks.
25413         Clarify exactly how the memmem and memmem-simple modules
25414         relate to each other.
25415
25416 2010-12-15  Pádraig Brady <P@draigBrady.com>
25417             Bruno Haible  <bruno@clisp.org>
25418
25419         Improve cross-compilation guesses for uClibc.
25420         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25421         that uClibc does not have the glibc bug.
25422         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25423         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
25424
25425 2010-12-14  Eric Blake  <eblake@redhat.com>
25426
25427         configmake: provide fallbacks for oldest supported autotools
25428         * m4/configmake.m4: New file.
25429         * modules/configmake (Files): Ship it.
25430         (configure.ac): Use it to guarantee fallbacks.
25431
25432 2010-12-13  Pádraig Brady <P@draigBrady.com>
25433
25434         read-file: Improve handling of large files
25435         * lib/read-file.c (fread_file): Minimize realloc()s
25436         for regular files, and better manage sizes around SIZE_MAX.
25437
25438 2010-12-13  Eric Blake  <eblake@redhat.com>
25439
25440         cloexec, fcntl: relax license
25441         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
25442         consent from all contributors.
25443         * modules/fcntl (License): Likewise.
25444
25445 2010-12-10  Bruno Haible  <bruno@clisp.org>
25446
25447         Tests for module 'pipe-posix'.
25448         * modules/pipe-posix-tests: New file.
25449         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
25450
25451 2010-12-10  Bruno Haible  <bruno@clisp.org>
25452
25453         pipe-posix: Make it work in C++ mode.
25454         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
25455         (pipe): Use common idiom, not a macro definition.
25456         * lib/pipe.c: New file.
25457         * m4/pipe.m4: New file.
25458         * modules/pipe-posix (Description): Enhance.
25459         (Files): Add lib/pipe.c, m4/pipe.m4.
25460         (configure.ac): Invoke gl_FUNC_PIPE.
25461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25462         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25463         * tests/test-unistd-c++.cc: Check the signature of pipe.
25464
25465 2010-12-10  Bruno Haible  <bruno@clisp.org>
25466
25467         Rename module 'pipe' to 'spawn-pipe'.
25468         * modules/spawn-pipe: New file, renamed from modules/pipe.
25469         (Files, configure.ac, Makefile.am): Update.
25470         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25471         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25472         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25473         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25474         "spawn-pipe.h" instead of "pipe.h".
25475         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25476         to gl_SPAWN_PIPE.
25477         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25478         (Files, Makefile.am): Update.
25479         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25480         Update.
25481         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25482         Include "spawn-pipe.h" instead of "pipe.h".
25483         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25484         * lib/javacomp.c: Likewise.
25485         * lib/javaversion.c: Likewise.
25486         * lib/pipe-filter-gi.c: Likewise.
25487         * lib/pipe-filter-ii.c: Likewise.
25488         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25489         * modules/javacomp (Depends-on): Likewise.
25490         * modules/javaversion (Depends-on): Likewise.
25491         * modules/pipe-filter-gi (Depends-on): Likewise.
25492         * modules/pipe-filter-ii (Depends-on): Likewise.
25493         * MODULES.html.sh (Executing programs): Update.
25494         * NEWS: Mention the change.
25495
25496 2010-12-10  Eric Blake  <eblake@redhat.com>
25497
25498         pipe-posix: new module
25499         * modules/pipe-posix: New file.
25500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25501         (gl_UNISTD_H): Check for declaration.
25502         * modules/unistd (Makefile.am): Substitute it.
25503         * lib/unistd.in.h (pipe): Provide it for mingw.
25504         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25505         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25506
25507 2010-12-07  Bruno Haible  <bruno@clisp.org>
25508
25509         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25510         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25511         u8_strcmp_gnu.
25512         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25513
25514 2010-12-06  Bruno Haible  <bruno@clisp.org>
25515
25516         Update internal documentation.
25517         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25518
25519 2010-12-04  Bruno Haible  <bruno@clisp.org>
25520
25521         Put more information about failed tests into the test return codes.
25522         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25523         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25524         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25525         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25526         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25527         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25528         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25529         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25530         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25531         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25532         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25533         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25534         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25535         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25536         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25537         returns a bit mask.
25538         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25539         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25540         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25541         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25542         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25543         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25544         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25545         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25546         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25547         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25548         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25549         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25550         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25551         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25552         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25553         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25554         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25555         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25556         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25557         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25558         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25559         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25560         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25561         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25562         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25563         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25564         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25565         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25566         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25567         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25568         gl_PRINTF_PRECISION): Likewise.
25569         * m4/regex.m4 (gl_REGEX): Likewise.
25570         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25571         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25572         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25573         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25574         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25575         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25576         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25577         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25578         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25579         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25580         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25581         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25582         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25583         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25584         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25585         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25586         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25587         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25589         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25590         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25591         enumerated value.
25592         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25593
25594 2010-12-04  Bruno Haible  <bruno@clisp.org>
25595
25596         Update for Solaris 11 2010-11.
25597         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25598         Express, released in November 2010.
25599
25600 2010-12-04  Bruno Haible  <bruno@clisp.org>
25601
25602         nproc: Relax license.
25603         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25604         and Paul Eggert.
25605         Requested by Ludovic Courtès <ludo@gnu.org>.
25606
25607 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25608
25609         utimecmp: fine-grained src to nearby coarse-grained dest
25610
25611         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25612         and the source is on a file system with higher-resolution time
25613         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25614         not work, and the time stamps are close together, the algorithm to
25615         determine the exact resolution from the read-back mtime was buggy:
25616         it had a "!=" where it should have had an "==".  This bug has been
25617         in the code ever since it was introduced to gnulib.
25618         Problem reported by Dan Jacobson in
25619         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25620
25621 2010-11-30  Bruno Haible  <bruno@clisp.org>
25622
25623         strerror_r-posix: Fix autoconf test.
25624         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25625
25626 2010-11-28  Bruno Haible  <bruno@clisp.org>
25627             Paul Eggert  <eggert@cs.ucla.edu>
25628
25629         Tests for module 'getdomainname'.
25630         * modules/getdomainname-tests: New file.
25631         * tests/test-getdomainname.c: New file, based on
25632         tests/test-gethostname.c.
25633
25634 2010-11-28  Bruno Haible  <bruno@clisp.org>
25635             Paul Eggert  <eggert@cs.ucla.edu>
25636
25637         getdomainname: Use the system function when possible.
25638         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25639         (getdomainname): Replace if needed. Provide the declaration if it is
25640         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25641         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25642         (getdomainname): When the system has getdomainname, call the system
25643         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25644         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25645         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25646         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25647         the function if its second argument is of type 'int' or if it is found
25648         in libnsl.
25649         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25650         <sys/systeminfo.h> and sysinfo().
25651         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25652         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25653         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25654         HAVE_GETDOMAINNAME.
25655         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25656         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25657         * doc/glibc-functions/getdomainname.texi: Document the problems with
25658         the getdomainname declaration.
25659
25660 2010-11-28  Bruno Haible  <bruno@clisp.org>
25661
25662         sys_socket: Ensure ss_family field on AIX.
25663         * lib/sys_socket.in.h (ss_family): New macro definition.
25664         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25665         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25666         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25667         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25668         * modules/sys_socket (Makefile.am): Substitute
25669         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25670         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25671
25672 2010-11-27  Bruno Haible  <bruno@clisp.org>
25673
25674         readline: Improve configure output.
25675         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25676         "checking for readline..." result understandable.
25677
25678 2010-11-27  Bruno Haible  <bruno@clisp.org>
25679
25680         *printf-posix: Detect a bug on Solaris 10/x86.
25681         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25682         for floating-point output.
25683         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25684         directive.
25685         * tests/test-snprintf-posix.h (test_function): Likewise.
25686         * tests/test-sprintf-posix.h (test_function): Likewise.
25687         * tests/test-vasprintf-posix.c (test_function): Likewise.
25688         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25689         * doc/posix-functions/printf.texi: Likewise.
25690         * doc/posix-functions/snprintf.texi: Likewise.
25691         * doc/posix-functions/sprintf.texi: Likewise.
25692         * doc/posix-functions/vfprintf.texi: Likewise.
25693         * doc/posix-functions/vprintf.texi: Likewise.
25694         * doc/posix-functions/vsnprintf.texi: Likewise.
25695         * doc/posix-functions/vsprintf.texi: Likewise.
25696         * doc/glibc-functions/obstack_printf.texi: Likewise.
25697         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25698
25699 2010-11-27  Bruno Haible  <bruno@clisp.org>
25700
25701         Fix link error when module libunistring-optional is in use.
25702         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25703         * modules/striconveha-tests (Makefile.am): Likewise.
25704
25705 2010-11-27  Bruno Haible  <bruno@clisp.org>
25706
25707         regex: Mention link dependencies.
25708         * modules/regex (Link): New section.
25709         * modules/rpmatch (Link): Likewise.
25710         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25711
25712 2010-11-27  Bruno Haible  <bruno@clisp.org>
25713
25714         ftoastr: Fix compilation error on Solaris.
25715         * lib/ftoastr.c: Include <config.h>.
25716
25717 2010-11-27  Bruno Haible  <bruno@clisp.org>
25718
25719         getloadavg: Update documentation.
25720         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25721
25722 2010-11-27  Bruno Haible  <bruno@clisp.org>
25723
25724         sys_socket: Fix test whether the functions are declared.
25725         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25726         not <sys/select.h>.
25727
25728 2010-11-27  Bruno Haible  <bruno@clisp.org>
25729
25730         getpass: Make sure to get system declaration on some platforms.
25731         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25732         gl_USE_SYSTEM_EXTENSIONS.
25733         * modules/getpass (Depends-on): Add extensions.
25734
25735 2010-11-26  Bruno Haible  <bruno@clisp.org>
25736
25737         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25738         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25739         'iconv' module is present.
25740         (ICONV_CONST): New macro.
25741         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25742         ICONV_CONST.
25743         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25744         set ICONV_CONST.
25745         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25746         here.
25747         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25748         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25749         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25750         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25751         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25752         present.
25753
25754 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25755
25756         ftoastr: comment fix
25757         * lib/ftoastr.c: "little" -> "little or no" in comment
25758
25759 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25760
25761         stdint: port to GCC 4.3 + OSX + Octave
25762         On this platform, stdint.h is buggy and defines int64_t to long
25763         long int.  The replacement defined it to long int, causing
25764         problems with C++ style name mangling.  Instead, trust the system
25765         definition if INT64_MAX is defined, and likewise for the unsigned
25766         variant.   Problem reported by Jarno Rajahalme in
25767         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25768         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25769         and don't mess with int64_t and INT64_MAX in this case.
25770         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25771
25772 2010-11-24  Bruno Haible  <bruno@clisp.org>
25773
25774         doc: Corrections regarding MacOS X 10.4 and 10.5.
25775         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25776         MacOS X.
25777         Reported by Simon Josefsson.
25778
25779 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25780
25781         Uninstall ".bin" files installed by relocwrapper.
25782         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25783         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25784         unless it is already there.
25785
25786 2010-11-21  Bruno Haible  <bruno@clisp.org>
25787
25788         Update for NetBSD 5.0.
25789         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25790         NetBSD; the test fails on NetBSD 5.0.
25791         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25792         about NetBSD.
25793
25794 2010-11-21  Bruno Haible  <bruno@clisp.org>
25795
25796         Update for HP-UX 11.23 and HP-UX 11.31.
25797         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25798         HP-UX.
25799
25800 2010-11-21  Bruno Haible  <bruno@clisp.org>
25801
25802         Update for MacOS X 10.5.
25803         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25804         MacOS X; the test fails on MacOS X 10.5.8.
25805         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25806         about MacOS X.
25807
25808 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25809
25810         bootstrap: add bootstrap_sync option.
25811         See discussion at
25812         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25813         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25814         * build-aux/bootstrap: Accept --bootstrap-sync to update
25815         bootstrap if it is not identical to the local gnulib's
25816         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25817         enable this by default.  Accept --no-bootstrap-sync to disable
25818         it.
25819
25820 2010-11-20  Bruno Haible  <bruno@clisp.org>
25821
25822         Ensure that <features.h> is included before __GLIBC__ is tested.
25823         * lib/printf-parse.h: Include <features.h>.
25824         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25825         Reported by Mike Frysinger <vapier@gentoo.org>.
25826
25827         Ensure that <features.h> is included before __GLIBC__ is tested.
25828         * lib/wchar.in.h: Include <features.h>.
25829         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25830         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25831         Reported by Mike Frysinger <vapier@gentoo.org>.
25832
25833         Ensure that <features.h> is included before __GLIBC__ is tested.
25834         * lib/arpa_inet.in.h: Include <features.h>.
25835         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25836         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
25837         Reported by Mike Frysinger <vapier@gentoo.org>.
25838
25839         Ensure that <features.h> is included before __GLIBC__ is tested.
25840         * build-aux/link-warning.h: Include <features.h>.
25841         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25842         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25843         Reported by Mike Frysinger <vapier@gentoo.org>.
25844
25845         Ensure that <features.h> is included before __GLIBC__ is tested.
25846         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25847         Reported by Mike Frysinger <vapier@gentoo.org>.
25848
25849 2010-11-20  Bruno Haible  <bruno@clisp.org>
25850
25851         memmem: Fix autoconf test.
25852         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25853
25854 2010-11-20  Bruno Haible  <bruno@clisp.org>
25855
25856         Port to uClibc.
25857         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25858         * lib/fcntl.in.h: Likewise.
25859         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25860         * lib/mbrtowc.c (mbrtowc): Likewise.
25861         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25862         * lib/strerror_r.c: Likewise.
25863         * lib/unistr/u8-strnlen.c: Likewise.
25864         * lib/vasnprintf.c (decimal_point_char): Likewise.
25865         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25866         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25867         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25868         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25869         * tests/test-sigaction.c (handler, main): Likewise.
25870         * lib/freading.h: Treat uClibc like a non-glibc platform.
25871         * lib/freading.c: Likewise.
25872         * lib/gettext.h: Likewise.
25873         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25874         Likewise.
25875         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25876         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25877         * lib/propername.c (proper_name_utf8): Likewise.
25878         * lib/spawn.in.h: Likewise.
25879         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25880         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25881         mem_cd_iconveh_internal): Likewise.
25882         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25883         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25884         strstr, strcasestr): Likewise.
25885         * lib/unicodeio.c (unicode_to_mb): Likewise.
25886         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25887         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25888         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25889         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25890         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25891         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25892         * lib/unistr/u8-stpncpy.c: Likewise.
25893         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25894         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25895         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25896         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25897         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25898         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25899         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25900         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25901         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25902         Likewise.
25903         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25904         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25905         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25906         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25907         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25908         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25909         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25910         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25911         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25912         * tests/test-striconveha.c (main): Likewise.
25913         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25914         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25915         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25916         * doc/posix-functions/getline.texi: Likewise.
25917         Reported by Mike Frysinger <vapier@gentoo.org>.
25918
25919 2010-11-20  Bruno Haible  <bruno@clisp.org>
25920
25921         nproc: Fix condition.
25922         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25923         HAVE_PTHREAD_AFFINITY_NP.
25924
25925 2010-11-20  Bruno Haible  <bruno@clisp.org>
25926
25927         Fix a comment.
25928         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25929
25930 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25931
25932         ftoastr: don't assume snprintf
25933         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25934         Implement a subset of snprintf here, by using sprintf safely.
25935         * modules/ftoastr (Depends-on): Remove snprintf.
25936
25937 2010-11-19  Jim Meyering  <meyering@redhat.com>
25938
25939         test-rename.h: fix compilation failure
25940         * tests/test-rename.h (test_rename): Add omitted "}".
25941
25942 2010-11-17  Jim Meyering  <meyering@redhat.com>
25943
25944         maint.mk: add a URL discussing the no-@acronym policy
25945         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25946
25947 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25948
25949         ftoastr: depend on snprintf, improve comments
25950         * lib/ftoastr.c: Also mention Loitsch's draft.
25951         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25952         needed in the current implementation, but it might simplify
25953         speeding up the code later.
25954         * modules/ftoastr: Depend on snprintf; this improves portability.
25955         Suggested by Bruno Haible in the same email.
25956
25957         ftoastr: port to hosts lacking strtof and strtold
25958         Problem reported by Bruno Haible in
25959         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25960         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25961         environment and strtold (and presumably strtof) are not available.
25962         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25963         (configure.ac): Require gl_C99_STRTOLD.
25964
25965 2010-11-18  Bruno Haible  <bruno@clisp.org>
25966
25967         c-strtold: Avoid link error on AIX 7.
25968         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25969         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25970         (gl_C_STRTOLD): Test whether strtold_l exists.
25971         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25972
25973 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25974
25975         intprops: new macro INT_BITS_STRLEN_BOUND
25976         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25977         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25978         not exposed.  Also, it uses a slightly tighter bound than before;
25979         though this makes no practical difference, we might as well be as
25980         tight as we easily can.
25981
25982         ftoastr: new module, for lossless conversion of floats to short strings
25983         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25984         * modules/ftoastr: New files.
25985
25986 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25987
25988         bootstrap: port to Solaris sed
25989         * build-aux/bootstrap (get_version): Port to Solaris sed.
25990         See Ralf Wildenhues's note in
25991         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25992
25993 2010-11-14  Jim Meyering  <meyering@redhat.com>
25994
25995         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25996         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25997         and move definition closer to sole use.
25998
25999 2010-11-13  Jim Meyering  <meyering@redhat.com>
26000
26001         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
26002         Now we require at least autoconf-2.59, which means the work-around
26003         is no longer needed.
26004         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
26005         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26006         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
26007         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26008         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26009
26010 2010-11-13  Bruno Haible  <bruno@clisp.org>
26011
26012         rename, renameat: Avoid test failures at NFS mounted locations.
26013         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
26014         functions.
26015         (test_rename): Use assert_nonexistent.
26016         * tests/test-rename.c: Include <dirent.h>.
26017         * tests/test-renameat.c: Likewise.
26018         Reported by Gary V. Vaughan <gary@gnu.org>.
26019
26020         rename, renameat: Document Linux bug with NFS
26021         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
26022         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
26023         * doc/posix-functions/renameat.texi: Likewise.
26024         Suggested by Eric Blake.
26025
26026 2010-11-13  Bruno Haible  <bruno@clisp.org>
26027
26028         rename test: Add comments.
26029         * tests/test-rename.h (test_rename): Add structure and comments.
26030
26031 2010-11-13  Eric Blake  <eblake@redhat.com>
26032
26033         maintainer-makefile: cover a few more files
26034         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
26035         scripts generated within C files, for libvirt.
26036
26037 2010-11-13  Bruno Haible  <bruno@clisp.org>
26038
26039         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
26040         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
26041         character, return the number of bytes that belong together, not always
26042         1.
26043         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26044         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26045         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26046         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
26047         number of bytes of an invalid character.
26048         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
26049         (main): Invoke it.
26050         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
26051         results.
26052         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
26053         malformed byte sequences.
26054         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
26055         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
26056         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
26057         Reported by Ben Pfaff and Paolo Bonzini.
26058
26059 2010-11-13  Bruno Haible  <bruno@clisp.org>
26060
26061         openat: Work around glibc bug with fchownat() and empty file names.
26062         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
26063         (gl_FUNC_FCHOWNAT): Invoke it.
26064         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
26065         * doc/posix-functions/fchownat.texi: Document the glibc bug.
26066         Reported by Gary V. Vaughan <gary@gnu.org>.
26067
26068 2010-11-13  Bruno Haible  <bruno@clisp.org>
26069
26070         openat: Ensure autoconf macro ordering.
26071         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
26072         gl_USE_SYSTEM_EXTENSIONS.
26073         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
26074
26075 2010-11-13  Bruno Haible  <bruno@clisp.org>
26076
26077         Update comments.
26078         * lib/unistr/u8-check.c: Update file name in comments.
26079         * lib/unistr/u8-mblen.c: Likewise.
26080         * lib/unistr/u8-prev.c: Likewise.
26081         * lib/unistr/u8-strmblen.c: Likewise.
26082         * lib/unistr/u8-strmbtouc.c: Likewise.
26083
26084 2010-11-13  Jim Meyering  <meyering@redhat.com>
26085
26086         tests: avoid test failure on Solaris 10 due to lack of PATH export
26087         * tests/test-update-copyright.sh: Don't forget to export PATH.
26088
26089         init.sh: ensure that IFS is defined, just in case...
26090         * tests/init.sh (setup_): Ensure that IFS is defined,
26091         so that saving and restoring it works as expected.  This
26092         appears to be useful at least for an old version of dash
26093         from a long time ago (RH 6).  See here for details:
26094         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
26095
26096         maint.mk: tighten "test a == b" check
26097         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
26098         test to files that contain something like #!/bin/sh.
26099         Without this, coreutils would get two false positives in
26100         the comments of C source files.
26101
26102 2010-11-12  Eric Blake  <eblake@redhat.com>
26103
26104         bootstrap: fix typo in previous attempt
26105         * build-aux/bootstrap (buildreq): Correct the grouping.
26106         Reported by Paul Eggert.
26107
26108         maintainer-makefile: prohibit test x == x
26109         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
26110         Based on a report by Matthias Bolte.
26111
26112         bootstrap: allow FreeBSD gzip
26113         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
26114         which has no '.' and goes to stderr.
26115         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
26116         Reported by Matthias Bolte.
26117
26118         maintainer-makefile: check for i18n setup
26119         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
26120         will likely work.
26121
26122 2010-11-12  Bruno Haible  <bruno@clisp.org>
26123
26124         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
26125         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
26126         * lib/nanosleep.c (nanosleep): Likewise.
26127
26128 2010-11-11  Bruno Haible  <bruno@clisp.org>
26129
26130         fcntl-h: Fix for use of C++ on glibc systems.
26131         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26132         also on glibc systems in C++ mode.
26133         Reported by Gary V. Vaughan <gary@gnu.org>.
26134
26135 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26136
26137         mknod: avoid false failure with dash
26138         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26139
26140 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26141
26142         unlink: Fix "is it should" typo in diagnostic.
26143         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26144         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26145
26146 2010-11-11  Bruno Haible  <bruno@clisp.org>
26147
26148         Tests for module 'strerror_r-posix'.
26149         * modules/strerror_r-posix-tests: New file.
26150         * tests/test-strerror_r.c: New file.
26151         * tests/test-string-c++.cc: Check the signature of strerror_r.
26152
26153         New module 'strerror_r-posix'.
26154         * lib/string.in.h (strerror_r): New declaration.
26155         * lib/strerror_r.c: New file.
26156         * m4/strerror_r.m4: New file.
26157         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26158         of strerror_r.
26159         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26160         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26161         * modules/strerror_r-posix: New file.
26162         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26163         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26164         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26165         portability problems.
26166
26167 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26168
26169         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26170         line is also considered for output. Quoted function name in shell
26171         command, so temporary files for functions like MyClass::operator()
26172         are removed correctly without errors.
26173
26174 2010-11-09  Bruno Haible  <bruno@clisp.org>
26175
26176         * doc/posix-functions/strerror.texi: List more failing platforms.
26177
26178         * doc/posix-functions/strerror.texi: Add a comment.
26179
26180 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26181
26182         fdopendir: fix bug on MacOS X when low on file descriptors
26183
26184         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26185         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26186         All callers changed.
26187         (fdopendir): Invoke save_cwd at the top level, not after using
26188         multiple dup() calls to use up file descriptors.  Then retry
26189         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26190         less than the maximum number of open file descriptors, because
26191         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26192         on Mac OS X 10.6.4 for tar 1.24
26193         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26194         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26195         and for tar 1.25
26196         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26197
26198 2010-11-07  Bruno Haible  <bruno@clisp.org>
26199
26200         vasnprintf: Support I flag on glibc systems.
26201         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26202         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26203         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26204         snprintf function.
26205         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26206         glibc systems.
26207         * tests/test-vasnprintf-posix3.c: New file.
26208         * modules/vasnprintf-posix-tests (Files): Add it.
26209         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26210
26211 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26212
26213         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26214         * MODULES.html.sh: For compiler warnings, use name
26215         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26216
26217 2010-11-05  Eric Blake  <eblake@redhat.com>
26218
26219         ceil, floor: avoid spurious failure with icc
26220         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26221         [denormals-as-zero] when optimizing without -mieee-fp option.
26222         * tests/test-floorf2.c (floorf_reference): Likewise.
26223         * tests/test-ceilf1.c (dummy): New function.
26224         (main): Use it to outsmart icc's optimization.
26225         * tests/test-floorf1.c (dummy, main): Likewise.
26226
26227         tests: require working signbit
26228         * modules/ceilf-tests (Depends-on): Add signbit.
26229         * modules/ceill-tests (Depends-on): Likewise.
26230         * modules/floorf-tests (Depends-on): Likewise.
26231         * modules/floorl-tests (Depends-on): Likewise.
26232         * modules/round-tests (Depends-on): Likewise.
26233         * modules/roundf-tests (Depends-on): Likewise.
26234         * modules/roundl-tests (Depends-on): Likewise.
26235         * modules/trunc-tests (Depends-on): Likewise.
26236         * modules/truncf-tests (Depends-on): Likewise.
26237         * modules/truncl-tests (Depends-on): Likewise.
26238
26239         strtod: work around icc bug
26240         * lib/strtod.c (minus_zero): Define to working value.
26241         (strtod): Use it to avoid icc bug.
26242
26243         copysign: enhance tests
26244         * modules/copysign-tests (Files): Add minus-zero.h.
26245         * tests/test-copysign.c (main): Also test zeros.
26246
26247 2010-11-04  Eric Blake  <eblake@redhat.com>
26248
26249         ceil, floor, round, trunc: enhance tests of -0
26250         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26251         * tests/test-ceill.c (main): Likewise.
26252         * tests/test-floorf1.c (main): Likewise.
26253         * tests/test-floorl.c (main): Likewise.
26254         * tests/test-round1.c (main): Likewise.
26255         * tests/test-roundf1.c (main): Likewise.
26256         * tests/test-roundl.c (main): Likewise.
26257         * tests/test-trunc1.c (main): Likewise.
26258         * tests/test-truncf1.c (main): Likewise.
26259         * tests/test-truncl.c (main): Likewise.
26260
26261 2010-11-04  Eric Blake  <eblake@redhat.com>
26262
26263         frexp, tests: work around ICC bug with -zero
26264         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26265         works with more compilers.
26266         * tests/minus-zero.h: New file.
26267         * modules/ceilf-tests (Files): Include it.
26268         * modules/ceill-tests (Files): Likewise.
26269         * modules/floorf-tests (Files): Likewise.
26270         * modules/floorl-tests (Files): Likewise.
26271         * modules/frexp-nolibm-tests (Files): Likewise.
26272         * modules/frexp-tests (Files): Likewise.
26273         * modules/frexpl-nolibm-tests (Files): Likewise.
26274         * modules/frexpl-tests (Files): Likewise.
26275         * modules/isnan-tests (Files): Likewise.
26276         * modules/isnand-nolibm-tests (Files): Likewise.
26277         * modules/isnand-tests (Files): Likewise.
26278         * modules/isnanf-nolibm-tests (Files): Likewise.
26279         * modules/isnanf-tests (Files): Likewise.
26280         * modules/isnanl-nolibm-tests (Files): Likewise.
26281         * modules/isnanl-tests (Files): Likewise.
26282         * modules/round-tests (Files): Likewise.
26283         * modules/roundf-tests (Files): Likewise.
26284         * modules/roundl-tests (Files): Likewise.
26285         * modules/ldexpl-tests (Files): Likewise.
26286         * modules/signbit-tests (Files): Likewise.
26287         * modules/snprintf-posix-tests (Files): Likewise.
26288         * modules/sprintf-posix-tests (Files): Likewise.
26289         * modules/strtod-tests (Files): Likewise.
26290         * modules/trunc-tests (Files): Likewise.
26291         * modules/truncf-tests (Files): Likewise.
26292         * modules/truncl-tests (Files): Likewise.
26293         * modules/vsnprintf-posix-tests (Files): Likewise.
26294         * modules/vsprintf-posix-tests (Files): Likewise.
26295         * modules/vasnprintf-posix-tests (Files): Likewise.
26296         * modules/vasprintf-posix-tests (Files): Likewise.
26297         * tests/test-ceilf1.c (main): Use it.
26298         * tests/test-ceill.c (main): Likewise.
26299         * tests/test-floorf1.c (main): Likewise.
26300         * tests/test-floorl.c (main): Likewise.
26301         * tests/test-frexp.c (main): Likewise.
26302         * tests/test-frexpl.c (main): Likewise.
26303         * tests/test-isnan.c (main): Likewise.
26304         * tests/test-isnand.h (main): Likewise.
26305         * tests/test-isnanf.h (main): Likewise.
26306         * tests/test-isnanl.h (main): Likewise.
26307         * tests/test-ldexpl.c (main): Likewise.
26308         * tests/test-round.c (main): Likewise.
26309         * tests/test-roundf.c (main): Likewise.
26310         * tests/test-roundl.c (main): Likewise.
26311         * tests/test-signbit.c (test_signbitf, test_signbitd)
26312         (test_signbitl): Likewise.
26313         * tests/test-snprintf-posix.h (test_function): Likewise.
26314         * tests/test-sprintf-posix.h (test_function): Likewise.
26315         * tests/test-strtod.c (main): Likewise.
26316         * tests/test-trunc1.c (main): Likewise.
26317         * tests/test-truncf1.c (main): Likewise.
26318         * tests/test-truncl.c (main): Likewise.
26319
26320         isnanl: work around icc bug
26321         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26322
26323 2010-11-03  Eric Blake  <eblake@redhat.com>
26324
26325         tests: fix compiler warnings
26326         * tests/test-getopt.h (test_getopt): Fix condition.
26327         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26328         * tests/test-pipe2.c (main): Likewise.
26329         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26330
26331         utimens: fix broken m4 test
26332         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26333
26334 2010-10-28  Bruno Haible  <bruno@clisp.org>
26335
26336         posix_spawn*, getdtablesize: Relax license.
26337         * modules/posix_spawn (License): Change to LGPLv2+.
26338         * modules/posix_spawnp (License): Likewise.
26339         * modules/posix_spawn-internal (License): Likewise.
26340         * modules/posix_spawnattr_init (License): Likewise.
26341         * modules/posix_spawnattr_getflags (License): Likewise.
26342         * modules/posix_spawnattr_setflags (License): Likewise.
26343         * modules/posix_spawnattr_getpgroup (License): Likewise.
26344         * modules/posix_spawnattr_setpgroup (License): Likewise.
26345         * modules/posix_spawnattr_getschedparam (License): Likewise.
26346         * modules/posix_spawnattr_setschedparam (License): Likewise.
26347         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26348         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26349         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26350         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26351         * modules/posix_spawnattr_getsigmask (License): Likewise.
26352         * modules/posix_spawnattr_setsigmask (License): Likewise.
26353         * modules/posix_spawnattr_destroy (License): Likewise.
26354         * modules/posix_spawn_file_actions_init (License): Likewise.
26355         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26356         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26357         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26358         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26359         * modules/getdtablesize (License): Likewise.
26360         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26361
26362 2010-10-26  Bruno Haible  <bruno@clisp.org>
26363
26364         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26365         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26366         Cygwin and mingw.
26367         Suggested by Eric Blake.
26368
26369 2010-10-26  Bruno Haible  <bruno@clisp.org>
26370
26371         stdio: Work around compilation error due to renameat() on Solaris 10.
26372         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26373         * lib/renameat.c: Don't include <unistd.h> here.
26374         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26375         Reported by Paul Eggert and Eric Blake.
26376
26377 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26378
26379         renameat: port to Solaris 10, which declares renameat in unistd.h
26380
26381         * lib/renameat.c: Include unistd.h before stdio.h, because
26382         Solaris 10 declares renameat in unistd.h.  Problem encountered
26383         when building GNU tar 1.24 on Solaris 10.
26384
26385 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26386
26387         fdopendir: fix C89 compilation
26388         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26389         compilers.
26390
26391 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26392
26393         inttostr: simplify by removing unnecessary redundancy
26394         * lib/anytostr.c: Don't include verify.h.
26395         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26396         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26397         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26398         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26399         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26400         Likewise.
26401         * modules/inttostr (Depends-on): Remove 'verify'.
26402
26403 2010-10-23  Bruno Haible  <bruno@clisp.org>
26404
26405         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26406         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26407         Reported by Eric Blake.
26408
26409 2010-10-23  Bruno Haible  <bruno@clisp.org>
26410
26411         Tests: Fix LOCALE_JA on MirBSD 10.
26412         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26413         to an UTF-8 locale.
26414         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26415         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26416         Reported by Eric Blake.
26417
26418 2010-10-21  Bruno Haible  <bruno@clisp.org>
26419
26420         nl_langinfo test: Avoid test failure on NetBSD 5.
26421         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26422         Reported by Eric Blake.
26423
26424 2010-10-21  Eric Blake  <eblake@redhat.com>
26425
26426         c-stack: work around libsigsegv 2.8 bug
26427         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
26428         overflow on at least PowerPC64.
26429
26430 2010-10-17  Bruno Haible  <bruno@clisp.org>
26431
26432         userspec: Drop redundant file.
26433         * modules/userspec (Files): Remove lib/inttostr.h.
26434
26435 2010-10-17  Bruno Haible  <bruno@clisp.org>
26436
26437         nl_langinfo tests: Silence some warnings.
26438         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
26439         Reported by Jim Meyering.
26440
26441 2010-10-17  Bruno Haible  <bruno@clisp.org>
26442
26443         Make use of GCC's attribute __alloc_size__.
26444         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
26445         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
26446         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
26447         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
26448         __alloc_size__.
26449         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26450         Suggested by Jim Meyering.
26451
26452 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
26453
26454         bootstrap: anchor .gitignore entries.
26455         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
26456         with...
26457         (insert_vc_ignore): ... this new function, which prepends `/' to
26458         all .gitignore entries before passing them to
26459         insert_sorted_if_absent.
26460
26461 2010-10-16  Bruno Haible  <bruno@clisp.org>
26462
26463         nextafter: Fix configure check.
26464         * modules/nextafter (configure.ac): Correct expected prototype.
26465
26466 2010-10-16  Bruno Haible  <bruno@clisp.org>
26467
26468         termios: Update documentation.
26469         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26470
26471 2010-10-16  Bruno Haible  <bruno@clisp.org>
26472
26473         tests: Make them compile with TinyCC.
26474         * tests/test-strstr.c (main): Remove parentheses around array
26475         initializer.
26476
26477 2010-10-15  Eric Blake  <eblake@redhat.com>
26478
26479         ignore-value: make header idempotent
26480         * lib/ignore-value.h: Add double-inclusion guards.
26481         Reported by Stefan Berger.
26482
26483 2010-10-15  Jim Meyering  <meyering@redhat.com>
26484
26485         GNUmakefile: handle "stable" target, not "major"
26486         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26487         lists in maint.mk and announce-gen.  Without this, "make stable"
26488         would fail to ensure that $(VERSION) is up to date.
26489
26490 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26491
26492         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26493         & co.
26494
26495 2010-10-14  Bruno Haible  <bruno@clisp.org>
26496
26497         vasnprintf: Don't set errno to 0.
26498         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26499         block that sets it to 0.
26500         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26501
26502 2010-10-14  Bruno Haible  <bruno@clisp.org>
26503
26504         socketlib: Fix.
26505         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26506         gl_PREREQ_SYS_H_WINSOCK2.
26507         Reported by Ian Beckwith <ianb@erislabs.net>.
26508
26509 2010-10-13  Jim Meyering  <meyering@redhat.com>
26510
26511         test-select-stdin.c: avoid warn_unused_result warnings
26512         * tests/test-select-stdin.c: Include "macros.h".
26513         ASSERT that read and fflush succeed.
26514
26515 2010-10-13  Jim Meyering  <meyering@redhat.com>
26516
26517         git-version-gen: do require git-VC'd files in cwd
26518         * build-aux/git-version-gen: Reject a git version string
26519         if there are no commits associated with the current directory.
26520         This avoids an unlikely false-positive (unrelated dir whose parent
26521         repository also contains a tag matching v*), as pointed out
26522         by Giuseppe Scrivano in
26523         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26524
26525 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26526
26527         argv-iter: omit nonconforming declaration
26528         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26529         enum arg_iter_err declaration, which doesn't conform to C99.
26530         Solaris 10 cc warns about this.
26531
26532 2010-10-13  Eric Blake  <eblake@redhat.com>
26533
26534         termios: fix compilation on mingw
26535         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26536         (gl_TERMIOS_H): Adjust it on mingw.
26537         * modules/termios (Makefile.am): Substitute new key.
26538         * lib/termios.in.h (includes): Make include_next conditional.
26539         * doc/posix-headers/termios.texi (termios.h): Update
26540         documentation.
26541         Reported by Daniel P. Berrange.
26542
26543 2010-10-13  Jim Meyering  <meyering@redhat.com>
26544
26545         git-version-gen: don't require that .git/ be in the current dir
26546         * build-aux/git-version-gen: Adjust this script so that it works
26547         when run from any working directory beneath the top-level .git/-
26548         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26549         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26550
26551         test-select: avoid warn_unused_result warnings
26552         * tests/test-select.c: Include "macros.h".
26553         ASSERT that each call to read, write, and pipe succeeds.
26554         While not technically required, also check each "close".
26555         * modules/select-tests (Files): Add tests/macros.h.
26556
26557         test-symlinkat: remove declaration of unused local
26558         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26559
26560         test-inttostr: avoid shadowing warnings
26561         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26562         and use malloc rather than the stack for the same reason as
26563         mentioned in the comment justifying the other allocation.
26564
26565 2010-10-11  Bruno Haible  <bruno@clisp.org>
26566
26567         stdlib: Allow multiple gnulib generated replacements to coexist.
26568         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26569         Reported by Sam Steingold <sds@gnu.org>.
26570
26571 2010-10-11  Jim Meyering  <meyering@redhat.com>
26572
26573         fix a documentation typo
26574         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26575
26576 2010-10-11  Eric Blake  <eblake@redhat.com>
26577
26578         futimens: work around Solaris 11 bug
26579         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26580         * tests/test-futimens.h (test_futimens): Enhance, rather than
26581         weaken test.
26582         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26583
26584 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26585
26586         Indentation.
26587         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26588         higher-level operators more to the left.
26589
26590 2010-10-11  Jim Meyering  <meyering@redhat.com>
26591
26592         test-futimens: avoid unwarranted test failure on Solaris 5.11
26593         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26594         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26595         because it tries to dereference the NULL name argument.
26596
26597 2010-10-11  Bruno Haible  <bruno@clisp.org>
26598
26599         Indentation.
26600         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26601         indentation.
26602
26603 2010-10-11  Jim Meyering  <meyering@redhat.com>
26604
26605         spawn.in.h: make indentation consistent with parentheses
26606         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26607         Make indentation consistent with parentheses.
26608
26609 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26610
26611         Fix mismatched parens in previous commit
26612         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26613         parens.
26614
26615 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26616
26617         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26618
26619         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26620         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26621         * lib/malloca.c: Include "verify.h".
26622         (verify1): Remove, replacing with a verify call.
26623         * lib/relocwrapper.c (verify1): Likewise.
26624         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26625         Likewise.
26626         * modules/malloca (Depends-on): Add 'verify'.
26627         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26628         * modules/vasnprintf (Depends-on): Add 'verify'.
26629         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26630         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26631         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26632         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26633         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26634         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26635         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26636
26637         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26638
26639         Formerly the style was sometimes 2*X - 1, because the C standard
26640         was wrongly thought to disallow ?: in integral constant expressions.
26641         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26642         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26643         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26644         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26645         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26646         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26647         verify that time_t cannot be floating.
26648
26649 2010-10-08  Eric Blake  <eblake@redhat.com>
26650
26651         time: enforce recent POSIX ruling that time_t is integral
26652         * lib/time.in.h (__time_t_must_be_integral): Detect any
26653         problematic systems, allowing the rest of gnulib to assume POSIX.
26654
26655 2010-10-08  Jim Meyering  <meyering@redhat.com>
26656
26657         fdopendir: fix a bug on systems lacking openat and /proc support
26658         OpenBSD 4.7 is one such system.  The most noticeable effect was
26659         failure of any application making nontrivial use of fts: rm, du,
26660         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26661           ./rm: traversal failed: `a': Bad file descriptor
26662         Debugging that, you see that even though FD 6 was closed just
26663         prior to the opendir call in fd_clone_opendir, its resulting
26664         dir->dd_fd was 8, rather than the expected value of 6:
26665
26666         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26667         93                close (fd);
26668         (gdb) n
26669         94                dir = fd_clone_opendir (dupfd);
26670         (gdb) n
26671         95                saved_errno = errno;
26672         (gdb) p dir->dd_fd
26673         $11 = 8
26674
26675         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26676         The problem is that on OpenBSD, fd_clone_opendir has to resort
26677         to using the old-style save/restore CWD mechanism, due to its
26678         lack of openat/proc support, and *that* would steal the FD (6)
26679         that opendir was supposed to use.
26680
26681         The fix is to squirrel away the desired FD so that save_cwd uses a
26682         different one, and then free the dest FD right before calling opendir.
26683         That guarantees opendir will use the required file descriptor.
26684
26685         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26686
26687 2010-10-08  Bruno Haible  <bruno@clisp.org>
26688
26689         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26690         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26691
26692 2010-10-08  Bruno Haible  <bruno@clisp.org>
26693
26694         nanosleep: Make replacement POSIX compliant.
26695         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26696         is out of range.
26697         Reported by Jim Meyering.
26698
26699 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26700
26701         bootstrap: add hook for altering gnulib.mk, for Bison
26702         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26703         the Bison bootstrapping process can rewrite file names and variables
26704         in this file before later parts of 'bootstrap' use the file.
26705         Bison wants to include lib/gnulib.mk from the top-level makefile,
26706         so it needs the file names in this file to be relative to the top
26707         level, not relative to lib; plus it needs variable names to be
26708         rewritten.
26709         (slurp): Use the new function.
26710
26711         bootstrap: reformat for readability
26712         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26713
26714 2010-10-08  Eric Blake  <eblake@redhat.com>
26715
26716         docs: update cygwin progress
26717         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26718         1.7.7.
26719         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26720         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26721         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26722         * doc/posix-functions/carg.texi (carg): Likewise.
26723         * doc/posix-functions/cargf.texi (cargf): Likewise.
26724         * doc/posix-functions/casin.texi (casin): Likewise.
26725         * doc/posix-functions/casinf.texi (casinf): Likewise.
26726         * doc/posix-functions/casinh.texi (casinh): Likewise.
26727         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26728         * doc/posix-functions/catan.texi (catan): Likewise.
26729         * doc/posix-functions/catanf.texi (catanf): Likewise.
26730         * doc/posix-functions/catanh.texi (catanh): Likewise.
26731         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26732         * doc/posix-functions/ccos.texi (ccos): Likewise.
26733         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26734         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26735         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26736         * doc/posix-functions/cexp.texi (cexp): Likewise.
26737         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26738         * doc/posix-functions/cimag.texi (cimag): Likewise.
26739         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26740         * doc/posix-functions/clog.texi (clog): Likewise.
26741         * doc/posix-functions/clogf.texi (clogf): Likewise.
26742         * doc/posix-functions/conj.texi (conj): Likewise.
26743         * doc/posix-functions/conjf.texi (conjf): Likewise.
26744         * doc/posix-functions/cpow.texi (cpow): Likewise.
26745         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26746         * doc/posix-functions/cproj.texi (cproj): Likewise.
26747         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26748         * doc/posix-functions/creal.texi (creal): Likewise.
26749         * doc/posix-functions/crealf.texi (crealf): Likewise.
26750         * doc/posix-functions/csin.texi (csin): Likewise.
26751         * doc/posix-functions/csinf.texi (csinf): Likewise.
26752         * doc/posix-functions/csinh.texi (csinh): Likewise.
26753         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26754         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26755         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26756         * doc/posix-functions/ctan.texi (ctan): Likewise.
26757         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26758         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26759         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26760         * doc/posix-headers/complex.texi (complex.h): Likewise.
26761
26762 2010-10-07  Jim Meyering  <meyering@redhat.com>
26763
26764         parse-datetime: avoid compilation failure on OpenBSD 4.7
26765         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26766         This works around a compilation failure on OpenBSD 4.7:
26767         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26768
26769 2010-10-07  Eric Blake  <eblake@redhat.com>
26770
26771         docs: update cygwin progress
26772         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26773         1.7.6.
26774         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26775         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26776         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26777         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26778         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26779         Likewise.
26780         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26781         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26782         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26783         Likewise.
26784         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26785         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26786         Likewise.
26787         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26788         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26789         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26790         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26791         Likewise.
26792         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26793         Likewise.
26794         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26795
26796         docs: update parse-datetime history
26797         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26798         documentation of this function's history and alternatives.
26799
26800         cygwin: use more robust version check
26801         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26802         exclude an eventual cygwin 1.9.1.
26803         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26805         (gl_FUNC_STRCASESTR): Likewise.
26806         Reported by Bruno Haible.
26807
26808 2010-10-06  Bruno Haible  <bruno@clisp.org>
26809
26810         string, sys_select: Avoid #including large headers unless necessary.
26811         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26812         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26813         OSF/1, BeOS, Haiku.
26814         Reported by Jim Meyering.
26815
26816 2010-10-05  Eric Blake  <eblake@redhat.com>
26817
26818         memmem, strstr, strcasestr: fix bug with long periodic needle
26819         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26820         periodic needle having false positive.
26821         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26822         and cygwin 1.7.7.
26823         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26824         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26825         (gl_FUNC_STRCASESTR): Likewise.
26826         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26827         * tests/test-memmem.c (main): Expose the bug.
26828         * tests/test-strcasestr.c (main): Likewise.
26829         * tests/test-strstr.c (main): Likewise.
26830         * tests/test-c-strcasestr.c (main): Likewise.
26831         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26832         * doc/posix-functions/strstr.texi (strstr): Likewise.
26833         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26834         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26835
26836 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26837
26838         parse-datetime: do some more renaming
26839         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26840         parse_datetime, not get_date.  Mention the renaming.
26841         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26842         in comments.
26843         * m4/bison.m4: Likewise.
26844
26845 2010-10-05  Eric Blake  <eblake@redhat.com>
26846
26847         parse-datetime: better name than get_date
26848         * NEWS: Reword the deprecation notice.
26849         * modules/get_date: Rename to modules/parse-datetime.
26850         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26851         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26852         * lib/get_date.y: Rename to lib/parse-datetime.y.
26853         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26854         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26855         * doc/getdate.texi: Provide fallback wrapper.
26856         * lib/getdate.h: Move guts, and wrap...
26857         * lib/parse-datetime.h: ...new file.
26858         * lib/parse-datetime.y (get_date): Rename...
26859         (parse_datetime): ...to this.
26860         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26861         (gl_PARSE_DATETIME): ...to this.
26862         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26863         documentation.
26864         * modules/getdate (Files): Provide fallback docs and header.
26865         (Notice, Depends-on): Update references.
26866         * tests/test-parse-datetime.c: Likewise.
26867         * DEPENDENCIES: Likewise.
26868         * MODULES.html.sh (Date and time <time.h>): Likewise.
26869         * doc/parse-datetime.texi (Date input formats)
26870         (Authors of parse_datetime): Likewise.
26871         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26872         (Include): Likewise.
26873         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26874         * gnulib-tool: Likewise.
26875         * m4/bison.m4 (gl_BISON): Likewise.
26876         Suggested by Bruno Haible.
26877
26878 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26879
26880         more ports to Solaris tr, which needs [] around ranges
26881         * gnulib-tool: Solaris tr needs [] around ranges.
26882         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26883         * tests/test-pipe-filter-gi1.c (main): Likewise.
26884         * tests/test-pipe-filter-ii1.c (main): Likewise.
26885
26886 2010-10-05  Eric Blake  <eblake@redhat.com>
26887
26888         bootstrap: fix Solaris regression
26889         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26890         around ranges.
26891         Reported by Pádraig Brady.
26892
26893         bootstrap: work with pkg-config
26894         * build-aux/bootstrap (check_versions): Also transliterate - in
26895         prerequisite name.
26896         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26897         prerequisites that were already found, to avoid confusion.
26898         Reported by Justin Clift.
26899
26900         faccessat: remove unused wrappers
26901         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26902         presence of these wrappers dragged in -lgen on Solaris.
26903         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26904
26905 2010-10-05  Jim Meyering  <meyering@redhat.com>
26906
26907         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26908         * Makefile (sc_pragma_columns): New syntax-check rule.
26909
26910 2010-10-04  Bruno Haible  <bruno@clisp.org>
26911
26912         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26913         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26914         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26915         Reported by Bruce Korb and Eric Blake.
26916
26917 2010-10-04  Bruno Haible  <bruno@clisp.org>
26918
26919         threadlib: Make option --with-libpth-prefix work.
26920         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26921         use $LIBPTH, not just -lpth.
26922
26923 2010-10-04  Bruno Haible  <bruno@clisp.org>
26924
26925         Avoid line length limitation from HP NonStop system header files.
26926         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26927         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26928         * lib/ctype.in.h: Likewise.
26929         * lib/dirent.in.h: Likewise.
26930         * lib/errno.in.h: Likewise.
26931         * lib/fcntl.in.h: Likewise.
26932         * lib/float.in.h: Likewise.
26933         * lib/getopt.in.h: Likewise.
26934         * lib/iconv.in.h: Likewise.
26935         * lib/inttypes.in.h: Likewise.
26936         * lib/langinfo.in.h: Likewise.
26937         * lib/locale.in.h: Likewise.
26938         * lib/math.in.h: Likewise.
26939         * lib/netdb.in.h: Likewise.
26940         * lib/netinet_in.in.h: Likewise.
26941         * lib/poll.in.h: Likewise.
26942         * lib/pthread.in.h: Likewise.
26943         * lib/pty.in.h: Likewise.
26944         * lib/sched.in.h: Likewise.
26945         * lib/se-selinux.in.h: Likewise.
26946         * lib/search.in.h: Likewise.
26947         * lib/signal.in.h: Likewise.
26948         * lib/spawn.in.h: Likewise.
26949         * lib/stdarg.in.h: Likewise.
26950         * lib/stddef.in.h: Likewise.
26951         * lib/stdint.in.h: Likewise.
26952         * lib/stdio.in.h: Likewise.
26953         * lib/stdlib.in.h: Likewise.
26954         * lib/string.in.h: Likewise.
26955         * lib/strings.in.h: Likewise.
26956         * lib/sys_file.in.h: Likewise.
26957         * lib/sys_ioctl.in.h: Likewise.
26958         * lib/sys_select.in.h: Likewise.
26959         * lib/sys_socket.in.h: Likewise.
26960         * lib/sys_stat.in.h: Likewise.
26961         * lib/sys_time.in.h: Likewise.
26962         * lib/sys_times.in.h: Likewise.
26963         * lib/sys_utsname.in.h: Likewise.
26964         * lib/sys_wait.in.h: Likewise.
26965         * lib/sysexits.in.h: Likewise.
26966         * lib/termios.in.h: Likewise.
26967         * lib/time.in.h: Likewise.
26968         * lib/unistd.in.h: Likewise.
26969         * lib/wchar.in.h: Likewise.
26970         * lib/wctype.in.h: Likewise.
26971         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26972         * modules/ctype (Makefile.am): Likewise.
26973         * modules/dirent (Makefile.am): Likewise.
26974         * modules/errno (Makefile.am): Likewise.
26975         * modules/fcntl-h (Makefile.am): Likewise.
26976         * modules/float (Makefile.am): Likewise.
26977         * modules/getopt-posix (Makefile.am): Likewise.
26978         * modules/iconv-h (Makefile.am): Likewise.
26979         * modules/inttypes (Makefile.am): Likewise.
26980         * modules/langinfo (Makefile.am): Likewise.
26981         * modules/locale (Makefile.am): Likewise.
26982         * modules/math (Makefile.am): Likewise.
26983         * modules/netdb (Makefile.am): Likewise.
26984         * modules/netinet_in (Makefile.am): Likewise.
26985         * modules/poll-h (Makefile.am): Likewise.
26986         * modules/pthread (Makefile.am): Likewise.
26987         * modules/pty (Makefile.am): Likewise.
26988         * modules/sched (Makefile.am): Likewise.
26989         * modules/search (Makefile.am): Likewise.
26990         * modules/selinux-h (Makefile.am): Likewise.
26991         * modules/signal (Makefile.am): Likewise.
26992         * modules/spawn (Makefile.am): Likewise.
26993         * modules/stdarg (Makefile.am): Likewise.
26994         * modules/stddef (Makefile.am): Likewise.
26995         * modules/stdint (Makefile.am): Likewise.
26996         * modules/stdio (Makefile.am): Likewise.
26997         * modules/stdlib (Makefile.am): Likewise.
26998         * modules/string (Makefile.am): Likewise.
26999         * modules/strings (Makefile.am): Likewise.
27000         * modules/sys_file (Makefile.am): Likewise.
27001         * modules/sys_ioctl (Makefile.am): Likewise.
27002         * modules/sys_select (Makefile.am): Likewise.
27003         * modules/sys_socket (Makefile.am): Likewise.
27004         * modules/sys_stat (Makefile.am): Likewise.
27005         * modules/sys_time (Makefile.am): Likewise.
27006         * modules/sys_times (Makefile.am): Likewise.
27007         * modules/sys_utsname (Makefile.am): Likewise.
27008         * modules/sys_wait (Makefile.am): Likewise.
27009         * modules/sysexits (Makefile.am): Likewise.
27010         * modules/termios (Makefile.am): Likewise.
27011         * modules/time (Makefile.am): Likewise.
27012         * modules/unistd (Makefile.am): Likewise.
27013         * modules/wchar (Makefile.am): Likewise.
27014         * modules/wctype (Makefile.am): Likewise.
27015
27016 2010-10-04  Bruno Haible  <bruno@clisp.org>
27017
27018         read-file tests: Avoid a test failure on NonStop Kernel.
27019         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
27020         a regular file.
27021         Reported by Joachim Schmitz <schmitz@hp.com>.
27022
27023 2010-10-03  Bruno Haible  <bruno@clisp.org>
27024
27025         gnulib-tool: Fixes for --create-testdir with --libtool.
27026         * gnulib-tool (func_get_automake_snippet): Don't augment
27027         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
27028         an executable.
27029         (func_create_testdir): Handle module 'alloca' like func_import.
27030         Reported by Bruce Korb <bruce.korb@gmail.com>.
27031
27032 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
27033
27034         Avoid some lines longer than 80 characters.
27035         * lib/stdint.in.h: Break long comment lines.
27036         * lib/math.in.h: Likewise.
27037         (_GL_NUM_UINT_WORDS): New macro, for readability.
27038         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
27039         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
27040         * lib/stdlib.in.h: Likewise.
27041         * lib/spawn.in.h: Likewise.
27042         * lib/sys_socket.in.h: Update an URL.
27043         * lib/sys_stat.in.h: Break long line.
27044
27045 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
27046
27047         Improve pmccabe2html.
27048         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
27049         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
27050         when the sources change. Remove the line in the HTML about "Used
27051         ranges" (which implied that there might be other unused ranges),
27052         rename "Resume" to "Summary" (easier to understand for more users).
27053         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
27054         styles, and some unnecessary blank lines.
27055
27056 2010-10-03  Bruno Haible  <bruno@clisp.org>
27057             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
27058
27059         acl: Add support for ACLs on NonStop Kernel.
27060         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
27061         Check whether the function aclsort() exists.
27062         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
27063         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
27064         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27065         (acl_nontrivial [HAVE_ACLSORT]: New function.
27066         (file_has_acl): Implement for NonStop Kernel.
27067         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27068         (qset_acl): Implement for NonStop Kernel.
27069         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
27070         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27071         (main): Implement for NonStop Kernel.
27072         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
27073         Kernel. Handle this flavor.
27074         * tests/test-set-mode-acl.sh: Likewise.
27075         * tests/test-copy-acl.sh: Likewise.
27076         * tests/test-copy-file.sh: Likewise.
27077
27078 2010-10-03  Bruno Haible  <bruno@clisp.org>
27079
27080         Info about ACLs on NonStop Kernel.
27081         * doc/acl-resources.txt: Add info about NonStop Kernel.
27082         References by Joachim Schmitz <schmitz@hp.com>.
27083
27084 2010-10-02  Bruno Haible  <bruno@clisp.org>
27085
27086         Define missing EDQUOT on NonStop Kernel.
27087         * lib/errno.in.h (EDQUOT): Assign a value if missing.
27088         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
27089         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
27090         missing.
27091         * doc/posix-headers/errno.texi: Mention the NSK bug.
27092         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
27093         Reported by Joachim Schmitz <schmitz@hp.com>.
27094
27095 2010-10-02  Bruno Haible  <bruno@clisp.org>
27096
27097         Update doc for POSIX:2008.
27098         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
27099         Update URL of POSIX specification.
27100
27101 2010-10-02  Bruno Haible  <bruno@clisp.org>
27102
27103         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
27104         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
27105         from gnulib, not from Automake.
27106
27107 2010-10-02  Bruno Haible  <bruno@clisp.org>
27108
27109         New module 'system-posix'.
27110         * modules/system-posix: New file.
27111         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
27112         module is present.
27113         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27114         GNULIB_SYSTEM_POSIX.
27115         * modules/stdlib (Depends-on): Remove sys_wait.
27116         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
27117         * doc/posix-functions/system.texi: Mention the new module.
27118         * doc/posix-headers/stdlib.texi: Likewise.
27119         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
27120         define test_sys_wait_macros to a no-op.
27121         Reported by Sam Steingold <sds@gnu.org>.
27122
27123 2010-09-30  Bruno Haible  <bruno@clisp.org>
27124
27125         More renaming from 'getdate' to 'get_date'.
27126         * doc/get_date.texi: Renamed from doc/getdate.texi.
27127         * modules/get_date (Files): Update.
27128         * MODULES.html.sh (Date and time <time.h>): Update.
27129         * DEPENDENCIES: Update.
27130         * gnulib-tool: Update comment.
27131         * m4/bison.m4 (gl_BISON): Likewise.
27132         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27133
27134 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27135
27136         bootstrap: support ACLOCAL_FLAGS during aclocal
27137         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27138         can add additional -I dir for third-party .m4 files.
27139
27140 2010-09-30  Eric Blake  <eblake@redhat.com>
27141
27142         bootstrap: use glibtoolize on MacOS
27143         * build-aux/bootstrap (check_versions): Convert libtool into
27144         libtoolize.
27145         (tool search): Move libtool check earlier, and look for
27146         glibtoolize for MacOS.
27147         (gnulib_tool_options): Auto-add --libtool when appropriate.
27148         Reported by Justin Clift.
27149
27150         poll: fix typo that broke test on MacOS
27151         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27152         Reported by Justin Clift.
27153
27154         getdate: rename to get_date
27155         Note: getdate.h is not renamed, to minimize client impact.
27156         * modules/getdate: Mark obsolete.  Move old contents...
27157         * modules/get_date: ...to new module name.
27158         * modules/getdate-tests: Move...
27159         * modules/get_date-tests: ...here.
27160         * m4/getdate.m4: Move...
27161         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27162         * lib/getdate.y: Move...
27163         * lib/get_date.y: ...here.
27164         * tests/test-getdate.c: Move...
27165         * tests/test-get_date.c: ...here.
27166         * doc/posix-functions/getdate.texi (getdate): Update name.
27167         * NEWS: Mention the change.
27168
27169 2010-09-29  Bruno Haible  <bruno@clisp.org>
27170
27171         Separate the module 'waitpid' from the module 'sys_wait'.
27172         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27173         present.
27174         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27175         gl_MODULE_INDICATOR_FOR_TESTS.
27176         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27177         * modules/sys_wait (Depends-on): Remove waitpid.
27178         (Makefile.am): Substitute GNULIB_WAITPID.
27179         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27180         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27181         signature only if the 'waitpid' module is present.
27182         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27183         * NEWS: Mention the change.
27184         * modules/grantpt (Depends-on): Add waitpid.
27185         * modules/wait-process (Depends-on): Likewise.
27186
27187 2010-09-29  Bruno Haible  <bruno@clisp.org>
27188
27189         More tests for module 'sys_wait'.
27190         * modules/sys_wait-c++-tests: New file.
27191         * tests/test-sys_wait-c++.cc: New file.
27192         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27193         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27194
27195 2010-09-29  Bruno Haible  <bruno@clisp.org>
27196
27197         New module 'waitpid'.
27198         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27199         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27200         Don't include <process.h>.
27201         (waitpid): Declare only, using modern idiom.
27202         * m4/waitpid.m4: New file.
27203         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27204         * modules/waitpid: New file.
27205         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27206         (Makefile.am): Update.
27207         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27208
27209 2010-09-28  Bruno Haible  <bruno@clisp.org>
27210
27211         poll: Assume ANSI C.
27212         * lib/poll.c (poll): Use an ANSI C declaration.
27213
27214 2010-09-28  Bruno Haible  <bruno@clisp.org>
27215
27216         poll-h: Create poll.h on all platforms.
27217         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27218         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27219         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27220         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27221         (gl_REPLACE_POLL_H): Don't set POLL_H.
27222         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27223         * modules/poll-h (Depends-on): Add include_next.
27224         (Makefile.am): Create poll.h unconditionally. Substitute also
27225         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27226
27227 2010-09-28  Bruno Haible  <bruno@clisp.org>
27228
27229         Tests for module 'poll-h'.
27230         * modules/poll-h-c++-tests: New file.
27231         * tests/test-poll-h-c++.cc: New file.
27232
27233         Tests for module 'poll-h'.
27234         * modules/poll-h-tests: New file.
27235         * tests/test-poll-h.c: New file.
27236
27237 2010-09-28  Bruno Haible  <bruno@clisp.org>
27238
27239         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27240         * modules/poll-h (Depends-on): Add 'extensions'.
27241
27242 2010-09-28  Bruno Haible  <bruno@clisp.org>
27243
27244         New module 'poll-h'.
27245         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27246         (poll): Use modern idiom.
27247         * modules/poll-h: New file.
27248         * modules/poll (Files): Remove lib/poll.in.h.
27249         (Depends-on): Add poll-h.
27250         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27251         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27252         * m4/poll_h.m4: New file.
27253         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27254         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27255         and invoke gl_REPLACE_POLL_H.
27256         * lib/poll.c: Use common idiom.
27257         * tests/test-poll.c: Likewise.
27258         * doc/posix-headers/poll.texi: Mention the poll-h module.
27259         Suggested by Eric Blake.
27260
27261 2010-09-26  Bruno Haible  <bruno@clisp.org>
27262
27263         sys_wait: Implement WSTOPSIG.
27264         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27265         Reported by Simon Josefsson.
27266
27267 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27268
27269         stdlib, sys_wait: Avoid compilation error on mingw.
27270         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27271
27272 2010-09-26  Bruno Haible  <bruno@clisp.org>
27273
27274         stdlib tests: Avoid code duplication.
27275         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27276         * modules/sys_wait-tests (Files): Likewise.
27277         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27278         * tests/test-stdlib.c: Include test-sys_wait.h.
27279         (main): Invoke test_sys_wait_macros.
27280         * tests/test-sys_wait.c: Include test-sys_wait.h.
27281         (main): Invoke test_sys_wait_macros.
27282
27283 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27284
27285         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27286         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27287         sure Windows sockets are working before calling getaddrinfo.
27288         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27289         * doc/gnulib.texi (Windows sockets): Fix typo.
27290
27291 2010-09-25  Bruno Haible  <bruno@clisp.org>
27292
27293         Tests for module 'regex-quote'.
27294         * modules/regex-quote-tests: New file.
27295         * tests/test-regex-quote.c: New file.
27296
27297         New module 'regex-quote'.
27298         * lib/regex-quote.h: New file.
27299         * lib/regex-quote.c: New file.
27300         * modules/regex-quote: New file.
27301         Suggested by Reuben Thomas <rrt@sc3d.org>.
27302
27303 2010-09-24  Bruno Haible  <bruno@clisp.org>
27304
27305         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27306         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27307
27308 2010-09-23  Bruno Haible  <bruno@clisp.org>
27309
27310         setenv: Relax license.
27311         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27312         Blake.
27313         Requested by Eric Blake.
27314
27315 2010-09-22  Bruno Haible  <bruno@clisp.org>
27316
27317         termios: Relax license.
27318         * modules/termios (License): Change to LGPLv2+.
27319         Requested by Eric Blake.
27320
27321 2010-09-22  Bruno Haible  <bruno@clisp.org>
27322
27323         threadlib: Allow the package to change the default to 'no'.
27324         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27325         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27326         Reported by Paul Eggert.
27327
27328 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27329             Bruno Haible  <bruno@clisp.org>
27330
27331         Fix endless loop in mbmemcasecoll.
27332         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27333         byte.
27334         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27335
27336 2010-09-22  Bruno Haible  <bruno@clisp.org>
27337
27338         Tests for module 'memcoll'.
27339         * modules/memcoll-tests: New file.
27340         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27341
27342         memcoll, xmemcoll: Clarify size vs. length.
27343         * modules/memcoll.c (memcoll0): Clarify specification.
27344         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27345         passed to collate_error.
27346
27347 2010-09-22  Bruno Haible  <bruno@clisp.org>
27348
27349         Tests for module 'memcasecmp'.
27350         * modules/memcasecmp-tests: New file.
27351         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27352
27353 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27354
27355         * lib/pthread.in.h: Add split double-inclusion guard, and include
27356         system <pthread.h> if there is one.  Use @@-style as in other
27357         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27358         pthread.h doesn't.
27359         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27360         (pthread_mutexattr_settype, pthread_mutex_trylock):
27361         New static inline functions, if there's no system <pthread.h>.
27362         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27363         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27364         Approximate with mutexes if the system lacks spinlocks, as in
27365         MacOS.
27366         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27367         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27368         @@-style.  Check for spinlocks separately.
27369         (gl_PTHREAD_DEFAULTS): New macro.
27370         * modules/pthread: Redo to use a more typical style for in.h files.
27371
27372 2010-09-21  Eric Blake  <eblake@redhat.com>
27373
27374         net_if: enhance tests
27375         * tests/test-net_if.c (main): Move signature checks earlier.
27376         Print failures to stderr.
27377         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27378         Document the bug that we do not yet fix.
27379
27380 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27381
27382         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27383         about gnulib, not GSS.
27384
27385 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27386
27387         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27388         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27389         for Emacs.
27390         * build-aux/pmccabe2html: Make Makefile.am example code more
27391         cut-and-paste friendly.
27392
27393 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27394
27395         * tests/test-net_if.c: New file.
27396         * modules/net_if-tests: New file.
27397
27398 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27399
27400         pthread: add pthread_spin_destroy
27401         * lib/pthread.in.h (pthread_spin_destroy): New function.
27402
27403 2010-09-19  Bruno Haible  <bruno@clisp.org>
27404
27405         gnulib-tool: Fix --help output.
27406         * gnulib-tool (func_usage): Fix help message.
27407         Reported by Reuben Thomas <rrt@sc3d.org>.
27408
27409 2010-09-18  Jim Meyering  <meyering@redhat.com>
27410
27411         maint.mk: avoid unexpanded \n in two diagnostics
27412         * top/maint.mk (sc_prohibit_always_true_header_tests):
27413         Don't use a literal \n in a halt=... assignment.  It would not be
27414         expanded, and the two \n bytes would appear in the diagnostic output
27415         rather than the desired newline.  Use halt=$$(printf ... instead.
27416         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27417
27418 2010-09-18  Bruno Haible  <bruno@clisp.org>
27419
27420         netinet_in: Doc tweak.
27421         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27422         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27423
27424 2010-09-18  Jim Meyering  <meyering@redhat.com>
27425
27426         init.sh: correct an outdated comment
27427         * tests/init.sh (create_exe_shims_):  s/function/alias/
27428
27429         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
27430         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
27431         a file named "*.exe" is removed between the glob expansion and the
27432         processing of that oddly named file.
27433
27434 2010-09-17  Eric Blake  <eblake@redhat.com>
27435
27436         mirbsd: add some more support
27437         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
27438         in BSD family.
27439         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
27440         devices as OpenBSD.
27441         * m4/host-os.m4 (mirbsd): Add MirBSD.
27442
27443         tests: fix unportable assumption on sys/wait.h
27444         * tests/test-sys_wait.c (main): Relax test.
27445         * tests/test-stdlib.c (main): Likewise.
27446
27447         init.sh: accommodate directory with no .exes
27448         * tests/init.sh: Accomodate directory containing only scripts.
27449
27450         tests: avoid compiler warning
27451         * tests/test-stdlib.c (main): Use the variable.
27452
27453         fdutimens, fdutimensat: update signature, again
27454         * lib/utimens.h (gl_futimens): Delete, and move signature...
27455         (fdutimens): ...here.
27456         (fdutimensat): Rearrange signature.
27457         (lutimensat): Rename variable for clarity.
27458         * lib/fdutimensat.c (fdutimensat): Update signature.
27459         * lib/utimens.c (fdutimens): Likewise.
27460         (gl_futimens): Delete.
27461         (utimens, lutimens): Update callers.
27462         * lib/futimens.c (futimens): Likewise.
27463         * tests/test-fdutimensat.c: Likewise.
27464         * tests/test-utimens.c: Likewise.
27465         * tests/test-futimens.h: Update comment.
27466         * NEWS: Mention this.
27467         Suggested by Paul Eggert.
27468
27469 2010-09-17  Bruno Haible  <bruno@clisp.org>
27470
27471         Take over the maintenance of some older macros from Autoconf.
27472         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27473         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27474         GNU Autoconf.
27475         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27476         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27477
27478 2010-09-17  Eric Blake  <eblake@redhat.com>
27479
27480         fdutimensat: drop atflag validation
27481         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27482         with valid fd, to close a race scenario where futimens is
27483         unsupported and FILE was replaced by a symlink.
27484         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27485         accordingly.
27486         Suggested by Paul Eggert.
27487
27488 2010-09-16  Bruno Haible  <bruno@clisp.org>
27489
27490         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27491         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27492
27493 2010-09-16  Bruno Haible  <bruno@clisp.org>
27494
27495         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27496         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27497         login_tty exists.
27498         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27499
27500 2010-09-16  Bruno Haible  <bruno@clisp.org>
27501
27502         login_tty: Make the replacement code work on BSD systems.
27503         * lib/login_tty.c: Include <sys/ioctl.h>.
27504         (login_tty): Use ioctl TIOCSCTTY when available.
27505         * modules/login_tty (Depends-on): Add sys_ioctl.
27506         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27507
27508 2010-09-16  Bruno Haible  <bruno@clisp.org>
27509
27510         login_tty: Stricter unit test.
27511         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27512         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27513         and tcgetsid() after login_tty.
27514         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27515
27516 2010-09-16  Bruno Haible  <bruno@clisp.org>
27517
27518         New module 'tcgetsid'.
27519         * lib/tcgetsid.c: New file.
27520         * m4/tcgetsid.m4: New file.
27521         * modules/tcgetsid: New file.
27522         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27523         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27524         GNULIB_TCGETSID, HAVE_TCGETSID.
27525         * lib/termios.in.h: Include <sys/types.h>.
27526         (tcgetsid): New declaration.
27527         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27528         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27529         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27530         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27531
27532 2010-09-16  Bruno Haible  <bruno@clisp.org>
27533
27534         Tests for module 'termios'.
27535         * modules/termios-c++-tests: New file.
27536         * modules/termios-tests: New file.
27537         * tests/test-termios-c++.cc: New file.
27538         * tests/test-termios.c: New file.
27539
27540         New module 'termios'.
27541         * modules/termios: New file.
27542         * lib/termios.in.h: New file.
27543         * m4/termios_h.m4: New file.
27544         * doc/posix-headers/termios.texi: Mention the new module.
27545
27546 2010-09-16  Eric Blake  <eblake@redhat.com>
27547
27548         fdutimensat: add an atflag parameter
27549         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27550         * lib/utimens.h (fdutimensat): Update prototype.
27551         * tests/test-fdutimensat.c: Adjust test to match.
27552         * NEWS: Document the change.
27553         Suggested by Paul Eggert.
27554
27555 2010-09-16  Bruno Haible  <bruno@clisp.org>
27556
27557         Fix typos in comments.
27558         * lib/striconveh.h: Fix typo in comment.
27559         * lib/login_tty.c (login_tty): Likewise.
27560
27561 2010-09-15  Bruno Haible  <bruno@clisp.org>
27562
27563         stdlib: clarify MirBSD WEXITSTATUS bug
27564         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27565         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27566
27567 2010-09-15  Eric Blake  <eblake@redhat.com>
27568
27569         stdlib: work around MirBSD WEXITSTATUS bug
27570         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27571         * modules/stdlib (Depends-on): Add sys_wait.
27572         * tests/test-sys_wait.c (main): Enhance test.
27573         * tests/test-stdlib.c (main): Likewise.
27574         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27575
27576         docs: mention MacOS issue with WEXITSTATUS(constant)
27577         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27578         issue.
27579         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27580
27581         strnlen: add tests
27582         * modules/strnlen-tests: New file.
27583         * tests/test-strnlen.c: Likewise.
27584
27585 2010-09-14  Bruno Haible  <bruno@clisp.org>
27586
27587         unistr/base: Avoid link errors when module 'libunistring' is also used.
27588         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27589         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27590         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27591         Declare also when HAVE_LIBUNISTRING is set.
27592         Reported by Pádraig Brady <P@draigbrady.com>.
27593
27594 2010-09-14  Eric Blake  <eblake@redhat.com>
27595
27596         test-rawmemchr: make more robust
27597         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27598         (Depends-on, configure.ac): Add needed prerequisites to use it.
27599         * modules/memchr-tests (Files, Depends-on, configure.ac):
27600         Likewise, to avoid implicit reliance on memchr module prereqs.
27601         * tests/test-memchr.c (main): Ensure proper masking.
27602         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27603         reads.
27604
27605         memchr: detect glibc Alpha bug
27606         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27607         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27608         Alpha.
27609         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27610         * tests/test-memchr.c (main): Enhance test.
27611         Reported by Nelson H. F. Beebe.
27612
27613 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27614
27615         fts, getcwd, glob: audit for dirfd returning -1
27616         * lib/fts.c (opendir): Remove #define; no longer used.
27617         (opendirat): New arg PDIR_FD.  All callers changed.
27618         (fts_build, _opendir2): Use new opendirat to avoid the need for
27619         dirfd, or for checking whether dirfd returns a negative value.
27620         Don't use opendir; always use openat followed by fdopendir.
27621         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27622         it.
27623         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27624         returns -1 here.
27625         * modules/fts (Depends-on): Remove dirfd.
27626         * modules/getcwd (Depends-on): Likewise.
27627
27628 2010-09-13  Eric Blake  <eblake@redhat.com>
27629
27630         float: fix broken MirBSD header
27631         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27632         * doc/posix-headers/float.texi (float.h): Document it.
27633
27634 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27635
27636         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27637         * lib/fts.c (opendirat): New arg extra_flags.
27638         (__opendir2): Use it to avoid following symlinks when opening
27639         a directory, if symlinks are not supposed to be followed.  See
27640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27641
27642         fdopendir: preserve argument fd before returning
27643         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27644         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27645         (fdopendir): Use them, arranging for FD to be open to the same
27646         directory that it was when it started.  (It might be temporarily
27647         closed while fdopendir is running, so this not thread- or
27648         signal-safe.)  Be careful to do the right thing even when file
27649         descriptors are scarce and dup fails with errno == EMFILE.  See
27650         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27651
27652 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27653
27654         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27655         * NEWS: Document change.
27656         * m4/regex.m4: Disable test for regoff_t size.
27657
27658 2010-09-13  Jim Meyering  <meyering@redhat.com>
27659
27660         fts: don't operate on an invalid file descriptor after failed dup
27661         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27662         negative file descriptor.
27663
27664 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27665
27666         savedir: add streamsavedir, deprecate fdsavedir
27667         * NEWS: Mention deprecation of fdsavedir.
27668         * lib/savedir.c (streamsavedir): New extern function, whose name
27669         ends in "savedir" to be consistent with the others.  This differs
27670         from savedirstream in that it doesn't close its argument.  The
27671         next version of GNU tar will use this instead of fdsavedir, to
27672         avoid some race conditions and conserve file descriptors.
27673         (savedirstream): Reimplement as a wrapper around streamsavedir.
27674         (fdsavedir): Add a comment deprecating this function.  As far as
27675         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27676         * lib/savedir.h (streamsavedir): New decl.
27677         (fdsavedir): Add a comment deprecating this.
27678
27679 2010-09-10  Bruno Haible  <bruno@clisp.org>
27680
27681         langinfo: Fix last commit.
27682         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27683         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27684         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27685
27686 2010-09-10  Bruno Haible  <bruno@clisp.org>
27687
27688         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27689         * lib/progreloc.c (O_EXEC): Define fallback.
27690
27691 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27692
27693         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27694         * NEWS: Document recent changes to fcntl-h.
27695         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27696         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27697         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27698         Similarly for O_SEARCH; this last was already true, but not documented.
27699         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27700         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27701         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27702         Likewise.
27703         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27704         is zero, not whether it is defined.
27705         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27706         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27707         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27708
27709 2010-09-10  Bruno Haible  <bruno@clisp.org>
27710
27711         langinfo, nl_langinfo: Fix for IRIX 5.3.
27712         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27713         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27714         HAVE_LANGINFO_YESEXPR.
27715         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27716         HAVE_LANGINFO_YESEXPR.
27717         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27718         HAVE_LANGINFO_T_FMT_AMPM is 0.
27719         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27720         HAVE_LANGINFO_YESEXPR is 0.
27721         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27722         NOEXPR.
27723         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27724         * doc/posix-functions/nl_langinfo.texi: Likewise.
27725         Reported by Eric Blake.
27726
27727 2010-09-10  Bruno Haible  <bruno@clisp.org>
27728
27729         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27730         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27731         on FreeBSD 8.0 and OpenBSD 4.6.
27732         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27733         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27734         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27735         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27736         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27737         ac_includes_default.
27738         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27739
27740 2010-09-09  Eric Blake  <eblake@redhat.com>
27741
27742         strsignal: work around NetBSD bug
27743         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27744         * lib/string.in.h (includes): Likewise.
27745         * doc/posix-functions/strsignal.texi (strsignal): Document the
27746         bug.
27747         Reported by Nelson H. F. Beebe.
27748
27749         gnulib-tool: work with NetBSD /bin/sh
27750         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27751         (func_get_description, func_get_comment, func_get_status)
27752         (func_get_notice, func_get_applicability, func_get_filelist)
27753         (func_get_dependencies, func_get_autoconf_early_snippet)
27754         (func_get_autoconf_snippet, func_get_automake_snippet)
27755         (func_get_include_directive, func_get_link_directive)
27756         (func_get_license, func_get_maintainer, func_import): Avoid
27757         shell syntax errors from parsing syntax extensions.
27758
27759 2010-09-09  Bruno Haible  <bruno@clisp.org>
27760
27761         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27762         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27763         a reliable way to determine whether the 'alias' command works.
27764
27765 2010-09-08  Jim Meyering  <meyering@redhat.com>
27766
27767         init.sh: penalize a set-x-impaired shell; don't disqualify it
27768         * tests/init.sh: Too many shells corrupt application stderr when
27769         you set -x, so we can't afford to disqualify them, since at least
27770         on Irix-6.5, that would disqualify all bourne shells.
27771         Instead, use a two-pass approach.
27772         On the first pass, try to find a shell that meets the stricter
27773         condition that set -x does not corrupt stderr.
27774         If no shell meets the stricter condition, retest each candidate
27775         shell, but without that extra condition.  Finally, when
27776         VERBOSE=yes is requested and set -x might cause trouble, simply
27777         issue a warning and refrain from enabling debug output.
27778
27779 2010-09-08  Eric Blake  <eblake@redhat.com>
27780
27781         unsetenv: fix OpenBSD bug
27782         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27783         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27784         documentation.
27785         Reported by Jim Meyering.
27786
27787         strtod: work around IRIX 6.5 bug
27788         * lib/strtod.c (strtod): Reparse number on shorter string if
27789         exponent parse was invalid.
27790         * tests/test-strtod.c (main): Add check for "0x1p 2".
27791         Reported by Tom G. Christensen.
27792
27793         getopt: optimize previous patch
27794         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27795         empty variable.  Speed up awk script.
27796         Reported by Paolo Bonzini.
27797
27798 2010-09-08  Jim Meyering  <meyering@redhat.com>
27799
27800         test.sh: disqualify shells for which set -x corrupts stderr
27801         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27802         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27803         appear in stderr output.  For example, this command:
27804             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27805         prints "P=1" on those two systems:
27806
27807 2010-09-08  Bruno Haible  <bruno@clisp.org>
27808
27809         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27810         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27811         commands, because some shells ignore redirections when there is an
27812         error in the command lookup.
27813         Reported by Eric Blake.
27814
27815 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27816
27817         * lib/regex.h: Fix a mention of `regex_compile' (should be
27818         `re_compile_pattern').
27819         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27820         (re_set_registers): Correct name of parameter in comment.
27821
27822         * doc/regex.texi: Add documentation for missing syntax flags.
27823         Remove commented-out documentation of defunct syntax option
27824         RE_NO_EMPTY_ALTS.
27825         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27826         Add documentation of re_set_registers.
27827         Document trick to re-use a pattern buffer by setting fastmap manually.
27828         Update documentation of struct re_pattern_buffer per public members.
27829         Uncomment documentation of equivalence class operators and
27830         collating symbol operators, since they are now implemented,
27831         Explain leftmost-longest matching in relation to alternatives.
27832         Tidy documentation of substring matching.
27833         Remove POSIX documentation, which is done better in
27834         glibc, and refer the reader there. Keep BSD API documentation, as
27835         that is not readily available elsewhere.
27836
27837 2010-09-07  Eric Blake  <eblake@redhat.com>
27838
27839         getopt: handle POSIXLY_CORRECT set but not exported
27840         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27841         export state of POSIXLY_CORRECT, due to bash set -o posix.
27842         Reported by Dustin J. Mitchell.
27843
27844 2010-09-05  Bruno Haible  <bruno@clisp.org>
27845
27846         gnulib-tool: Highlight the changed options.
27847         * gnulib-tool (func_usage): Display the --import, --add-import,
27848         --remove-import explanations in bold font.
27849
27850 2010-09-06  Karl Berry  <karl@gnu.org>
27851
27852         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27853
27854 2010-09-05  Bruno Haible  <bruno@clisp.org>
27855
27856         uniwidth/width: Update comment.
27857         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27858         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27859
27860 2010-09-05  Bruno Haible  <bruno@clisp.org>
27861
27862         isinf, isnan: Relax license.
27863         * modules/isinf (License): Change from GPL to LGPL, with consent from
27864         Ben Pfaff.
27865         * modules/isnan (License): Likewise.
27866         Requested by Ludovic Courtès.
27867
27868 2010-09-04  Bruno Haible  <bruno@clisp.org>
27869
27870         gnulib-tool: Help migration from --import to --add-import or --update.
27871         * gnulib-tool: Emit a verbose error message when --import is used
27872         without any module name.
27873
27874 2010-09-04  Bruno Haible  <bruno@clisp.org>
27875
27876         Update doc about gnulib-tool.
27877         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27878         'gnulib-tool --update' in more detail.
27879         Reported by Eric Blake.
27880
27881 2010-09-04  Bruno Haible  <bruno@clisp.org>
27882
27883         gnulib-tool: Change --import. New options --add/remove-import.
27884         * gnulib-tool: New options --add-import, --remove-import.
27885         (func_usage): Document them.
27886         (have_associative): Define always.
27887         (func_import): In import mode, don't merge the specified settings with
27888         the cached settings. Implement remove-import mode.
27889         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27890         Explain when to use them versus --import.
27891         (Simple update): Use --add-import instead of --import.
27892         * NEWS: Mention the change.
27893
27894 2010-09-04  Bruno Haible  <bruno@clisp.org>
27895
27896         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27897         separate gnulib.mk.
27898
27899 2010-09-04  Bruno Haible  <bruno@clisp.org>
27900
27901         gnulib-tool: Don't talk about CVS any more.
27902         * gnulib-tool (func_usage, func_import): Write "version control"
27903         instead of CVS.
27904
27905 2010-09-04  Jim Meyering  <meyering@redhat.com>
27906
27907         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27908         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27909         false positives (whose names may be ill-chosen) when searching
27910         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27911         would cause a false-positive.
27912
27913         avoid coreutils "make distcheck" failure
27914         Coreutils tests with an absolute build directory name that contains
27915         a space.  Not quoting this directory name caused a failure.
27916         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27917         * tests/test-vc-list-files-cvs.sh: Likewise.
27918
27919 2010-09-04  Bruno Haible  <bruno@clisp.org>
27920
27921         gnulib-tool: Avoid error when run in a package without Makefile.am.
27922         * gnulib-tool: When collecting the m4dirs in a package that does not
27923         have a Makefile.am, eliminate those directories that contain no
27924         gnulib-cache.m4. Fix expression that counts these directories.
27925
27926 2010-09-04  Bruno Haible  <bruno@clisp.org>
27927
27928         update-copyright test: Improve output when perl is missing or too old.
27929         * tests/test-update-copyright.sh: Move test of Perl version down after
27930         the test whether Perl exists. Provide an explanation relating Perl's
27931         error message to Automake's SKIP: message.
27932
27933 2010-09-04  Bruno Haible  <bruno@clisp.org>
27934
27935         Don't augment PATH in TESTS_ENVIRONMENT.
27936         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27937         set abs_aux_dir instead of augmenting PATH.
27938         * modules/vc-list-files-tests (Makefile.am): Likewise.
27939         * tests/test-update-copyright.sh: Augment PATH here.
27940         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27941         path_prepend_.
27942         * tests/test-vc-list-files-git.sh: Likewise.
27943
27944 2010-09-04  Jim Meyering  <meyering@redhat.com>
27945
27946         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27947         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27948
27949 2010-09-04  Bruno Haible  <bruno@clisp.org>
27950
27951         strdup: Fix compilation error in C++ mode.
27952         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27953         the macro.
27954
27955 2010-09-04  Bruno Haible  <bruno@clisp.org>
27956
27957         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27958         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27959         macro into a function.
27960         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27961
27962 2010-09-04  Bruno Haible  <bruno@clisp.org>
27963
27964         Set PATH_SEPARATOR the same way autoconf does.
27965         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27966         the value of PATH_SEPARATOR the same way autoconf-generated configure
27967         scripts do.
27968         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27969         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27970
27971 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27972
27973         Set PATH_SEPARATOR the same way autoconf does.
27974         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27975         the same way autoconf-generated configure scripts do.
27976         * posix-modules: Likewise.
27977
27978 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27979
27980         hash: fix safe_hasher const typo
27981         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27982         const; otherwise, there is a type error later.
27983
27984 2010-09-02  Jim Meyering  <meyering@redhat.com>
27985
27986         test-update-copyright.sh: require perl 5.8.0
27987         * tests/test-update-copyright.sh: Require 5.8.0,
27988         which Tom G. Christensen has confirmed is adequate,
27989         while 5.6.1 is not.
27990
27991 2010-09-02  Eric Blake  <eblake@redhat.com>
27992
27993         tests: init.sh improvements for re-exec'ing with zsh
27994         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27995         -vx through shell re-exec.
27996         Reported by Tom G. Christensen.
27997
27998         wctype: fix typo in previous commit
27999         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
28000         Reported by Ludovic Courtès.
28001
28002 2010-09-02  Jim Meyering  <meyering@redhat.com>
28003
28004         test-update-copyright.sh: skip test if Perl is too old
28005         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
28006         Reported by Tom G. Christensen.
28007
28008 2010-09-02  Bruno Haible  <bruno@clisp.org>
28009
28010         wctype: Avoid compilation error on IRIX 6.5.30.
28011         * lib/wctype.in.h (iswblank): Declare with a replacement if
28012         REPLACE_ISWBLANK is set.
28013         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
28014         declared. Set REPLACE_ISWBLANK.
28015         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
28016         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
28017         * doc/posix-headers/wctype.texi: Likewise.
28018         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28019
28020 2010-09-01  Bruno Haible  <bruno@clisp.org>
28021
28022         New module 'socketlib'.
28023         * modules/socketlib: New file.
28024         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
28025         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
28026         * modules/sockets (Depends-on): Add socketlib.
28027         Suggested by Sam Steingold <sds@gnu.org>.
28028
28029 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
28030
28031         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
28032
28033         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
28034         when one needs search access to a directory but not read access.
28035         On systems where it is available, it works in some cases where
28036         O_RDONLY does not, namely on directories that are searchable but
28037         not readable, and which need only to be searchable.  If O_SEARCH
28038         is not available, fall back to the traditional method of using
28039         O_RDONLY.
28040
28041         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
28042         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
28043         when opening a directory that needs only to be searchable.
28044         * lib/chdir-safer.c (chdir_no_follow): Likewise.
28045         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
28046         * lib/openat-proc.c (openat_proc_name): Likewise.
28047         * lib/openat.c (openat_needs_fchdir): Likewise.
28048         * lib/save-cwd.c (save_cwd): Likewise.
28049         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
28050
28051 2010-08-28  Bruno Haible  <bruno@clisp.org>
28052
28053         New module 'host-cpu-c-abi'.
28054         * modules/host-cpu-c-abi: New file.
28055         * m4/host-cpu-c-abi.m4: New file, based on part of
28056         clisp/src/m4/general.m4.
28057         Requested by Sam Steingold <sds@gnu.org>.
28058
28059 2010-08-31  Eric Blake  <eblake@redhat.com>
28060         and Jim Meyering  <meyering@redhat.com>
28061
28062         hash: factor, and guard against misbehaving hasher function
28063         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
28064         of table->hasher's return value.  Also protect against a hash value
28065         so large that adding it to table->bucket results in a NULL pointer.
28066         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
28067         Use it in place of open-coded check-and-abort.
28068
28069 2010-08-30  Bruno Haible  <bruno@clisp.org>
28070
28071         hash: silence spurious clang warning
28072         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
28073         Reported by Eric Blake.
28074
28075 2010-08-30  Eric Blake  <eblake@redhat.com>
28076
28077         strstr, memmem, strcasestr: avoid leaked shell message
28078         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
28079         FreeBSD.
28080         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28081         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28082
28083         tests: silence clang warning
28084         * tests/test-malloca.c (do_allocation): Avoid dead store.
28085
28086 2010-08-29  Bruno Haible  <bruno@clisp.org>
28087
28088         gettext: Fix recent mistake.
28089         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
28090
28091 2010-08-29  Bruno Haible  <bruno@clisp.org>
28092
28093         selinux-h: Offer a --without-selinux option.
28094         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
28095         --without-selinux was specified, skip all tests and define
28096         HAVE_SELINUX_SELINUX_H to 0.
28097         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
28098         set LIB_SELINUX to empty.
28099         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
28100         gl_LIBSELINUX. If --without-selinux was specified, replace
28101         selinux/context.h.
28102         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
28103
28104 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28105             Bruno Haible  <bruno@clisp.org>
28106
28107         Make the module 'realloc-gnu' work again on AIX and OSF/1.
28108         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
28109         of HAVE_REALLOC.
28110         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
28111         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
28112         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
28113         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28114
28115 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28116             Bruno Haible  <bruno@clisp.org>
28117
28118         Make the module 'calloc-gnu' work again on AIX and OSF/1.
28119         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
28120         HAVE_CALLOC.
28121         * lib/xmalloc.c: Update accordingly.
28122         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
28123         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
28124         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
28125
28126 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28127             Bruno Haible  <bruno@clisp.org>
28128
28129         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28130         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28131         HAVE_MALLOC.
28132         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28133         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28134         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28135
28136 2010-08-29  Bruno Haible  <bruno@clisp.org>
28137
28138         Update modules list.
28139         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28140         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28141         (String handling <string.h>): Add astrxfrm.
28142         (File system functions): Add readlinkat.
28143
28144 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28145
28146         Tests for module 'realloc-gnu'.
28147         * modules/realloc-gnu-tests: New file.
28148         * tests/test-realloc-gnu.c: New file.
28149
28150         Tests for module 'calloc-gnu'.
28151         * modules/calloc-gnu-tests: New file.
28152         * tests/test-calloc-gnu.c: New file.
28153
28154         Tests for module 'malloc-gnu'.
28155         * modules/malloc-gnu-tests: New file.
28156         * tests/test-malloc-gnu.c: New file.
28157
28158 2010-08-28  Bruno Haible  <bruno@clisp.org>
28159
28160         Rename module 'realloc' -> 'realloc-gnu'.
28161         * modules/realloc-gnu: New file, copied from modules/realloc.
28162         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28163         obsolete.
28164         * modules/mgetgroups (Depends-on): Update.
28165         * doc/posix-functions/realloc.texi: Update.
28166         * NEWS: Mention the change.
28167
28168         Rename module 'calloc' -> 'calloc-gnu'.
28169         * modules/calloc-gnu: New file, copied from modules/calloc.
28170         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28171         obsolete.
28172         * doc/posix-functions/calloc.texi: Update.
28173         * NEWS: Mention the change.
28174
28175         Rename module 'malloc' -> 'malloc-gnu'.
28176         * modules/malloc-gnu: New file, copied from modules/malloc.
28177         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28178         obsolete.
28179         * modules/argp (Depends-on): Update.
28180         * modules/regex (Depends-on): Update.
28181         * doc/posix-functions/malloc.texi: Update.
28182         * NEWS: Mention the change.
28183
28184 2010-08-28  Eric Blake  <eblake@redhat.com>
28185
28186         pread, pwrite: add missing dependency
28187         * modules/pread (Depends-on): Add extensions.
28188         * modules/pwrite (Depends-on): Likewise.
28189
28190 2010-08-28  Bruno Haible  <bruno@clisp.org>
28191
28192         unistr/u*-strchr: Fix tests dependencies.
28193         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28194         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28195         Reported by Ian Beckwith <ianb@erislabs.net>.
28196
28197 2010-08-28  Bruno Haible  <bruno@clisp.org>
28198
28199         read-file: Don't occupy too much unused memory.
28200         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28201
28202 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28203             Eric Blake  <eblake@redhat.com>
28204             Bruno Haible  <bruno@clisp.org>
28205
28206         read-file: Avoid memory reallocations with regular files.
28207         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28208         (fread_file): With regular files, use the remaining length as the
28209         initial buffer size.  Check against overflow.
28210         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28211         sys_stat.
28212
28213 2010-08-28  Bruno Haible  <bruno@clisp.org>
28214
28215         ftello: Relax license.
28216         * modules/ftello (License): Relax to LGPLv2+.
28217         Reported by Eric Blake.
28218
28219 2010-08-28  Bruno Haible  <bruno@clisp.org>
28220
28221         Avoid relocwrapper link errors due to gnulib replacement functions.
28222         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28223         function.
28224         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28225
28226 2010-08-28  Bruno Haible  <bruno@clisp.org>
28227
28228         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28229         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28230         defined.
28231         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28232         Suggested by Eric Blake.
28233
28234 2010-08-28  Bruno Haible  <bruno@clisp.org>
28235
28236         sys_socket, netdb: Ensure socklen_t gets defined.
28237         * modules/sys_socket (Depends-on): Add socklen.
28238         * modules/netdb (Depends-on): Likewise.
28239         * modules/getaddrinfo (Depends-on): Remove socklen.
28240         * modules/getsockopt (Depends-on): Likewise.
28241         * modules/setsockopt (Depends-on): Likewise.
28242         * tests/test-sys_socket.c: Check that socklen_t is defined.
28243         * tests/test-netdb.c: Likewise.
28244         * m4/socklen.m4: Update comments.
28245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28246
28247 2010-08-27  Eric Blake  <eblake@redhat.com>
28248
28249         login_tty: add missing dependency
28250         * modules/login_tty (Depends-on): Add pty.
28251
28252 2010-08-26  Eric Blake  <eblake@redhat.com>
28253
28254         lib-symbol-versions: fix m4 quoting
28255         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28256         format for AC_LINK_IFELSE.
28257
28258         glob: fix compile test
28259         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28260
28261         btowc: fix missing file
28262         * modules/btowc (Files): Also ship locale-fr.m4.
28263
28264         lseek: fix link test
28265         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28266         AC_LINK_IFELSE.
28267
28268         include_next: silence autoconf 2.68 warning
28269         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28270         AC_COMPILE_IFELSE as special.
28271         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28272         autoconf < 2.68.
28273
28274         acl: fix compilation test
28275         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28276         AC_COMPILE_IFELSE.
28277
28278 2010-08-26  Bruno Haible  <bruno@clisp.org>
28279
28280         Modernize AC_TRY_RUN invocations.
28281         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28282         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28283         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28284         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28285         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28286         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28287         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28288         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28289         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28290         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28291         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28292         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28293         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28294         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28295         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28296         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28297         gl_MBRLEN_NUL_RETVAL): Likewise.
28298         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28299         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28300         Likewise.
28301         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28302         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28303         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28304         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28305         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28306         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28307         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28308         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28309         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28310         Likewise.
28311         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28312         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28313         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28314         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28315         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28316         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28317         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28318         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28319         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28321
28322 2010-08-26  Bruno Haible  <bruno@clisp.org>
28323
28324         Modernize AC_TRY_LINK invocations.
28325         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28326         AC_TRY_LINK.
28327         * m4/argp.m4 (gl_ARGP): Likewise.
28328         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28329         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28330         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28331         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28332         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28333         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28334         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28335         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28336         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28337         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28338         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28339         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28340         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28341         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28342         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28343         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28344         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28345         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28346         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28347         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28348         Likewise.
28349         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28350         Likewise.
28351         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28352         Likewise.
28353         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28354         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28355         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28356         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28357         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28358         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28359         * m4/servent.m4 (gl_SERVENT): Likewise.
28360         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28361         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28362         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28363         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28364         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28365         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28366         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28367         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28368         * modules/tsearch-tests (configure.ac): Likewise.
28369
28370 2010-08-26  Bruno Haible  <bruno@clisp.org>
28371
28372         Modernize AC_TRY_COMPILE invocations.
28373         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28374         AC_TRY_COMPILE.
28375         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28376         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28377         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28378         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28379         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28380         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28381         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28382         * m4/lock.m4 (gl_LOCK): Likewise.
28383         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28384         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28385         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28386         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28387         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28388         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28389         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28390         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28391         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28392         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28393         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28394         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28395         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28396         extraneous semicolon.
28397
28398 2010-08-26  Jim Meyering  <meyering@redhat.com>
28399
28400         stat-time: relax license LGPL
28401         * modules/stat-time (License): Change from GPL to LGPL,
28402         with consent from all contributors, for use in libguile.
28403         Requested by Ludovic Courtès.
28404
28405 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28406
28407         poll: return immediately on POLLHUP.
28408         * lib/poll.c (poll): Always set timeout before wait_timeout is
28409         computed.
28410
28411 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28412
28413         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28414         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28415         rmdir ("dir/.//"), unlinkat.
28416
28417 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28418
28419         stdbool: avoid spurious failure with modern xlc
28420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28421
28422 2010-08-24  Bruno Haible  <bruno@clisp.org>
28423
28424         getloadavg: simplify code
28425         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
28426         gl_have_func. Update comments.
28427
28428 2010-08-24  Eric Blake  <eblake@redhat.com>
28429
28430         getloadavg: don't define SVR4 on cygwin
28431         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
28432         only define SVR4 when -lkvm is required.
28433         Reported by Yaakov Selkowitz.
28434
28435 2010-08-24  Bruno Haible  <bruno@clisp.org>
28436
28437         priv-set: fix comment
28438         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
28439
28440 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28441
28442         priv-set: fix comments
28443         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
28444         to match code, as suggested by David Bartley in:
28445         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
28446
28447 2010-08-23  Eric Blake  <eblake@redhat.com>
28448
28449         stdbool: avoid rejecting clang
28450         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28451         * tests/test-stdbool.c: Enable more tests if using the system
28452         <stdbool.h> instead of the gnulib replacement.
28453         (main): Move xlc bug test to a runtime test for all compilers.
28454         Reported by Anders Kaseorg.
28455
28456         argz: fix shell quoting issue
28457         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28458         Reported by Charles Wilson.
28459
28460 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28461             Erik Faye-Lund <kusmabite@gmail.com>
28462
28463         poll, select: handle ERROR_BROKEN_PIPE.
28464         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28465         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28466         * lib/select.c (win32_compute_revents): Do not mark a pipe
28467         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28468
28469 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28470
28471         fts: allow compilation with C++
28472         * lib/fts_.h: Specify extern "C" linkage with C++.
28473
28474 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28475
28476         Fix gnulib-tool sed script de-commentation for AIX sed.
28477         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28478         sed.
28479
28480 2010-08-17  Eric Blake  <eblake@redhat.com>
28481
28482         test-stddef: test for (some) offsetof bugs
28483         * tests/test-stddef.c: Enhance test to ensure correct type of
28484         offsetof.
28485         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28486         that we are not fixing at this time.
28487
28488 2010-08-15  Bruno Haible  <bruno@clisp.org>
28489
28490         stpncpy: Allow stpncpy to be defined as a macro.
28491         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28492         if it's already correctly declared.
28493         * lib/string.in.h (stpncpy): Undefine before redefining.
28494         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28495
28496 2010-08-14  Bruno Haible  <bruno@clisp.org>
28497
28498         Rename module 'memxfrm' to 'amemxfrm'.
28499         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28500         (amemxfrm): Renamed from memxfrm.
28501         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28502         (amemxfrm): Renamed from memxfrm.
28503         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28504         * NEWS: Mention the change.
28505         * MODULES.html.sh (String handling <string.h>): Update.
28506         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28507         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28508         * lib/unicase/u16-casexfrm.c: Likewise.
28509         * lib/unicase/u32-casexfrm.c: Likewise.
28510         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28511         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28512         * lib/uninorm/u16-normxfrm.c: Likewise.
28513         * lib/uninorm/u32-normxfrm.c: Likewise.
28514         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28515         memxfrm.
28516         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28517         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28518         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28519         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28520         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28521         Suggested by Paul Eggert.
28522
28523 2010-08-14  Bruno Haible  <bruno@clisp.org>
28524
28525         Tests for module 'astrxfrm'.
28526         * modules/astrxfrm-tests: New file.
28527         * tests/test-astrxfrm.c: New file.
28528
28529         New module 'astrxfrm'.
28530         * lib/astrxfrm.h: New file.
28531         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28532         * modules/astrxfrm: New file.
28533
28534 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28535
28536         regex: Tweak doc.
28537         * doc/regex.texi (Overview): Don't mention regex.c.
28538         (GNU Regular Expression Compiling): Likewise.
28539         (Match-end-of-line Operator): Mention 'not_eol'.
28540
28541 2010-08-14  Brian Gough  <bjg@gnu.org>
28542             Bruno Haible  <bruno@clisp.org>
28543
28544         git-merge-changelog: add doc relating to use with bzr and hg.
28545         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28546
28547 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28548
28549         pthread: fix pthread.h creation for srcdir != builddir
28550         * modules/pthread (Makefile.am): Fix the rule to work also in a
28551         non-srcdir build.
28552
28553 2010-08-13  Karl Berry  <karl@gnu.org>
28554
28555         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28556         * doc/posix-*/*: force line break before @url of POSIX
28557         specifications.
28558         Suggested by Werner Lemberg.
28559
28560 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28561
28562         strtod: fix const diagnostic
28563         * lib/strtod.c (strtod): Don't assign const char * to char *,
28564         as this elicits a warning from GCC when warnings are enabled.
28565
28566 2010-08-10  Pádraig Brady <P@draigbrady.com>
28567         and Eric Blake  <eblake@redhat.com>
28568
28569         copy-acl: ignore ENOTSUP on HP-UX
28570         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28571         so that it is available for HP-UX.
28572         * lib/copy-acl.c (qcopy_acl): Use it.
28573         Reported by Patrick M. Callahan.
28574
28575 2010-08-10  Eric Blake  <eblake@redhat.com>
28576
28577         open, chown: relax license
28578         * modules/open (License): Change to LGPLv2+, with consent by all
28579         authors, for use in augeas.
28580         * modules/chown (License): Likewise.
28581         * modules/lchown (Likewise): Likewise.
28582         Requested by Adam Stokes.
28583
28584 2010-08-09  Karl Berry  <karl@gnu.org>
28585
28586         * build-aux/ar-lib: new file, import from Automake.
28587         * config/srclist.txt: autocheck for updates.
28588
28589 2010-08-09  Eric Blake  <eblake@redhat.com>
28590
28591         readlinkat: adjust client modules
28592         * modules/areadlinkat (Depends-on): Use readlinkat, not
28593         symlinkat.
28594         * modules/areadlinkat-with-size (Depends-on): Likewise.
28595
28596         mknod: be more vocal about danger of running tests as root
28597         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28598         root, since that is just asking for problems.
28599         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28600
28601         readlinkat: split into its own module
28602         * modules/symlinkat: Split readlinkat...
28603         * modules/readlinkat: ...into separate module.
28604         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28605         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28606         * lib/symlinkat.c (readlinkat): Move...
28607         * lib/readlinkat.c: ...into new file.
28608         * modules/symlinkat-tests: Split readlinkat test...
28609         * modules/readlinkat-tests: ...into separate module.
28610         * tests/test-symlinkat.c: Split...
28611         * tests/test-readlinkat.c: ...into new file.
28612         * NEWS: Document the split.
28613         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28614         * lib/unistd.in.h (readlinkat): Likewise.
28615         Suggested by Bruno Haible.
28616
28617 2010-08-08  Bruno Haible  <bruno@clisp.org>
28618
28619         memxfrm: Speed up.
28620         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28621         that usually only one call to strxfrm is necessary for each string
28622         part.
28623         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28624
28625 2010-08-07  Karl Berry  <karl@gnu.org>
28626
28627         * doc/posix-headers/limits.texi,
28628         * doc/posix-functions/malloc.texi,
28629         * doc/posix-functions/strsignal.texi: missing @item.
28630         * doc/ld-version-script.texi: spurious leading i.
28631         * doc/regex.texi (Interval Operators): no commas inside @var.
28632
28633 2010-08-01  Bruno Haible  <bruno@clisp.org>
28634
28635         Integrate the regex documentation.
28636         * doc/gnulib.texi: Define 'cn' index.
28637         (Regular expressions): New a chapter that includes regex.texi and
28638         regexprops-generic.texi.
28639         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28640         syntax.
28641
28642         Whitespace cleanup.
28643         * doc/regex.texi: Remove trailing spaces.
28644
28645         Add regex documentation.
28646         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28647         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28648         Written by Kathy A. Hargreaves and Karl Berry.
28649
28650 2010-08-01  Bruno Haible  <bruno@clisp.org>
28651
28652         link: Update documentation.
28653         * doc/posix-functions/link.texi: Update regarding Solaris.
28654
28655 2010-07-31  Bruno Haible  <bruno@clisp.org>
28656
28657         Update modules list.
28658         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28659         (String handling <string.h>): Add memcmp2, memxfrm.
28660         (Container data structures): Add xlist, xsublist, xoset.
28661         (Core language properties): Add alignof, unused-parameter.
28662         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28663         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28664         (Unibyte characters <ctype.h>): New section.
28665         (String handling <string.h>): New section.
28666         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28667         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28668         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28669         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28670         tan, tanh, tanl, y0, y1, yn.
28671         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28672         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28673         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28674         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28675         unlockpt, vdprintf, vdprintf-posix.
28676         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28677         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28678         xconcat-filename.
28679         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28680         getdtablesize, pipe2, pipe2-safer.
28681         (Security): New section.
28682         (Networking functions): Add accept4.
28683         (Signal handling): Add sigpipe.
28684         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28685         mbmemcasecoll.
28686         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28687         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28688         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28689         pipe-filter-ii.
28690         (Misc): Add argp-version-etc, login_tty, parse-duration.
28691
28692 2010-07-31  Bruno Haible  <bruno@clisp.org>
28693
28694         Improve doc in MODULES.html.
28695         * modules/linkat (Description): Add the word "function".
28696         * modules/mkfifo (Description): Likewise.
28697         * modules/mknod (Description): Likewise.
28698         * modules/remove (Description): Likewise.
28699         * modules/renameat (Description): Likewise.
28700         * modules/stat (Description): Likewise.
28701         * modules/symlink (Description): Likewise.
28702         * modules/unlink (Description): Likewise.
28703
28704 2010-07-31  Bruno Haible  <bruno@clisp.org>
28705
28706         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28707         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28708         option --enable/disable-c++ instead of --enable/disable-cxx.
28709         * NEWS: Mention the change.
28710
28711 2010-07-31  Bruno Haible  <bruno@clisp.org>
28712
28713         readlink, areadlink: Relax test a bit.
28714         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28715         alternative to ENOTDIR.
28716         * tests/test-areadlink.h (test_areadlink): Likewise.
28717         Reported by Rainer Tammer.
28718
28719 2010-07-31  Bruno Haible  <bruno@clisp.org>
28720
28721         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28722         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28723         character, perform the search using U_STRCHR.
28724         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28725         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28726         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28727         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28728         Suggested by Paolo Bonzini.
28729
28730 2010-07-31  Bruno Haible  <bruno@clisp.org>
28731
28732         unistr/u*-strstr: Fix dependencies.
28733         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28734         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28735         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28736
28737 2010-07-31  Bruno Haible  <bruno@clisp.org>
28738
28739         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28740         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28741         the beginning of the loop.
28742         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28743         cases in 'switch' statement.
28744
28745         unistr/u8-strchr: Fix several bugs.
28746         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28747         the string. When not found, return NULL, not a pointer near the end.
28748
28749         More tests for unistr/u8-strchr.
28750         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28751         that the function does not read past the first occurrence of the byte
28752         being searched.
28753         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28754         * tests/unistr/test-u16-strchr.c (main): New function.
28755         * tests/unistr/test-u32-strchr.c (main): New function.
28756
28757 2010-07-31  Bruno Haible  <bruno@clisp.org>
28758
28759         posix-modules: Ignore backup files of documentation files.
28760         * posix-modules: grep only through files named *.texi.
28761
28762 2010-07-31  Bruno Haible  <bruno@clisp.org>
28763
28764         symlinkat: Fix documentation.
28765         * doc/posix-functions/readlinkat.texi: Fix module name.
28766
28767 2010-07-31  Bruno Haible  <bruno@clisp.org>
28768
28769         fchownat: Replace also when chown has the trailing slash bug.
28770         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28771         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28772         introduced on 2010-04-10.
28773         Reported by Rainer Tammer.
28774
28775 2010-07-31  Bruno Haible  <bruno@clisp.org>
28776
28777         linkat: Work around AIX 7.1 bug.
28778         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28779         whether linkat handles trailing slash correctly. If not, replace linkat
28780         and define LINKAT_TRAILING_SLASH_BUG.
28781         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28782         check whether (fd1,file1) points to a directory if file1 or file2 ends
28783         in a slash. Code taken from lib/link.c.
28784         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28785         Reported by Rainer Tammer.
28786
28787 2010-07-31  Bruno Haible  <bruno@clisp.org>
28788
28789         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28790         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28791         This disables an xlc optimization that was causing wrong test results.
28792         Reported by Rainer Tammer.
28793
28794 2010-07-31  Bruno Haible  <bruno@clisp.org>
28795
28796         iconv: Work around AIX 6.1..7.1 bug.
28797         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28798         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28799         cross-compiling, guess no on all versions of AIX.
28800         Reported by Rainer Tammer.
28801
28802 2010-07-31  Bruno Haible  <bruno@clisp.org>
28803
28804         readlink: Relax test a bit.
28805         * tests/test-readlink.h (test_readlink): Allow different errno value
28806         when readlink is called with a file name that ends in / and refers to
28807         a file.
28808         Suggested by Eric Blake.
28809         Reported by Rainer Tammer.
28810
28811 2010-07-31  Bruno Haible  <bruno@clisp.org>
28812
28813         copysign: Does not require -lm on glibc systems.
28814         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28815         gl_COMMON_DOUBLE_MATHFUNC.
28816         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28817
28818 2010-07-31  Bruno Haible  <bruno@clisp.org>
28819
28820         duplocale: Work around AIX 7.1 bug.
28821         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28822         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28823         * lib/duplocale.c (rpl_duplocale): Update comment.
28824         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28825         Reported by Rainer Tammer.
28826
28827 2010-07-30  Bruno Haible  <bruno@clisp.org>
28828
28829         dirfd: Avoid link error on AIX 7.1.
28830         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28831         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28832         exist, set REPLACE_DIRFD.
28833         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28834         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28835         * doc/posix-functions/dirfd.texi: Update.
28836         Reported by Rainer Tammer.
28837
28838 2010-07-30  Eric Blake  <eblake@redhat.com>
28839
28840         strtod: next round of AIX fixes
28841         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28842         exponent.
28843         * tests/test-strtod.c (main): Enhance tests.
28844         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28845         Reported by Rainer Tammer.
28846
28847         futimens: fix configure check
28848         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28849         Reported by Bruno Haible.
28850
28851 2010-07-30  Bruno Haible  <bruno@clisp.org>
28852
28853         getline: Update regarding AIX.
28854         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28855         Reported by Rainer Tammer.
28856
28857 2010-07-30  Bruno Haible  <bruno@clisp.org>
28858
28859         wcwidth: Drop replacement on AIX 7.
28860         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28861         AIX 7.
28862         Reported by Rainer Tammer.
28863
28864 2010-07-30  Bruno Haible  <bruno@clisp.org>
28865
28866         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28867         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28868         a 'char *'.
28869         Reported by Rainer Tammer.
28870
28871 2010-07-30  Bruno Haible  <bruno@clisp.org>
28872
28873         unlink: Update regarding AIX.
28874         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28875         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28876         Reported by Rainer Tammer.
28877
28878 2010-07-30  Bruno Haible  <bruno@clisp.org>
28879
28880         symlink: Update regarding AIX.
28881         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28882         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28883         Reported by Rainer Tammer.
28884
28885 2010-07-30  Bruno Haible  <bruno@clisp.org>
28886
28887         strndup: Update regarding AIX.
28888         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28889         AIX 7.
28890         Reported by Rainer Tammer.
28891
28892 2010-07-30  Bruno Haible  <bruno@clisp.org>
28893
28894         stat: Update regarding AIX.
28895         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28896         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28897         Reported by Rainer Tammer.
28898
28899 2010-07-30  Bruno Haible  <bruno@clisp.org>
28900
28901         truncl: Fix autoconf test.
28902         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28903         whether truncl works.
28904         Reported by Rainer Tammer.
28905
28906 2010-07-30  Bruno Haible  <bruno@clisp.org>
28907
28908         round: Update regarding AIX.
28909         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28910         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28911         Reported by Rainer Tammer.
28912
28913 2010-07-30  Bruno Haible  <bruno@clisp.org>
28914
28915         rename: Update regarding AIX.
28916         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28917         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28918         Reported by Rainer Tammer.
28919
28920 2010-07-30  Bruno Haible  <bruno@clisp.org>
28921
28922         printf.m4: Update regarding AIX.
28923         * m4/printf.m4: Update comments regarding AIX.
28924         Reported by Rainer Tammer.
28925
28926 2010-07-30  Bruno Haible  <bruno@clisp.org>
28927
28928         iconv: Update regarding AIX.
28929         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28930         AIX 7.
28931         Reported by Rainer Tammer.
28932
28933 2010-07-30  Bruno Haible  <bruno@clisp.org>
28934
28935         getopt: Update regarding AIX.
28936         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28937         no on AIX.
28938         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28939         Reported by Rainer Tammer.
28940
28941 2010-07-30  Bruno Haible  <bruno@clisp.org>
28942
28943         ldexpl; Update regarding AIX.
28944         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28945         on AIX 7.
28946         Reported by Rainer Tammer.
28947
28948 2010-07-30  Bruno Haible  <bruno@clisp.org>
28949
28950         frexpl: Update regarding AIX.
28951         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28952         on AIX 7.
28953         Reported by Rainer Tammer.
28954
28955 2010-07-30  Bruno Haible  <bruno@clisp.org>
28956
28957         open, fopen: Update regarding AIX.
28958         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28959         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28960         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28961         * doc/posix-functions/fopen.texi: Likewise.
28962         Reported by Rainer Tammer.
28963
28964 2010-07-30  Bruno Haible  <bruno@clisp.org>
28965
28966         chown: Update doc regarding AIX.
28967         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28968         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28969         Reported by Rainer Tammer.
28970
28971 2010-07-30  Eric Blake  <eblake@redhat.com>
28972
28973         strtod: fix bug in replacement function on AIX
28974         * lib/strtod.c (strtod): Special case broken "0x" parse in
28975         underlying strtod.
28976         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28977         * doc/posix-functions/strtod.texi (strtod): Likewise.
28978         Reported by Rainer Tammer.
28979
28980 2010-07-30  Bruno Haible  <bruno@clisp.org>
28981
28982         mbrlen: Fix cross-compilation guess for AIX.
28983         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28984         guess. Leftover from 2008-12-22.
28985
28986 2010-07-30  Bruno Haible  <bruno@clisp.org>
28987
28988         mbrtowc: Fix cross-compilation guess for AIX.
28989         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28990         guess. Leftover from 2008-12-21.
28991
28992 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28993
28994         init.sh: work around trap limitation of some shells
28995         * tests/init.sh (setup_): Move exit trap outside of shell function.
28996
28997 2010-07-29  Eric Blake  <eblake@redhat.com>
28998
28999         strtod: aid debugging
29000         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
29001         understanding why strtod is rejected.
29002
29003 2010-07-28  Bruno Haible  <bruno@clisp.org>
29004
29005         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
29006         * lib/unistr/u8-chr.c: Include <string.h>.
29007         * tests/unistr/test-u8-chr.c: Likewise.
29008         * tests/unistr/test-u16-chr.c: Likewise.
29009         * tests/unistr/test-u32-chr.c: Likewise.
29010         * tests/unistr/test-u8-strchr.c: Likewise.
29011         * tests/unistr/test-u16-strchr.c: Likewise.
29012         * tests/unistr/test-u32-strchr.c: Likewise.
29013         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
29014         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
29015         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
29016         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
29017
29018 2010-07-28  Bruno Haible  <bruno@clisp.org>
29019
29020         Use spaces for indentation, not tabs.
29021         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
29022
29023 2010-07-27  Bruno Haible  <bruno@clisp.org>
29024
29025         mbspcasecmp: Fix function specification.
29026         * lib/string.in.h (mbspcasecmp): Fix specification comment.
29027         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
29028         Reported by Eric Blake <eblake@redhat.com>.
29029
29030 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
29031
29032         timespec: use cast and not conditional, as truncation isn't possible
29033         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
29034         instead of a conditional.  Comment about the situation in more detail.
29035         This undoes most of the 2009-10-29 patch.
29036
29037 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
29038
29039         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
29040         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
29041         * lib/unistr/u8-strchr.c: Likewise.
29042         * modules/unistr/u8-chr: Depend on memchr.
29043
29044         unistr/u*-strchr: add tests
29045         * modules/unistr/u8-strchr-tests: New file.
29046         * modules/unistr/u16-strchr-tests: New file.
29047         * modules/unistr/u32-strchr-tests: New file.
29048         * tests/unistr/test-strchr.h: New file.
29049         * tests/unistr/test-u8-strchr.c: New file.
29050         * tests/unistr/test-u16-strchr.c: New file.
29051         * tests/unistr/test-u32-strchr.c: New file.
29052
29053         unistr/u*-chr: test multibyte sequences more
29054         * tests/unistr/test-chr.h: Do complete testing of the characters in the
29055         test vector.
29056         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
29057         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
29058         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
29059
29060         unistr/u*-chr: test multibyte sequences
29061         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
29062
29063         unistr/u*-chr: prepare for multibyte tests
29064         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
29065         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
29066         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
29067         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
29068         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
29069         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
29070
29071 2010-07-18  Bruno Haible  <bruno@clisp.org>
29072
29073         unistr/u8-strchr: Optimize non-ASCII argument case.
29074         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
29075         because the first byte often matches anyway.
29076         Reported by Pádraig Brady <P@draigbrady.com>.
29077
29078 2010-07-15  Karl Berry  <karl@gnu.org>
29079
29080         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
29081
29082 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
29083
29084         getcwd: on Solaris, work better if ancestors are inaccessible
29085         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
29086         buffer and size, try again with a large buffer.  This works better
29087         on Solaris, since its getcwd succeeds even if the path to the root
29088         is inaccessible, and this is helpful in common cases such as .zfs
29089         hidden directories.  Problem reported by J Chapman Flack in
29090         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
29091         Use system getcwd if it's declared, not merely if it's partly
29092         working; use the partly-working test only to avoid needless effort
29093         if the system getcwd fails.
29094         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
29095         comment that was already obsolete and is now even more obsolete.
29096         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
29097         now might call strdup.
29098
29099 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
29100
29101         pthread: Add enough so that coreutils/src/sort.c compiles.
29102         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
29103         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
29104         gnulib. Include <sched.h> and <time.h>, as per POSIX.
29105         Include <sys/types.h>, in case it defines pthread_t.
29106         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
29107         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
29108         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
29109         (pthread_rwlockattr_t, pthread_spinlock_t):
29110         New typedefs, if HAVE_PTHREAD_T is not defined.
29111         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
29112         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
29113         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
29114         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
29115         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
29116         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
29117         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
29118         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
29119         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
29120         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
29121         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
29122         New macros.
29123         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
29124         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
29125         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
29126         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29127         (pthread_spin_unlock): New dummy functions.
29128         (pthread_create): Return EAGAIN; don't set errno.
29129         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29130         require AC_C_INLINE.
29131         * modules/pthread (Depends-on): Add sched, time.
29132         (pthread.h): Use AM_V_GEN.
29133
29134 2010-07-13  Bruno Haible  <bruno@clisp.org>
29135
29136         striconveh: Don't malloc memory if the result buffer is sufficient.
29137         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29138         buffer if its size is sufficient.
29139         Reported by Ludovic Courtès <ludo@gnu.org>.
29140
29141 2010-07-13  Bruno Haible  <bruno@clisp.org>
29142
29143         strtod: Add safety check.
29144         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29145
29146 2010-07-12  Bruno Haible  <bruno@clisp.org>
29147
29148         Unify tests that set gl_cv_func_ldexpl_no_libm.
29149         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29150         gl_FUNC_LDEXPL.
29151         (gl_FUNC_LDEXPL): Invoke it.
29152         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29153
29154 2010-07-12  Bruno Haible  <bruno@clisp.org>
29155
29156         Unify tests that set gl_cv_func_ldexp_no_libm.
29157         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29158         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29159         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29160         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29161         * modules/strtod (Files): Add m4/ldexp.m4.
29162
29163 2010-07-12  Bruno Haible  <bruno@clisp.org>
29164
29165         Unify tests that set gl_cv_func_frexpl_no_libm.
29166         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29167         gl_FUNC_FREXPL_NO_LIBM.
29168         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29169         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29170
29171 2010-07-12  Bruno Haible  <bruno@clisp.org>
29172
29173         Unify tests that set gl_cv_func_frexp_no_libm.
29174         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29175         gl_FUNC_FREXP_NO_LIBM.
29176         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29177         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29178
29179 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29180
29181         memcoll: clarify sizes versus lengths, document better, and tweak perf
29182         * lib/memcoll.c (strcoll_loop, memcoll0):
29183         Improve quality of descriptive comments.  Name variables
29184         consistently as to whether they are lengths (which do not include
29185         terminating null) versus sizes (which do).
29186         * lib/xmemcoll.c (xmemcoll0): Likewise.
29187         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29188         returned when s1size == 0; this is easier to compile and saves
29189         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29190
29191 2010-07-12  Bruno Haible  <bruno@clisp.org>
29192
29193         Tests for module '_Exit'.
29194         * modules/_Exit-tests: New file.
29195         * tests/test-_Exit.sh: New file.
29196         * tests/test-_Exit.c: New file.
29197
29198         New module '_Exit'.
29199         * lib/stdlib.in.h (__attribute__): New macro.
29200         (_Exit): New declaration.
29201         * lib/_Exit.c: New file.
29202         * m4/_Exit.m4: New file.
29203         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29204         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29205         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29206         * modules/_Exit: New file.
29207         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29208         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29209
29210 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29211
29212         strtod: make it more-accurate typically, and don't require libm
29213         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29214         Include limits.h.  Don't include string.h.
29215         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29216         (locale_isspace): New function, so that no casts are needed to
29217         check whether *s is a space.
29218         (ldexp): Provide an unused dummy if not available.
29219         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29220         (strtod): Use them.  This implementation prefers to use the
29221         underlying strtod if available, falling back on our own code
29222         only to fix known bugs.  This is more likely to produce an
29223         accurate result.  Also, it avoids the use of libm functions.
29224         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29225         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29226         was absent, but it caused a test failure with coreutils.
29227         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29228         with libm.
29229         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29230         * modules/strtod-tests (Makefile.am): Likewise.
29231
29232 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29233             Bruno Haible  <bruno@clisp.org>
29234
29235         unistr/u8-strchr: Optimize ASCII argument case.
29236         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29237
29238 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29239
29240         (x)memcoll: minor tweaks
29241         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29242         is after the type that it qualifies.
29243         (memcoll0): Likewise.
29244         * lib/memcoll.h (memcoll0): Likewise.
29245         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29246         * lib/xmemcoll.h (xmemcoll0): Likewise.
29247         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29248         differs from memcoll in that the NUL byte is part of the argument.
29249         Omit the abort-checks, as performance is a real issue here.  Plus,
29250         the checks were wrong anyway (an off-by-one error).  Omit local
29251         variable 'diff', as it's a bit clearer that way.
29252         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29253         no longer needed.
29254
29255 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29256
29257         (x)memcoll: speedup when input is known to be NUL delimited
29258         * lib/memcoll.c: Include stdlib.
29259         (memcoll0): New function.
29260         (strcoll_loop): New function, refactored for use in both memcoll
29261         and memcoll0.
29262         * lib/memcoll.h (memcoll0): Add prototype.
29263         * lib/xmemcoll.c (xmemcoll0): New function.
29264         (collate_error): New function, refactored for use in both xmemcoll
29265         and xmemcoll0.
29266         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29267         * m4/memcoll.m4: add inline invocation.
29268
29269 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29270
29271         * build-aux/bootstrap: Remove any local translations
29272         from the translation project synchronization directory,
29273         so that local only translations are not distributed.
29274
29275 2010-07-04  Bruno Haible  <bruno@clisp.org>
29276
29277         fsusage: Clarify which code applies to which platforms.
29278         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29279         platform.
29280         * lib/fsusage.c (get_fs_usage): Likewise.
29281
29282 2010-07-04  Bruno Haible  <bruno@clisp.org>
29283
29284         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29285         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29286         Reported by Martin Lambers <marlam@marlam.de>.
29287
29288 2010-07-04  Jim Meyering  <meyering@redhat.com>
29289
29290         hash: once again explicitly disallow insertion of NULL
29291         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29292         inserting a NULL pointer cannot work with these functions.
29293         Add a comment with details.
29294         This reverts part of the 2010-07-01 commit, 5bef1a35
29295         "hash: extend module to deal with non-pointer keys".
29296
29297 2010-07-01  Bruno Haible  <bruno@clisp.org>
29298
29299         stdbool: Update doc.
29300         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29301         Info from Christian Weisgerber <naddy@mips.inka.de>.
29302
29303 2010-07-01  Jim Meyering  <meyering@redhat.com>
29304
29305         hash: extend module to deal with non-pointer keys
29306         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29307         but that allows insertion of non-pointer entries.
29308         Do not disallow an ENTRY value of NULL.
29309         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29310         * lib/hash.h (hash_insert0): Declare.
29311
29312 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29313
29314         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29315         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29316         not present (i.e. with autoconf 2.59 and when using gettextize, not
29317         gnulib), require AC_GNU_SOURCE instead.
29318
29319 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29320
29321         idpriv-drop: Fix tests.
29322         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29323         not to the test-idpriv-droptemp program.
29324
29325 2010-06-29  Bruno Haible  <bruno@clisp.org>
29326
29327         string: Fix syntax error with g++ 2.96.
29328         * lib/string.in.h (__pure__): Remove definition.
29329         (_GL_ATTRIBUTE_PURE): New macro.
29330         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29331         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29332         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29333
29334 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29335
29336         unitypes: Fix bug introduced on 2010-05-18.
29337         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29338
29339 2010-06-22  Eric Blake  <eblake@redhat.com>
29340
29341         memmem: slight optimization
29342         * lib/str-two-way.h (critical_factorization): Update comments.
29343         Reduce work during factorization phase.
29344         Reported by Carlos Bueno <carlos@bueno.org>.
29345
29346 2010-06-21  Bruno Haible  <bruno@clisp.org>
29347
29348         Fix HAVE_CALLOC_POSIX misnomer.
29349         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29350         !HAVE_CALLOC_POSIX.
29351         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29352         HAVE_CALLOC_POSIX.
29353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29354         instead of HAVE_CALLOC_POSIX.
29355         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29356         HAVE_CALLOC_POSIX.
29357
29358         Use modern idiom for calloc() replacement.
29359         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29360         AC_FUNC_CALLOC.
29361         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29362         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29363         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29364         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29365         (gl_REPLACE_CALLOC): New macro.
29366
29367 2010-06-21  Bruno Haible  <bruno@clisp.org>
29368
29369         Fix HAVE_REALLOC_POSIX misnomer.
29370         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29371         !HAVE_REALLOC_POSIX.
29372         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29373         HAVE_REALLOC_POSIX.
29374         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29375         instead of HAVE_REALLOC_POSIX.
29376         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29377         HAVE_REALLOC_POSIX.
29378
29379         Use modern idiom for realloc() replacement.
29380         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29381         AC_FUNC_REALLOC.
29382         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29383         Autoconf's AC_FUNC_REALLOC.
29384         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29385         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29386         (gl_REPLACE_REALLOC): New macro.
29387         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29388
29389 2010-06-21  Bruno Haible  <bruno@clisp.org>
29390
29391         Fix HAVE_MALLOC_POSIX misnomer.
29392         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29393         !HAVE_MALLOC_POSIX.
29394         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29395         HAVE_MALLOC_POSIX.
29396         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29397         instead of HAVE_MALLOC_POSIX.
29398         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29399         HAVE_MALLOC_POSIX.
29400
29401         Use modern idiom for malloc() replacement.
29402         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29403         AC_FUNC_MALLOC.
29404         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29405         Autoconf's AC_FUNC_MALLOC.
29406         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29407         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29408         (gl_REPLACE_MALLOC): New macro.
29409         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29410
29411 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29412
29413         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29414         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29415         This macro takes 3 arguments, not 4.
29416
29417 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29418
29419         ipv6: fix detection under mingw
29420         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29421         in6_addr.
29422
29423 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
29424
29425         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
29426         that strtod() works when cross-compiling to a glibc version known
29427         to work.
29428
29429 2010-06-15  Bruno Haible  <bruno@clisp.org>
29430
29431         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
29432
29433 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
29434
29435         select: Correct timeout.
29436         * lib/select.c (rpl_select): Compute wait_timeout correctly.
29437
29438 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29439
29440         git-version-gen: init shell var to avoid env var influence
29441         * build-aux/git-version-gen (v): Init shell var to empty.
29442
29443 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
29444
29445         priv-set: Don't assume that priv.h exists merely because getppriv does.
29446         See Jan Andersen's bug report about AIX 5L in
29447         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
29448         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
29449         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
29450         * lib/priv-set.h: Likewise.
29451         * tests/test-priv-set.c: Likewise.
29452
29453 2010-06-13  Bruno Haible  <bruno@clisp.org>
29454
29455         relocatable: Make it easier to test whether to install wrappers.
29456         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
29457         RELOCATABLE_VIA_WRAPPER.
29458
29459 2010-06-13  Bruno Haible  <bruno@clisp.org>
29460
29461         gnulib-tool: Display specified modules and dependencies differently.
29462         * gnulib-tool (func_show_module_list): New function.
29463         (func_import, func_create_testdir): Invoke it.
29464         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29465
29466 2010-06-13  Bruno Haible  <bruno@clisp.org>
29467
29468         gnulib-tool: Align code of func_import and func_create_testdir.
29469         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29470         specified_modules.
29471
29472 2010-06-12  Jim Meyering  <meyering@redhat.com>
29473
29474         test-inttostr: avoid spurious failure on Solaris 9
29475         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29476         to accept "%ju".  Reported by Bruno Haible.
29477
29478 2010-06-11  Jim Meyering  <meyering@redhat.com>
29479
29480         test-sys_socket: mark variables as used more readably
29481         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29482         as "used" explicitly via (void) statement casts.  This is more
29483         readable than using them in an artificial return expression.
29484         Suggestion from Bruno Haible.
29485
29486 2010-06-11  Bruno Haible  <bruno@clisp.org>
29487
29488         Avoid some more warnings from "gcc -Wwrite-strings".
29489         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29490         to 'const char *'.
29491         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29492         * tests/test-c-strcasestr.c (main): Likewise.
29493         * tests/test-mbscasestr1.c (main): Likewise.
29494         * tests/test-mbscasestr2.c (main): Likewise.
29495         * tests/test-memmem.c (main): Likewise.
29496         * tests/test-strstr.c (main): Likewise.
29497         * tests/test-strcasestr.c (main): Likewise.
29498
29499 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29500
29501         init.sh: change framework_failure_ to fail with status 99, not 1
29502         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29503         automake's parallel-tests rule that this is an unexpected failure,
29504         even if the test is listed in XFAIL_TESTS.
29505
29506 2010-06-11  Jim Meyering  <meyering@redhat.com>
29507
29508         test-inttostr: avoid warnings about 4-6KB literal strings
29509         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29510         Include "macros.h", for its definition of ASSERT.
29511         (CK): s/assert/ASSERT/
29512         * modules/inttostr-tests (Files): Add macros.h.
29513
29514         init.sh: don't use $ME_ or skip_ before they are defined
29515         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29516         their first uses.  Also hoist their companions: warn_, fail_,
29517         framework_failure_, $stderr_fileno.  Prompted by a patch from
29518         Stefano Lattarini.
29519
29520         test-sys_socket: avoid set-but-not-used warnings from gcc
29521         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29522         avoid warning about set-but-not-used variables.
29523
29524         test-xvasprintf: avoid 'const' discard warnings
29525         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29526         "const" when assigning from literal strings.
29527         (test_xasprintf): Add "void" in function argument list to placate
29528         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29529
29530         tests: avoid compilation warnings in argmatch and exclude tests...
29531         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29532         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29533         Since it always exits, declare with the "noreturn" attribute.
29534         * tests/test-argmatch.c: Likewise.
29535
29536         tests: avoid 'const' discard warnings in mbsstr tests
29537         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29538         * tests/test-mbsstr2.c (main): Likewise.
29539
29540         test-verify: avoid warning from gcc's -Wmissing-declarations
29541         * tests/test-verify.c (function): Declare to be static.
29542
29543         test-inttostr.c: include <string.h> for use of strcmp
29544         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29545
29546         test-linkat: avoid failed assertion on "other" architectures
29547         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29548         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29549         sparc: https://bugs.launchpad.net/bugs/591968
29550
29551 2010-06-11  Jim Meyering  <meyering@redhat.com>
29552
29553         printf.m4: avoid autoconf's "Expanded Before Required" warning
29554         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29555         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29556         autoconf warning.
29557
29558 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29559
29560         Replacement header templates are now named with ".in", not "_".
29561         * doc/gnulib-intro.texi: Correct.
29562
29563 2010-06-10  Jim Meyering  <meyering@redhat.com>
29564
29565         inttostr-tests: depend on snprintf, not snprintf-posix
29566         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29567         snprintf-posix, to avoid this aclocal failure:
29568           missing file gnulib-tests/vasnprintf.c
29569           configure.ac:45: error: expected source file, required through \
29570           AC_LIBSOURCES, not found
29571
29572 2010-06-10  Jim Meyering  <meyering@redhat.com>
29573
29574         inttostr: add a new function, inttostr, and tests
29575         The namesake function was not available.  The existence of the
29576         template file, inttostr.c makes its addition nontrivial.
29577         * lib/anytostr.c: Rename from inttostr.c.
29578         (anytostr): Rename from inttostr.
29579         * lib/inttostr.c: New file.
29580         * modules/inttostr (Files): Add anytostr.c.
29581         (Makefile.am): Set lib_SOURCES instead of ...
29582         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29583         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29584         * lib/offtostr.c: Likewise.
29585         * lib/uinttostr.c: Likewise.
29586         * lib/umaxtostr.c: Likewise.
29587         * modules/inttostr-tests: New file.
29588         * tests/test-inttostr.c: New file.  Test these functions.
29589
29590 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29591             Bruno Haible  <bruno@clisp.org>
29592
29593         Add "Extending Gnulib" chapter to manual.
29594         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29595         chapter.
29596         (Extending Gnulib): New chapter.
29597         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29598         chapter.
29599
29600 2010-06-09  Bruno Haible  <bruno@clisp.org>
29601
29602         Avoid relocwrapper link errors due to gnulib replacement functions.
29603         * lib/areadlink.c: Use the system's malloc, realloc functions.
29604         (areadlink): Set errno to ENOMEM explicitly.
29605         * modules/areadlink (Depends-on): Remove malloc-posix.
29606         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29607
29608 2010-06-09  Bruno Haible  <bruno@clisp.org>
29609
29610         Avoid relocwrapper link errors due to gnulib replacement functions.
29611         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29612         * lib/malloca.c: Likewise.
29613         * lib/relocatable.c: Likewise.
29614         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29615         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29616         * lib/setenv.c: Use the system's malloc, realloc functions.
29617         * lib/strerror.c: Use the system's sprintf function.
29618         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29619
29620 2010-06-04  Bruno Haible  <bruno@clisp.org>
29621
29622         Prefer documented low-level autoconf macro names.
29623         * m4/lib-link.m4: Use m4_translit instead of translit.
29624         * m4/environ.m4: Likewise.
29625         * m4/mathfunc.m4: Likewise.
29626         * m4/onceonly.m4: Likewise.
29627         * m4/stdint.m4: Likewise.
29628         Suggested by Eric Blake.
29629
29630 2010-06-04  Martin Lambers  <marlam@marlam.de>
29631             Bruno Haible  <bruno@clisp.org>
29632
29633         havelib: Allow library names with '+' characters.
29634         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29635         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29636
29637 2010-06-09  Bruno Haible  <bruno@clisp.org>
29638
29639         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29640         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29641         realloc failed.
29642
29643 2010-06-08  Peter Simons  <simons@cryp.to>
29644
29645         maint.mk: make the news-check rule more configurable
29646         * top/maint.mk (news-check-lines-spec): New variable.
29647         (news-check): Use "sed -n 1,10p" in place of "head".
29648
29649 2010-06-07  Jim Meyering  <meyering@redhat.com>
29650
29651         do-release-commit-and-tag: fix typo in --help
29652         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29653
29654         regex: avoid new dead-code warning with gcc-4.6.0
29655         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29656         if-block containing a while-loop.  It's been unused for at least
29657         5 years.
29658
29659 2010-06-05  Bruno Haible  <bruno@clisp.org>
29660
29661         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29662         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29663
29664 2010-06-04  Bruno Haible  <bruno@clisp.org>
29665
29666         Update to GNU gettext 0.18.1.
29667         * modules/gettext (configure.ac): Require gettext infrastructure from
29668         version 0.18.1.
29669
29670 2010-06-03  Bruno Haible  <bruno@clisp.org>
29671
29672         Don't use AC_LIBOBJ with file names in subdirectories.
29673         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29674         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29675         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29676         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29677         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29678         gl_LIBUNISTRING_LIBSOURCE.
29679         (Makefile.am): Augment lib_SOURCES here, conditionally.
29680         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29681
29682 2010-06-03  Bruno Haible  <bruno@clisp.org>
29683
29684         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29685         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29686         expansion does not end with a newline.
29687         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29688         unnecessary newline.
29689
29690 2010-06-03  Bruno Haible  <bruno@clisp.org>
29691
29692         Reduce dependencies.
29693         * tests/test-quotearg.h: New file, extracted from
29694         tests/test-quotearg.c.
29695         * tests/test-quotearg-simple.c: New file, extracted from
29696         tests/test-quotearg.c.
29697         * tests/test-quotearg.c: Don't include <ctype.h>.
29698         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29699         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29700         use_quote_double_quotes, use_quotearg_colon): Moved to
29701         tests/test-quotearg.h.
29702         (results_g, flag_results, custom_quotes, custom_results): Moved
29703         to tests/test-quotearg-simple.c.
29704         (main): Moved the part that does not depend on gettext to
29705         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29706         performed.
29707         * modules/quotearg-simple: New file.
29708         * modules/quotearg-simple-tests: New file.
29709         * modules/quotearg (Depends-on): Add quotearg-simple.
29710         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29711         (Files): Add tests/test-quotearg.h.
29712         Reported by Paolo Bonzini.
29713
29714 2010-06-03  Bruno Haible  <bruno@clisp.org>
29715
29716         Reduce dependencies.
29717         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29718
29719 2010-06-03  Bruno Haible  <bruno@clisp.org>
29720
29721         time: Undefine more broken macros.
29722         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29723         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29724         Reported by Eric Blake.
29725
29726 2010-06-03  Bruno Haible  <bruno@clisp.org>
29727
29728         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29729         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29730         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29731         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29732         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29733         Reported by Ludovic Courtès <ludo@gnu.org>.
29734
29735 2010-06-02  Eric Blake  <eblake@redhat.com>
29736
29737         time: work with mingw + pthreads-win32 library
29738         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29739         if timespec is defined only in pthread.h.
29740         * modules/time (Makefile.am): Substitute it.
29741         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29742         <pthread.h>, when needed.
29743         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29744         from the library.
29745
29746 2010-05-31  Bruno Haible  <bruno@clisp.org>
29747
29748         Avoid expanding two macros in the wrong order.
29749         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29750         gl_LIBUNISTRING if it is defined.
29751         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29752         autoconf >= 2.64.
29753         Reported by Ludovic Courtès <ludo@gnu.org>.
29754
29755 2010-05-27  Jim Meyering  <meyering@redhat.com>
29756
29757         maint.mk: also prohibit "#undef" of always-defined symbols
29758         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29759         Allow more than one space before the symbol name.
29760         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29761         the regexp uses alternation.
29762
29763 2010-05-26  Eric Blake  <eblake@redhat.com>
29764
29765         maint.mk: avoid echo -e
29766         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29767         Convert all uses of echo -* to printf.
29768         Reported by Matthias Bolte.
29769
29770 2010-05-25  Bruno Haible  <bruno@clisp.org>
29771
29772         Update to GNU gettext 0.18, part 2.
29773         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29774         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29775
29776 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29777
29778         Add missing include in test-pwrite.c.
29779         * tests/test-pwrite.c: Include string.h, for strcmp.
29780
29781 2010-05-24  Bruno Haible  <bruno@clisp.org>
29782
29783         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29784
29785 2010-05-24  Bruno Haible  <bruno@clisp.org>
29786
29787         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29788         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29789         iconveh_error argument.
29790         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29791         U_STRCONV_TO_LOCALE.
29792         * lib/unistr/u16-strcoll.c: Likewise.
29793         * lib/unistr/u32-strcoll.c: Likewise.
29794         * modules/unistr/u8-strcoll (Depends-on): Add
29795         uniconv/u8-strconv-to-enc, localcharset. Remove
29796         uniconv/u8-strconv-to-locale.
29797         (configure.ac): Bump version number.
29798         * modules/unistr/u16-strcoll (Depends-on): Add
29799         uniconv/u16-strconv-to-enc, localcharset. Remove
29800         uniconv/u16-strconv-to-locale.
29801         (configure.ac): Bump version number.
29802         * modules/unistr/u32-strcoll (Depends-on): Add
29803         uniconv/u32-strconv-to-enc, localcharset. Remove
29804         uniconv/u32-strconv-to-locale.
29805         (configure.ac): Bump version number.
29806
29807 2010-05-24  Bruno Haible  <bruno@clisp.org>
29808
29809         Avoid a test failure on NetBSD 5.0.
29810         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29811         an iconv() bug.
29812
29813 2010-05-24  Bruno Haible  <bruno@clisp.org>
29814
29815         Adjust #include directive style.
29816         * modules/regex (Includes): Recommend to write <regex.h>.
29817
29818 2010-05-24  Bruno Haible  <bruno@clisp.org>
29819
29820         regex: Don't require alloca.
29821         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29822         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29823         only inside if (0).
29824
29825 2010-05-23  Jim Meyering  <meyering@redhat.com>
29826
29827         test-renameat.c: include <sys/stat.h>
29828         * tests/test-renameat.c: Include <sys/stat.h>; required for
29829         definition of S_IS* macros.
29830
29831 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29832
29833         Update maintainer documentation for 'relocatable-prog' module.
29834         * doc/relocatable-maint.texi: Update.
29835         Comments by Bruno Haible.
29836
29837 2010-05-23  Bruno Haible  <bruno@clisp.org>
29838
29839         git-merge-changelog: Enable --split-merged-entry by default.
29840         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29841         (usage): Don't mention this option any more.
29842         Reported by Ralf Wildenhues.
29843
29844 2010-05-23  Jim Meyering  <meyering@redhat.com>
29845
29846         test-pwrite: do not leave behind a test file named "out"
29847         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29848         The trivial-looking use of init.sh is really necessary.
29849         It ensures that the temporary file, "out", is created in
29850         a temporary directory, and removed upon termination.
29851         * tests/test-pwrite.sh: Re-add file.
29852         * modules/pwrite-tests: Reference it.
29853
29854 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29855
29856         Fix output redirection buglet in init.sh.
29857         * tests/init.sh: Fix redirection of stderr.
29858
29859 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29860
29861         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29862
29863 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29864
29865         * modules/valgrind-tests: New file.
29866         * m4/valgrind-tests.m4: New file.
29867         * doc/valgrind-tests.texi: New file.
29868         * doc/gnulib.texi (Running self-tests under valgrind): New
29869         section.
29870
29871 2010-05-19  Bruno Haible  <bruno@clisp.org>
29872
29873         Clean up dead code in recent commit.
29874         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29875         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29876         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29877         Suggested by Paolo Bonzini.
29878
29879 2010-05-19  Bruno Haible  <bruno@clisp.org>
29880
29881         Avoid valgrind error reports from libunistring.
29882         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29883         * modules/libunistring (Files): Add it.
29884         * modules/libunistring-optional (Files): Likewise.
29885
29886 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29887             Bruno Haible  <bruno@clisp.org>
29888
29889         New module 'libunistring-optional'.
29890         * modules/libunistring-optional: New file.
29891         * m4/libunistring-base.m4: New file.
29892         * m4/libunistring-optional.m4: New file.
29893         * lib/unicase.in.h: Renamed from lib/unicase.h.
29894         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29895         * lib/unictype.in.h: Renamed from lib/unictype.h.
29896         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29897         * lib/uniname.in.h: Renamed from lib/uniname.h.
29898         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29899         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29900         * lib/unistr.in.h: Renamed from lib/unistr.h.
29901         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29902         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29903         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29904         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29905         gl_LIBUNISTRING. If the library was found, determine the installed
29906         version and set LIBUNISTRING_VERSION.
29907         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29908         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29909         handle a configuration option --with-included-libunistring.
29910         * modules/libunistring (Files): Add m4/absolute-header.m4.
29911         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29912         Add m4/libunistring-base.m4.
29913         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29914         (Makefile.am): Build unicase.h from unicase.in.h.
29915         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29916         Add m4/libunistring-base.m4.
29917         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29918         (Makefile.am): Build uniconv.h from uniconv.in.h.
29919         * modules/unictype/base (Files): Use unictype.in.h instead of
29920         unictype.h. Add m4/libunistring-base.m4.
29921         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29922         (Makefile.am): Build unictype.h from unictype.in.h.
29923         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29924         Add m4/libunistring-base.m4.
29925         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29926         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29927         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29928         Add m4/libunistring-base.m4.
29929         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29930         (Makefile.am): Build uniname.h from uniname.in.h.
29931         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29932         Add m4/libunistring-base.m4.
29933         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29934         (Makefile.am): Build uninorm.h from uninorm.in.h.
29935         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29936         unistdio.h. Add m4/libunistring-base.m4.
29937         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29938         (Makefile.am): Build unistdio.h from unistdio.in.h.
29939         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29940         Add m4/libunistring-base.m4.
29941         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29942         (Makefile.am): Build unistr.h from unistr.in.h.
29943         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29944         Add m4/libunistring-base.m4.
29945         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29946         (Makefile.am): Build unitypes.h from unitypes.in.h.
29947         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29948         Add m4/libunistring-base.m4.
29949         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29950         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29951         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29952         uniwidth.h. Add m4/libunistring-base.m4.
29953         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29954         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29955         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29956         instead of augmenting lib_SOURCES.
29957         * modules/unicase/empty-suffix-context: Likewise.
29958         * modules/unicase/locale-language: Likewise.
29959         * modules/unicase/tolower: Likewise.
29960         * modules/unicase/totitle: Likewise.
29961         * modules/unicase/toupper: Likewise.
29962         * modules/unicase/u8-casecmp: Likewise.
29963         * modules/unicase/u8-casecoll: Likewise.
29964         * modules/unicase/u8-casefold: Likewise.
29965         * modules/unicase/u8-casexfrm: Likewise.
29966         * modules/unicase/u8-ct-casefold: Likewise.
29967         * modules/unicase/u8-ct-tolower: Likewise.
29968         * modules/unicase/u8-ct-totitle: Likewise.
29969         * modules/unicase/u8-ct-toupper: Likewise.
29970         * modules/unicase/u8-is-cased: Likewise.
29971         * modules/unicase/u8-is-casefolded: Likewise.
29972         * modules/unicase/u8-is-lowercase: Likewise.
29973         * modules/unicase/u8-is-titlecase: Likewise.
29974         * modules/unicase/u8-is-uppercase: Likewise.
29975         * modules/unicase/u8-prefix-context: Likewise.
29976         * modules/unicase/u8-suffix-context: Likewise.
29977         * modules/unicase/u8-tolower: Likewise.
29978         * modules/unicase/u8-totitle: Likewise.
29979         * modules/unicase/u8-toupper: Likewise.
29980         * modules/unicase/u16-casecmp: Likewise.
29981         * modules/unicase/u16-casecoll: Likewise.
29982         * modules/unicase/u16-casefold: Likewise.
29983         * modules/unicase/u16-casexfrm: Likewise.
29984         * modules/unicase/u16-ct-casefold: Likewise.
29985         * modules/unicase/u16-ct-tolower: Likewise.
29986         * modules/unicase/u16-ct-totitle: Likewise.
29987         * modules/unicase/u16-ct-toupper: Likewise.
29988         * modules/unicase/u16-is-cased: Likewise.
29989         * modules/unicase/u16-is-casefolded: Likewise.
29990         * modules/unicase/u16-is-lowercase: Likewise.
29991         * modules/unicase/u16-is-titlecase: Likewise.
29992         * modules/unicase/u16-is-uppercase: Likewise.
29993         * modules/unicase/u16-prefix-context: Likewise.
29994         * modules/unicase/u16-suffix-context: Likewise.
29995         * modules/unicase/u16-tolower: Likewise.
29996         * modules/unicase/u16-totitle: Likewise.
29997         * modules/unicase/u16-toupper: Likewise.
29998         * modules/unicase/u32-casecmp: Likewise.
29999         * modules/unicase/u32-casecoll: Likewise.
30000         * modules/unicase/u32-casefold: Likewise.
30001         * modules/unicase/u32-casexfrm: Likewise.
30002         * modules/unicase/u32-ct-casefold: Likewise.
30003         * modules/unicase/u32-ct-tolower: Likewise.
30004         * modules/unicase/u32-ct-totitle: Likewise.
30005         * modules/unicase/u32-ct-toupper: Likewise.
30006         * modules/unicase/u32-is-cased: Likewise.
30007         * modules/unicase/u32-is-casefolded: Likewise.
30008         * modules/unicase/u32-is-lowercase: Likewise.
30009         * modules/unicase/u32-is-titlecase: Likewise.
30010         * modules/unicase/u32-is-uppercase: Likewise.
30011         * modules/unicase/u32-prefix-context: Likewise.
30012         * modules/unicase/u32-suffix-context: Likewise.
30013         * modules/unicase/u32-tolower: Likewise.
30014         * modules/unicase/u32-totitle: Likewise.
30015         * modules/unicase/u32-toupper: Likewise.
30016         * modules/unicase/ulc-casecmp: Likewise.
30017         * modules/unicase/ulc-casecoll: Likewise.
30018         * modules/unicase/ulc-casexfrm: Likewise.
30019         * modules/uniconv/u8-conv-from-enc: Likewise.
30020         * modules/uniconv/u8-conv-to-enc: Likewise.
30021         * modules/uniconv/u8-strconv-from-enc: Likewise.
30022         * modules/uniconv/u8-strconv-from-locale: Likewise.
30023         * modules/uniconv/u8-strconv-to-enc: Likewise.
30024         * modules/uniconv/u8-strconv-to-locale: Likewise.
30025         * modules/uniconv/u16-conv-from-enc: Likewise.
30026         * modules/uniconv/u16-conv-to-enc: Likewise.
30027         * modules/uniconv/u16-strconv-from-enc: Likewise.
30028         * modules/uniconv/u16-strconv-from-locale: Likewise.
30029         * modules/uniconv/u16-strconv-to-enc: Likewise.
30030         * modules/uniconv/u16-strconv-to-locale: Likewise.
30031         * modules/uniconv/u32-conv-from-enc: Likewise.
30032         * modules/uniconv/u32-conv-to-enc: Likewise.
30033         * modules/uniconv/u32-strconv-from-enc: Likewise.
30034         * modules/uniconv/u32-strconv-from-locale: Likewise.
30035         * modules/uniconv/u32-strconv-to-enc: Likewise.
30036         * modules/uniconv/u32-strconv-to-locale: Likewise.
30037         * modules/unictype/bidicategory-byname: Likewise.
30038         * modules/unictype/bidicategory-name: Likewise.
30039         * modules/unictype/bidicategory-of: Likewise.
30040         * modules/unictype/bidicategory-test: Likewise.
30041         * modules/unictype/block-list: Likewise.
30042         * modules/unictype/block-test: Likewise.
30043         * modules/unictype/category-C: Likewise.
30044         * modules/unictype/category-Cc: Likewise.
30045         * modules/unictype/category-Cf: Likewise.
30046         * modules/unictype/category-Cn: Likewise.
30047         * modules/unictype/category-Co: Likewise.
30048         * modules/unictype/category-Cs: Likewise.
30049         * modules/unictype/category-L: Likewise.
30050         * modules/unictype/category-Ll: Likewise.
30051         * modules/unictype/category-Lm: Likewise.
30052         * modules/unictype/category-Lo: Likewise.
30053         * modules/unictype/category-Lt: Likewise.
30054         * modules/unictype/category-Lu: Likewise.
30055         * modules/unictype/category-M: Likewise.
30056         * modules/unictype/category-Mc: Likewise.
30057         * modules/unictype/category-Me: Likewise.
30058         * modules/unictype/category-Mn: Likewise.
30059         * modules/unictype/category-N: Likewise.
30060         * modules/unictype/category-Nd: Likewise.
30061         * modules/unictype/category-Nl: Likewise.
30062         * modules/unictype/category-No: Likewise.
30063         * modules/unictype/category-P: Likewise.
30064         * modules/unictype/category-Pc: Likewise.
30065         * modules/unictype/category-Pd: Likewise.
30066         * modules/unictype/category-Pe: Likewise.
30067         * modules/unictype/category-Pf: Likewise.
30068         * modules/unictype/category-Pi: Likewise.
30069         * modules/unictype/category-Po: Likewise.
30070         * modules/unictype/category-Ps: Likewise.
30071         * modules/unictype/category-S: Likewise.
30072         * modules/unictype/category-Sc: Likewise.
30073         * modules/unictype/category-Sk: Likewise.
30074         * modules/unictype/category-Sm: Likewise.
30075         * modules/unictype/category-So: Likewise.
30076         * modules/unictype/category-Z: Likewise.
30077         * modules/unictype/category-Zl: Likewise.
30078         * modules/unictype/category-Zp: Likewise.
30079         * modules/unictype/category-Zs: Likewise.
30080         * modules/unictype/category-and: Likewise.
30081         * modules/unictype/category-and-not: Likewise.
30082         * modules/unictype/category-byname: Likewise.
30083         * modules/unictype/category-name: Likewise.
30084         * modules/unictype/category-none: Likewise.
30085         * modules/unictype/category-of: Likewise.
30086         * modules/unictype/category-or: Likewise.
30087         * modules/unictype/category-test: Likewise.
30088         * modules/unictype/combining-class: Likewise.
30089         * modules/unictype/ctype-alnum: Likewise.
30090         * modules/unictype/ctype-alpha: Likewise.
30091         * modules/unictype/ctype-blank: Likewise.
30092         * modules/unictype/ctype-cntrl: Likewise.
30093         * modules/unictype/ctype-digit: Likewise.
30094         * modules/unictype/ctype-graph: Likewise.
30095         * modules/unictype/ctype-lower: Likewise.
30096         * modules/unictype/ctype-print: Likewise.
30097         * modules/unictype/ctype-punct: Likewise.
30098         * modules/unictype/ctype-space: Likewise.
30099         * modules/unictype/ctype-upper: Likewise.
30100         * modules/unictype/ctype-xdigit: Likewise.
30101         * modules/unictype/decimal-digit: Likewise.
30102         * modules/unictype/digit: Likewise.
30103         * modules/unictype/mirror: Likewise.
30104         * modules/unictype/numeric: Likewise.
30105         * modules/unictype/property-alphabetic: Likewise.
30106         * modules/unictype/property-ascii-hex-digit: Likewise.
30107         * modules/unictype/property-bidi-arabic-digit: Likewise.
30108         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
30109         * modules/unictype/property-bidi-block-separator: Likewise.
30110         * modules/unictype/property-bidi-boundary-neutral: Likewise.
30111         * modules/unictype/property-bidi-common-separator: Likewise.
30112         * modules/unictype/property-bidi-control: Likewise.
30113         * modules/unictype/property-bidi-embedding-or-override: Likewise.
30114         * modules/unictype/property-bidi-eur-num-separator: Likewise.
30115         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
30116         * modules/unictype/property-bidi-european-digit: Likewise.
30117         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
30118         * modules/unictype/property-bidi-left-to-right: Likewise.
30119         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
30120         * modules/unictype/property-bidi-other-neutral: Likewise.
30121         * modules/unictype/property-bidi-pdf: Likewise.
30122         * modules/unictype/property-bidi-segment-separator: Likewise.
30123         * modules/unictype/property-bidi-whitespace: Likewise.
30124         * modules/unictype/property-byname: Likewise.
30125         * modules/unictype/property-combining: Likewise.
30126         * modules/unictype/property-composite: Likewise.
30127         * modules/unictype/property-currency-symbol: Likewise.
30128         * modules/unictype/property-dash: Likewise.
30129         * modules/unictype/property-decimal-digit: Likewise.
30130         * modules/unictype/property-default-ignorable-code-point: Likewise.
30131         * modules/unictype/property-deprecated: Likewise.
30132         * modules/unictype/property-diacritic: Likewise.
30133         * modules/unictype/property-extender: Likewise.
30134         * modules/unictype/property-format-control: Likewise.
30135         * modules/unictype/property-grapheme-base: Likewise.
30136         * modules/unictype/property-grapheme-extend: Likewise.
30137         * modules/unictype/property-grapheme-link: Likewise.
30138         * modules/unictype/property-hex-digit: Likewise.
30139         * modules/unictype/property-hyphen: Likewise.
30140         * modules/unictype/property-id-continue: Likewise.
30141         * modules/unictype/property-id-start: Likewise.
30142         * modules/unictype/property-ideographic: Likewise.
30143         * modules/unictype/property-ids-binary-operator: Likewise.
30144         * modules/unictype/property-ids-trinary-operator: Likewise.
30145         * modules/unictype/property-ignorable-control: Likewise.
30146         * modules/unictype/property-iso-control: Likewise.
30147         * modules/unictype/property-join-control: Likewise.
30148         * modules/unictype/property-left-of-pair: Likewise.
30149         * modules/unictype/property-line-separator: Likewise.
30150         * modules/unictype/property-logical-order-exception: Likewise.
30151         * modules/unictype/property-lowercase: Likewise.
30152         * modules/unictype/property-math: Likewise.
30153         * modules/unictype/property-non-break: Likewise.
30154         * modules/unictype/property-not-a-character: Likewise.
30155         * modules/unictype/property-numeric: Likewise.
30156         * modules/unictype/property-other-alphabetic: Likewise.
30157         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30158         * modules/unictype/property-other-grapheme-extend: Likewise.
30159         * modules/unictype/property-other-id-continue: Likewise.
30160         * modules/unictype/property-other-id-start: Likewise.
30161         * modules/unictype/property-other-lowercase: Likewise.
30162         * modules/unictype/property-other-math: Likewise.
30163         * modules/unictype/property-other-uppercase: Likewise.
30164         * modules/unictype/property-paired-punctuation: Likewise.
30165         * modules/unictype/property-paragraph-separator: Likewise.
30166         * modules/unictype/property-pattern-syntax: Likewise.
30167         * modules/unictype/property-pattern-white-space: Likewise.
30168         * modules/unictype/property-private-use: Likewise.
30169         * modules/unictype/property-punctuation: Likewise.
30170         * modules/unictype/property-quotation-mark: Likewise.
30171         * modules/unictype/property-radical: Likewise.
30172         * modules/unictype/property-sentence-terminal: Likewise.
30173         * modules/unictype/property-soft-dotted: Likewise.
30174         * modules/unictype/property-space: Likewise.
30175         * modules/unictype/property-terminal-punctuation: Likewise.
30176         * modules/unictype/property-test: Likewise.
30177         * modules/unictype/property-titlecase: Likewise.
30178         * modules/unictype/property-unassigned-code-value: Likewise.
30179         * modules/unictype/property-unified-ideograph: Likewise.
30180         * modules/unictype/property-uppercase: Likewise.
30181         * modules/unictype/property-variation-selector: Likewise.
30182         * modules/unictype/property-white-space: Likewise.
30183         * modules/unictype/property-xid-continue: Likewise.
30184         * modules/unictype/property-xid-start: Likewise.
30185         * modules/unictype/property-zero-width: Likewise.
30186         * modules/unictype/scripts: Likewise.
30187         * modules/unictype/syntax-c-ident: Likewise.
30188         * modules/unictype/syntax-c-whitespace: Likewise.
30189         * modules/unictype/syntax-java-ident: Likewise.
30190         * modules/unictype/syntax-java-whitespace: Likewise.
30191         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30192         * modules/unilbrk/u8-width-linebreaks: Likewise.
30193         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30194         * modules/unilbrk/u16-width-linebreaks: Likewise.
30195         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30196         * modules/unilbrk/u32-width-linebreaks: Likewise.
30197         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30198         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30199         * modules/uniname/uniname: Likewise.
30200         * modules/uninorm/canonical-decomposition: Likewise.
30201         * modules/uninorm/composition: Likewise.
30202         * modules/uninorm/decomposing-form: Likewise.
30203         * modules/uninorm/decomposition: Likewise.
30204         * modules/uninorm/filter: Likewise.
30205         * modules/uninorm/nfc: Likewise.
30206         * modules/uninorm/nfd: Likewise.
30207         * modules/uninorm/nfkc: Likewise.
30208         * modules/uninorm/nfkd: Likewise.
30209         * modules/uninorm/u8-normalize: Likewise.
30210         * modules/uninorm/u8-normcmp: Likewise.
30211         * modules/uninorm/u8-normcoll: Likewise.
30212         * modules/uninorm/u8-normxfrm: Likewise.
30213         * modules/uninorm/u16-normalize: Likewise.
30214         * modules/uninorm/u16-normcmp: Likewise.
30215         * modules/uninorm/u16-normcoll: Likewise.
30216         * modules/uninorm/u16-normxfrm: Likewise.
30217         * modules/uninorm/u32-normalize: Likewise.
30218         * modules/uninorm/u32-normcmp: Likewise.
30219         * modules/uninorm/u32-normcoll: Likewise.
30220         * modules/uninorm/u32-normxfrm: Likewise.
30221         * modules/unistdio/u8-asnprintf: Likewise.
30222         * modules/unistdio/u8-asprintf: Likewise.
30223         * modules/unistdio/u8-snprintf: Likewise.
30224         * modules/unistdio/u8-sprintf: Likewise.
30225         * modules/unistdio/u8-u8-asnprintf: Likewise.
30226         * modules/unistdio/u8-u8-asprintf: Likewise.
30227         * modules/unistdio/u8-u8-snprintf: Likewise.
30228         * modules/unistdio/u8-u8-sprintf: Likewise.
30229         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30230         * modules/unistdio/u8-u8-vasprintf: Likewise.
30231         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30232         * modules/unistdio/u8-u8-vsprintf: Likewise.
30233         * modules/unistdio/u8-vasnprintf: Likewise.
30234         * modules/unistdio/u8-vasprintf: Likewise.
30235         * modules/unistdio/u8-vsnprintf: Likewise.
30236         * modules/unistdio/u8-vsprintf: Likewise.
30237         * modules/unistdio/u16-asnprintf: Likewise.
30238         * modules/unistdio/u16-asprintf: Likewise.
30239         * modules/unistdio/u16-snprintf: Likewise.
30240         * modules/unistdio/u16-sprintf: Likewise.
30241         * modules/unistdio/u16-u16-asnprintf: Likewise.
30242         * modules/unistdio/u16-u16-asprintf: Likewise.
30243         * modules/unistdio/u16-u16-snprintf: Likewise.
30244         * modules/unistdio/u16-u16-sprintf: Likewise.
30245         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30246         * modules/unistdio/u16-u16-vasprintf: Likewise.
30247         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30248         * modules/unistdio/u16-u16-vsprintf: Likewise.
30249         * modules/unistdio/u16-vasnprintf: Likewise.
30250         * modules/unistdio/u16-vasprintf: Likewise.
30251         * modules/unistdio/u16-vsnprintf: Likewise.
30252         * modules/unistdio/u16-vsprintf: Likewise.
30253         * modules/unistdio/u32-asnprintf: Likewise.
30254         * modules/unistdio/u32-asprintf: Likewise.
30255         * modules/unistdio/u32-snprintf: Likewise.
30256         * modules/unistdio/u32-sprintf: Likewise.
30257         * modules/unistdio/u32-u32-asnprintf: Likewise.
30258         * modules/unistdio/u32-u32-asprintf: Likewise.
30259         * modules/unistdio/u32-u32-snprintf: Likewise.
30260         * modules/unistdio/u32-u32-sprintf: Likewise.
30261         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30262         * modules/unistdio/u32-u32-vasprintf: Likewise.
30263         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30264         * modules/unistdio/u32-u32-vsprintf: Likewise.
30265         * modules/unistdio/u32-vasnprintf: Likewise.
30266         * modules/unistdio/u32-vasprintf: Likewise.
30267         * modules/unistdio/u32-vsnprintf: Likewise.
30268         * modules/unistdio/u32-vsprintf: Likewise.
30269         * modules/unistdio/ulc-asnprintf: Likewise.
30270         * modules/unistdio/ulc-asprintf: Likewise.
30271         * modules/unistdio/ulc-fprintf: Likewise.
30272         * modules/unistdio/ulc-snprintf: Likewise.
30273         * modules/unistdio/ulc-sprintf: Likewise.
30274         * modules/unistdio/ulc-vasnprintf: Likewise.
30275         * modules/unistdio/ulc-vasprintf: Likewise.
30276         * modules/unistdio/ulc-vfprintf: Likewise.
30277         * modules/unistdio/ulc-vsnprintf: Likewise.
30278         * modules/unistdio/ulc-vsprintf: Likewise.
30279         * modules/unistr/u8-check: Likewise.
30280         * modules/unistr/u8-chr: Likewise.
30281         * modules/unistr/u8-cmp: Likewise.
30282         * modules/unistr/u8-cmp2: Likewise.
30283         * modules/unistr/u8-cpy: Likewise.
30284         * modules/unistr/u8-cpy-alloc: Likewise.
30285         * modules/unistr/u8-endswith: Likewise.
30286         * modules/unistr/u8-mblen: Likewise.
30287         * modules/unistr/u8-mbsnlen: Likewise.
30288         * modules/unistr/u8-mbtouc: Likewise.
30289         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30290         * modules/unistr/u8-mbtoucr: Likewise.
30291         * modules/unistr/u8-move: Likewise.
30292         * modules/unistr/u8-next: Likewise.
30293         * modules/unistr/u8-prev: Likewise.
30294         * modules/unistr/u8-set: Likewise.
30295         * modules/unistr/u8-startswith: Likewise.
30296         * modules/unistr/u8-stpcpy: Likewise.
30297         * modules/unistr/u8-stpncpy: Likewise.
30298         * modules/unistr/u8-strcat: Likewise.
30299         * modules/unistr/u8-strchr: Likewise.
30300         * modules/unistr/u8-strcmp: Likewise.
30301         * modules/unistr/u8-strcoll: Likewise.
30302         * modules/unistr/u8-strcpy: Likewise.
30303         * modules/unistr/u8-strcspn: Likewise.
30304         * modules/unistr/u8-strdup: Likewise.
30305         * modules/unistr/u8-strlen: Likewise.
30306         * modules/unistr/u8-strmblen: Likewise.
30307         * modules/unistr/u8-strmbtouc: Likewise.
30308         * modules/unistr/u8-strncat: Likewise.
30309         * modules/unistr/u8-strncmp: Likewise.
30310         * modules/unistr/u8-strncpy: Likewise.
30311         * modules/unistr/u8-strnlen: Likewise.
30312         * modules/unistr/u8-strpbrk: Likewise.
30313         * modules/unistr/u8-strrchr: Likewise.
30314         * modules/unistr/u8-strspn: Likewise.
30315         * modules/unistr/u8-strstr: Likewise.
30316         * modules/unistr/u8-strtok: Likewise.
30317         * modules/unistr/u8-to-u16: Likewise.
30318         * modules/unistr/u8-to-u32: Likewise.
30319         * modules/unistr/u8-uctomb: Likewise.
30320         * modules/unistr/u16-check: Likewise.
30321         * modules/unistr/u16-chr: Likewise.
30322         * modules/unistr/u16-cmp: Likewise.
30323         * modules/unistr/u16-cmp2: Likewise.
30324         * modules/unistr/u16-cpy: Likewise.
30325         * modules/unistr/u16-cpy-alloc: Likewise.
30326         * modules/unistr/u16-endswith: Likewise.
30327         * modules/unistr/u16-mblen: Likewise.
30328         * modules/unistr/u16-mbsnlen: Likewise.
30329         * modules/unistr/u16-mbtouc: Likewise.
30330         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30331         * modules/unistr/u16-mbtoucr: Likewise.
30332         * modules/unistr/u16-move: Likewise.
30333         * modules/unistr/u16-next: Likewise.
30334         * modules/unistr/u16-prev: Likewise.
30335         * modules/unistr/u16-set: Likewise.
30336         * modules/unistr/u16-startswith: Likewise.
30337         * modules/unistr/u16-stpcpy: Likewise.
30338         * modules/unistr/u16-stpncpy: Likewise.
30339         * modules/unistr/u16-strcat: Likewise.
30340         * modules/unistr/u16-strchr: Likewise.
30341         * modules/unistr/u16-strcmp: Likewise.
30342         * modules/unistr/u16-strcoll: Likewise.
30343         * modules/unistr/u16-strcpy: Likewise.
30344         * modules/unistr/u16-strcspn: Likewise.
30345         * modules/unistr/u16-strdup: Likewise.
30346         * modules/unistr/u16-strlen: Likewise.
30347         * modules/unistr/u16-strmblen: Likewise.
30348         * modules/unistr/u16-strmbtouc: Likewise.
30349         * modules/unistr/u16-strncat: Likewise.
30350         * modules/unistr/u16-strncmp: Likewise.
30351         * modules/unistr/u16-strncpy: Likewise.
30352         * modules/unistr/u16-strnlen: Likewise.
30353         * modules/unistr/u16-strpbrk: Likewise.
30354         * modules/unistr/u16-strrchr: Likewise.
30355         * modules/unistr/u16-strspn: Likewise.
30356         * modules/unistr/u16-strstr: Likewise.
30357         * modules/unistr/u16-strtok: Likewise.
30358         * modules/unistr/u16-to-u32: Likewise.
30359         * modules/unistr/u16-to-u8: Likewise.
30360         * modules/unistr/u16-uctomb: Likewise.
30361         * modules/unistr/u32-check: Likewise.
30362         * modules/unistr/u32-chr: Likewise.
30363         * modules/unistr/u32-cmp: Likewise.
30364         * modules/unistr/u32-cmp2: Likewise.
30365         * modules/unistr/u32-cpy: Likewise.
30366         * modules/unistr/u32-cpy-alloc: Likewise.
30367         * modules/unistr/u32-endswith: Likewise.
30368         * modules/unistr/u32-mblen: Likewise.
30369         * modules/unistr/u32-mbsnlen: Likewise.
30370         * modules/unistr/u32-mbtouc: Likewise.
30371         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30372         * modules/unistr/u32-mbtoucr: Likewise.
30373         * modules/unistr/u32-move: Likewise.
30374         * modules/unistr/u32-next: Likewise.
30375         * modules/unistr/u32-prev: Likewise.
30376         * modules/unistr/u32-set: Likewise.
30377         * modules/unistr/u32-startswith: Likewise.
30378         * modules/unistr/u32-stpcpy: Likewise.
30379         * modules/unistr/u32-stpncpy: Likewise.
30380         * modules/unistr/u32-strcat: Likewise.
30381         * modules/unistr/u32-strchr: Likewise.
30382         * modules/unistr/u32-strcmp: Likewise.
30383         * modules/unistr/u32-strcoll: Likewise.
30384         * modules/unistr/u32-strcpy: Likewise.
30385         * modules/unistr/u32-strcspn: Likewise.
30386         * modules/unistr/u32-strdup: Likewise.
30387         * modules/unistr/u32-strlen: Likewise.
30388         * modules/unistr/u32-strmblen: Likewise.
30389         * modules/unistr/u32-strmbtouc: Likewise.
30390         * modules/unistr/u32-strncat: Likewise.
30391         * modules/unistr/u32-strncmp: Likewise.
30392         * modules/unistr/u32-strncpy: Likewise.
30393         * modules/unistr/u32-strnlen: Likewise.
30394         * modules/unistr/u32-strpbrk: Likewise.
30395         * modules/unistr/u32-strrchr: Likewise.
30396         * modules/unistr/u32-strspn: Likewise.
30397         * modules/unistr/u32-strstr: Likewise.
30398         * modules/unistr/u32-strtok: Likewise.
30399         * modules/unistr/u32-to-u16: Likewise.
30400         * modules/unistr/u32-to-u8: Likewise.
30401         * modules/unistr/u32-uctomb: Likewise.
30402         * modules/uniwbrk/u8-wordbreaks: Likewise.
30403         * modules/uniwbrk/u16-wordbreaks: Likewise.
30404         * modules/uniwbrk/u32-wordbreaks: Likewise.
30405         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30406         * modules/uniwbrk/wordbreak-property: Likewise.
30407         * modules/uniwidth/u8-strwidth: Likewise.
30408         * modules/uniwidth/u8-width: Likewise.
30409         * modules/uniwidth/u16-strwidth: Likewise.
30410         * modules/uniwidth/u16-width: Likewise.
30411         * modules/uniwidth/u32-strwidth: Likewise.
30412         * modules/uniwidth/u32-width: Likewise.
30413         * modules/uniwidth/width: Likewise.
30414         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30415         with $(LIBUNISTRING).
30416         * modules/unicase/ignorable-tests: Likewise.
30417         * modules/unicase/locale-language-tests: Likewise.
30418         * modules/unicase/tolower-tests: Likewise.
30419         * modules/unicase/totitle-tests: Likewise.
30420         * modules/unicase/toupper-tests: Likewise.
30421         * modules/unicase/u8-casecmp-tests: Likewise.
30422         * modules/unicase/u8-casecoll-tests: Likewise.
30423         * modules/unicase/u8-casefold-tests: Likewise.
30424         * modules/unicase/u8-is-cased-tests: Likewise.
30425         * modules/unicase/u8-is-casefolded-tests: Likewise.
30426         * modules/unicase/u8-is-lowercase-tests: Likewise.
30427         * modules/unicase/u8-is-titlecase-tests: Likewise.
30428         * modules/unicase/u8-is-uppercase-tests: Likewise.
30429         * modules/unicase/u8-tolower-tests: Likewise.
30430         * modules/unicase/u8-totitle-tests: Likewise.
30431         * modules/unicase/u8-toupper-tests: Likewise.
30432         * modules/unicase/u16-casecmp-tests: Likewise.
30433         * modules/unicase/u16-casecoll-tests: Likewise.
30434         * modules/unicase/u16-casefold-tests: Likewise.
30435         * modules/unicase/u16-is-cased-tests: Likewise.
30436         * modules/unicase/u16-is-casefolded-tests: Likewise.
30437         * modules/unicase/u16-is-lowercase-tests: Likewise.
30438         * modules/unicase/u16-is-titlecase-tests: Likewise.
30439         * modules/unicase/u16-is-uppercase-tests: Likewise.
30440         * modules/unicase/u16-tolower-tests: Likewise.
30441         * modules/unicase/u16-totitle-tests: Likewise.
30442         * modules/unicase/u16-toupper-tests: Likewise.
30443         * modules/unicase/u32-casecmp-tests: Likewise.
30444         * modules/unicase/u32-casecoll-tests: Likewise.
30445         * modules/unicase/u32-casefold-tests: Likewise.
30446         * modules/unicase/u32-is-cased-tests: Likewise.
30447         * modules/unicase/u32-is-casefolded-tests: Likewise.
30448         * modules/unicase/u32-is-lowercase-tests: Likewise.
30449         * modules/unicase/u32-is-titlecase-tests: Likewise.
30450         * modules/unicase/u32-is-uppercase-tests: Likewise.
30451         * modules/unicase/u32-tolower-tests: Likewise.
30452         * modules/unicase/u32-totitle-tests: Likewise.
30453         * modules/unicase/u32-toupper-tests: Likewise.
30454         * modules/unicase/ulc-casecmp-tests: Likewise.
30455         * modules/unicase/ulc-casecoll-tests: Likewise.
30456         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
30457         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30458         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30459         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30460         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30461         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30462         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30463         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30464         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30465         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30466         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30467         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30468         * modules/unictype/bidicategory-byname-tests: Likewise.
30469         * modules/unictype/bidicategory-name-tests: Likewise.
30470         * modules/unictype/bidicategory-of-tests: Likewise.
30471         * modules/unictype/bidicategory-test-tests: Likewise.
30472         * modules/unictype/block-list-tests: Likewise.
30473         * modules/unictype/block-of-tests: Likewise.
30474         * modules/unictype/block-test-tests: Likewise.
30475         * modules/unictype/category-C-tests: Likewise.
30476         * modules/unictype/category-Cc-tests: Likewise.
30477         * modules/unictype/category-Cf-tests: Likewise.
30478         * modules/unictype/category-Cn-tests: Likewise.
30479         * modules/unictype/category-Co-tests: Likewise.
30480         * modules/unictype/category-Cs-tests: Likewise.
30481         * modules/unictype/category-L-tests: Likewise.
30482         * modules/unictype/category-Ll-tests: Likewise.
30483         * modules/unictype/category-Lm-tests: Likewise.
30484         * modules/unictype/category-Lo-tests: Likewise.
30485         * modules/unictype/category-Lt-tests: Likewise.
30486         * modules/unictype/category-Lu-tests: Likewise.
30487         * modules/unictype/category-M-tests: Likewise.
30488         * modules/unictype/category-Mc-tests: Likewise.
30489         * modules/unictype/category-Me-tests: Likewise.
30490         * modules/unictype/category-Mn-tests: Likewise.
30491         * modules/unictype/category-N-tests: Likewise.
30492         * modules/unictype/category-Nd-tests: Likewise.
30493         * modules/unictype/category-Nl-tests: Likewise.
30494         * modules/unictype/category-No-tests: Likewise.
30495         * modules/unictype/category-P-tests: Likewise.
30496         * modules/unictype/category-Pc-tests: Likewise.
30497         * modules/unictype/category-Pd-tests: Likewise.
30498         * modules/unictype/category-Pe-tests: Likewise.
30499         * modules/unictype/category-Pf-tests: Likewise.
30500         * modules/unictype/category-Pi-tests: Likewise.
30501         * modules/unictype/category-Po-tests: Likewise.
30502         * modules/unictype/category-Ps-tests: Likewise.
30503         * modules/unictype/category-S-tests: Likewise.
30504         * modules/unictype/category-Sc-tests: Likewise.
30505         * modules/unictype/category-Sk-tests: Likewise.
30506         * modules/unictype/category-Sm-tests: Likewise.
30507         * modules/unictype/category-So-tests: Likewise.
30508         * modules/unictype/category-Z-tests: Likewise.
30509         * modules/unictype/category-Zl-tests: Likewise.
30510         * modules/unictype/category-Zp-tests: Likewise.
30511         * modules/unictype/category-Zs-tests: Likewise.
30512         * modules/unictype/category-and-not-tests: Likewise.
30513         * modules/unictype/category-and-tests: Likewise.
30514         * modules/unictype/category-byname-tests: Likewise.
30515         * modules/unictype/category-name-tests: Likewise.
30516         * modules/unictype/category-none-tests: Likewise.
30517         * modules/unictype/category-of-tests: Likewise.
30518         * modules/unictype/category-or-tests: Likewise.
30519         * modules/unictype/category-test-withtable-tests: Likewise.
30520         * modules/unictype/combining-class-tests: Likewise.
30521         * modules/unictype/ctype-alnum-tests: Likewise.
30522         * modules/unictype/ctype-alpha-tests: Likewise.
30523         * modules/unictype/ctype-blank-tests: Likewise.
30524         * modules/unictype/ctype-cntrl-tests: Likewise.
30525         * modules/unictype/ctype-digit-tests: Likewise.
30526         * modules/unictype/ctype-graph-tests: Likewise.
30527         * modules/unictype/ctype-lower-tests: Likewise.
30528         * modules/unictype/ctype-print-tests: Likewise.
30529         * modules/unictype/ctype-punct-tests: Likewise.
30530         * modules/unictype/ctype-space-tests: Likewise.
30531         * modules/unictype/ctype-upper-tests: Likewise.
30532         * modules/unictype/ctype-xdigit-tests: Likewise.
30533         * modules/unictype/decimal-digit-tests: Likewise.
30534         * modules/unictype/digit-tests: Likewise.
30535         * modules/unictype/mirror-tests: Likewise.
30536         * modules/unictype/numeric-tests: Likewise.
30537         * modules/unictype/property-alphabetic-tests: Likewise.
30538         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30539         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30540         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30541         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30542         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30543         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30544         * modules/unictype/property-bidi-control-tests: Likewise.
30545         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30546         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30547         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30548         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30549         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30550         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30551         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30552         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30553         * modules/unictype/property-bidi-pdf-tests: Likewise.
30554         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30555         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30556         * modules/unictype/property-byname-tests: Likewise.
30557         * modules/unictype/property-combining-tests: Likewise.
30558         * modules/unictype/property-composite-tests: Likewise.
30559         * modules/unictype/property-currency-symbol-tests: Likewise.
30560         * modules/unictype/property-dash-tests: Likewise.
30561         * modules/unictype/property-decimal-digit-tests: Likewise.
30562         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30563         * modules/unictype/property-deprecated-tests: Likewise.
30564         * modules/unictype/property-diacritic-tests: Likewise.
30565         * modules/unictype/property-extender-tests: Likewise.
30566         * modules/unictype/property-format-control-tests: Likewise.
30567         * modules/unictype/property-grapheme-base-tests: Likewise.
30568         * modules/unictype/property-grapheme-extend-tests: Likewise.
30569         * modules/unictype/property-grapheme-link-tests: Likewise.
30570         * modules/unictype/property-hex-digit-tests: Likewise.
30571         * modules/unictype/property-hyphen-tests: Likewise.
30572         * modules/unictype/property-id-continue-tests: Likewise.
30573         * modules/unictype/property-id-start-tests: Likewise.
30574         * modules/unictype/property-ideographic-tests: Likewise.
30575         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30576         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30577         * modules/unictype/property-ignorable-control-tests: Likewise.
30578         * modules/unictype/property-iso-control-tests: Likewise.
30579         * modules/unictype/property-join-control-tests: Likewise.
30580         * modules/unictype/property-left-of-pair-tests: Likewise.
30581         * modules/unictype/property-line-separator-tests: Likewise.
30582         * modules/unictype/property-logical-order-exception-tests: Likewise.
30583         * modules/unictype/property-lowercase-tests: Likewise.
30584         * modules/unictype/property-math-tests: Likewise.
30585         * modules/unictype/property-non-break-tests: Likewise.
30586         * modules/unictype/property-not-a-character-tests: Likewise.
30587         * modules/unictype/property-numeric-tests: Likewise.
30588         * modules/unictype/property-other-alphabetic-tests: Likewise.
30589         * modules/unictype/property-other-default-ignorable-code-point-tests:
30590         Likewise.
30591         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30592         * modules/unictype/property-other-id-continue-tests: Likewise.
30593         * modules/unictype/property-other-id-start-tests: Likewise.
30594         * modules/unictype/property-other-lowercase-tests: Likewise.
30595         * modules/unictype/property-other-math-tests: Likewise.
30596         * modules/unictype/property-other-uppercase-tests: Likewise.
30597         * modules/unictype/property-paired-punctuation-tests: Likewise.
30598         * modules/unictype/property-paragraph-separator-tests: Likewise.
30599         * modules/unictype/property-pattern-syntax-tests: Likewise.
30600         * modules/unictype/property-pattern-white-space-tests: Likewise.
30601         * modules/unictype/property-private-use-tests: Likewise.
30602         * modules/unictype/property-punctuation-tests: Likewise.
30603         * modules/unictype/property-quotation-mark-tests: Likewise.
30604         * modules/unictype/property-radical-tests: Likewise.
30605         * modules/unictype/property-sentence-terminal-tests: Likewise.
30606         * modules/unictype/property-soft-dotted-tests: Likewise.
30607         * modules/unictype/property-space-tests: Likewise.
30608         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30609         * modules/unictype/property-test-tests: Likewise.
30610         * modules/unictype/property-titlecase-tests: Likewise.
30611         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30612         * modules/unictype/property-unified-ideograph-tests: Likewise.
30613         * modules/unictype/property-uppercase-tests: Likewise.
30614         * modules/unictype/property-variation-selector-tests: Likewise.
30615         * modules/unictype/property-white-space-tests: Likewise.
30616         * modules/unictype/property-xid-continue-tests: Likewise.
30617         * modules/unictype/property-xid-start-tests: Likewise.
30618         * modules/unictype/property-zero-width-tests: Likewise.
30619         * modules/unictype/scripts-tests: Likewise.
30620         * modules/unictype/syntax-c-ident-tests: Likewise.
30621         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30622         * modules/unictype/syntax-java-ident-tests: Likewise.
30623         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30624         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30625         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30626         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30627         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30628         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30629         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30630         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30631         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30632         * modules/uniname/uniname-tests: Likewise.
30633         * modules/uninorm/canonical-decomposition-tests: Likewise.
30634         * modules/uninorm/compat-decomposition-tests: Likewise.
30635         * modules/uninorm/composition-tests: Likewise.
30636         * modules/uninorm/decomposing-form-tests: Likewise.
30637         * modules/uninorm/decomposition-tests: Likewise.
30638         * modules/uninorm/filter-tests: Likewise.
30639         * modules/uninorm/nfc-tests: Likewise.
30640         * modules/uninorm/nfd-tests: Likewise.
30641         * modules/uninorm/nfkc-tests: Likewise.
30642         * modules/uninorm/nfkd-tests: Likewise.
30643         * modules/uninorm/u8-normcmp-tests: Likewise.
30644         * modules/uninorm/u8-normcoll-tests: Likewise.
30645         * modules/uninorm/u16-normcmp-tests: Likewise.
30646         * modules/uninorm/u16-normcoll-tests: Likewise.
30647         * modules/uninorm/u32-normcmp-tests: Likewise.
30648         * modules/uninorm/u32-normcoll-tests: Likewise.
30649         * modules/unistdio/u8-asnprintf-tests: Likewise.
30650         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30651         * modules/unistdio/u8-vasprintf-tests: Likewise.
30652         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30653         * modules/unistdio/u8-vsprintf-tests: Likewise.
30654         * modules/unistdio/u16-asnprintf-tests: Likewise.
30655         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30656         * modules/unistdio/u16-vasprintf-tests: Likewise.
30657         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30658         * modules/unistdio/u16-vsprintf-tests: Likewise.
30659         * modules/unistdio/u32-asnprintf-tests: Likewise.
30660         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30661         * modules/unistdio/u32-vasprintf-tests: Likewise.
30662         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30663         * modules/unistdio/u32-vsprintf-tests: Likewise.
30664         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30665         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30666         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30667         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30668         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30669         * modules/unistr/u8-check-tests: Likewise.
30670         * modules/unistr/u8-chr-tests: Likewise.
30671         * modules/unistr/u8-cmp-tests: Likewise.
30672         * modules/unistr/u8-cmp2-tests: Likewise.
30673         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30674         * modules/unistr/u8-cpy-tests: Likewise.
30675         * modules/unistr/u8-mblen-tests: Likewise.
30676         * modules/unistr/u8-mbsnlen-tests: Likewise.
30677         * modules/unistr/u8-mbtouc-tests: Likewise.
30678         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30679         * modules/unistr/u8-mbtoucr-tests: Likewise.
30680         * modules/unistr/u8-move-tests: Likewise.
30681         * modules/unistr/u8-next-tests: Likewise.
30682         * modules/unistr/u8-prev-tests: Likewise.
30683         * modules/unistr/u8-set-tests: Likewise.
30684         * modules/unistr/u8-stpcpy-tests: Likewise.
30685         * modules/unistr/u8-stpncpy-tests: Likewise.
30686         * modules/unistr/u8-strcat-tests: Likewise.
30687         * modules/unistr/u8-strcmp-tests: Likewise.
30688         * modules/unistr/u8-strcoll-tests: Likewise.
30689         * modules/unistr/u8-strcpy-tests: Likewise.
30690         * modules/unistr/u8-strdup-tests: Likewise.
30691         * modules/unistr/u8-strlen-tests: Likewise.
30692         * modules/unistr/u8-strmblen-tests: Likewise.
30693         * modules/unistr/u8-strmbtouc-tests: Likewise.
30694         * modules/unistr/u8-strncat-tests: Likewise.
30695         * modules/unistr/u8-strncmp-tests: Likewise.
30696         * modules/unistr/u8-strncpy-tests: Likewise.
30697         * modules/unistr/u8-strnlen-tests: Likewise.
30698         * modules/unistr/u8-to-u16-tests: Likewise.
30699         * modules/unistr/u8-to-u32-tests: Likewise.
30700         * modules/unistr/u8-uctomb-tests: Likewise.
30701         * modules/unistr/u16-check-tests: Likewise.
30702         * modules/unistr/u16-chr-tests: Likewise.
30703         * modules/unistr/u16-cmp-tests: Likewise.
30704         * modules/unistr/u16-cmp2-tests: Likewise.
30705         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30706         * modules/unistr/u16-cpy-tests: Likewise.
30707         * modules/unistr/u16-mblen-tests: Likewise.
30708         * modules/unistr/u16-mbsnlen-tests: Likewise.
30709         * modules/unistr/u16-mbtouc-tests: Likewise.
30710         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30711         * modules/unistr/u16-mbtoucr-tests: Likewise.
30712         * modules/unistr/u16-move-tests: Likewise.
30713         * modules/unistr/u16-next-tests: Likewise.
30714         * modules/unistr/u16-prev-tests: Likewise.
30715         * modules/unistr/u16-set-tests: Likewise.
30716         * modules/unistr/u16-stpcpy-tests: Likewise.
30717         * modules/unistr/u16-stpncpy-tests: Likewise.
30718         * modules/unistr/u16-strcat-tests: Likewise.
30719         * modules/unistr/u16-strcmp-tests: Likewise.
30720         * modules/unistr/u16-strcoll-tests: Likewise.
30721         * modules/unistr/u16-strcpy-tests: Likewise.
30722         * modules/unistr/u16-strdup-tests: Likewise.
30723         * modules/unistr/u16-strlen-tests: Likewise.
30724         * modules/unistr/u16-strmblen-tests: Likewise.
30725         * modules/unistr/u16-strmbtouc-tests: Likewise.
30726         * modules/unistr/u16-strncat-tests: Likewise.
30727         * modules/unistr/u16-strncmp-tests: Likewise.
30728         * modules/unistr/u16-strncpy-tests: Likewise.
30729         * modules/unistr/u16-strnlen-tests: Likewise.
30730         * modules/unistr/u16-to-u32-tests: Likewise.
30731         * modules/unistr/u16-to-u8-tests: Likewise.
30732         * modules/unistr/u16-uctomb-tests: Likewise.
30733         * modules/unistr/u32-check-tests: Likewise.
30734         * modules/unistr/u32-chr-tests: Likewise.
30735         * modules/unistr/u32-cmp-tests: Likewise.
30736         * modules/unistr/u32-cmp2-tests: Likewise.
30737         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30738         * modules/unistr/u32-cpy-tests: Likewise.
30739         * modules/unistr/u32-mblen-tests: Likewise.
30740         * modules/unistr/u32-mbsnlen-tests: Likewise.
30741         * modules/unistr/u32-mbtouc-tests: Likewise.
30742         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30743         * modules/unistr/u32-mbtoucr-tests: Likewise.
30744         * modules/unistr/u32-move-tests: Likewise.
30745         * modules/unistr/u32-next-tests: Likewise.
30746         * modules/unistr/u32-prev-tests: Likewise.
30747         * modules/unistr/u32-set-tests: Likewise.
30748         * modules/unistr/u32-stpcpy-tests: Likewise.
30749         * modules/unistr/u32-stpncpy-tests: Likewise.
30750         * modules/unistr/u32-strcat-tests: Likewise.
30751         * modules/unistr/u32-strcmp-tests: Likewise.
30752         * modules/unistr/u32-strcoll-tests: Likewise.
30753         * modules/unistr/u32-strcpy-tests: Likewise.
30754         * modules/unistr/u32-strdup-tests: Likewise.
30755         * modules/unistr/u32-strlen-tests: Likewise.
30756         * modules/unistr/u32-strmblen-tests: Likewise.
30757         * modules/unistr/u32-strmbtouc-tests: Likewise.
30758         * modules/unistr/u32-strncat-tests: Likewise.
30759         * modules/unistr/u32-strncmp-tests: Likewise.
30760         * modules/unistr/u32-strncpy-tests: Likewise.
30761         * modules/unistr/u32-strnlen-tests: Likewise.
30762         * modules/unistr/u32-to-u16-tests: Likewise.
30763         * modules/unistr/u32-to-u8-tests: Likewise.
30764         * modules/unistr/u32-uctomb-tests: Likewise.
30765         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30766         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30767         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30768         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30769         * modules/uniwidth/u8-strwidth-tests: Likewise.
30770         * modules/uniwidth/u8-width-tests: Likewise.
30771         * modules/uniwidth/u16-strwidth-tests: Likewise.
30772         * modules/uniwidth/u16-width-tests: Likewise.
30773         * modules/uniwidth/u32-strwidth-tests: Likewise.
30774         * modules/uniwidth/u32-width-tests: Likewise.
30775         * modules/uniwidth/width-tests: Likewise.
30776
30777 2010-05-18  Richard Jones  <rjones@redhat.com>
30778
30779         doc: users.txt: list hivex
30780         * users.txt: Add hivex.
30781
30782 2010-05-18  Richard Jones  <rjones@redhat.com>
30783
30784         doc: users.txt: list febootstrap
30785         * users.txt: Add febootstrap.
30786
30787 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30788
30789         bootstrap: fix an error when gnulib is not used as a git submodule
30790         * build-aux/bootstrap (gnulib_path): If its length is zero then
30791         assign "gnulib" to it.
30792         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30793
30794 2010-05-16  Bruno Haible  <bruno@clisp.org>
30795
30796         Avoid autoconf warnings about AM_ICONV.
30797         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30798         2.64.
30799
30800 2010-05-16  Bruno Haible  <bruno@clisp.org>
30801
30802         absolute-header: Make the macro usable in more situations.
30803         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30804         from gl_ABSOLUTE_HEADER.
30805         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30806
30807 2010-05-16  James Youngman  <jay@gnu.org>
30808
30809         doc: update users.txt
30810         * users.txt: Add CSSC.
30811
30812 2010-05-16  Jim Meyering  <meyering@redhat.com>
30813
30814         init.sh: fix an error in the previous change; add more comments
30815         * tests/init.sh: Compare exit code in loop against 9, not 2.
30816         Patch by Bruno Haible.
30817         Make the two tests more similar by adding an empty "then" clause.
30818         Add comments.
30819
30820         init.sh: avoid unnecessary shell re-exec
30821         * tests/init.sh: Improve the re-exec-required check to first test the
30822         current shell.  If it passes the test, do not search for a shell that
30823         does pass, and do not re-exec.  This test is particularly contorted to
30824         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30825         of $(...) evokes a syntax error and causes immediate shell exit with
30826         status 2.  Bruno Haible reported that the re-exec made it impossible
30827         to single-step through any init.sh-using script.
30828
30829 2010-05-16  Bruno Haible  <bruno@clisp.org>
30830
30831         Fix collision between gnulib's and libintl's printf replacements.
30832         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30833         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30834         (printf): When using GNU C, map the __printf__ function to rpl_printf
30835         via __asm__. When not using GNU C, define rpl_printf instead of
30836         __printf__.
30837         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30838         commit.
30839         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30840         commit.
30841         * m4/asm-underscore.m4: New file.
30842         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30843         * modules/stdio (Files): Add m4/asm-underscore.m4.
30844         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30845         Reported by Ben Pfaff.
30846
30847 2010-05-16  Bruno Haible  <bruno@clisp.org>
30848
30849         verify: Avoid skipping the test on openSUSE 11.0.
30850         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30851
30852 2010-05-13  Bruno Haible  <bruno@clisp.org>
30853
30854         Avoid useless warnings from G++.
30855         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30856         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30857         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30858
30859 2010-05-11  Jim Meyering  <meyering@redhat.com>
30860
30861         maint.mk: tweak preceding change
30862         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30863         regexps tighter by anchoring at EOL, and make the new group "shy"
30864         for slightly decreased overhead.
30865
30866 2010-05-11  Eric Blake  <eblake@redhat.com>
30867
30868         maint.mk: gnulib doesn't guarantee NSIG
30869         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30870
30871 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30872
30873         test-pwrite.c: Remove unused variable declaration.
30874         * tests/test-pwrite.c (main): Remove read_buf declaration.
30875
30876         Remove useless test-pwrite.sh file.
30877         * tests/test-pwrite.sh: Delete file.
30878         * modules/pwrite-tests: Remove references.
30879         Reported by Bruno Haible.
30880
30881 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30882
30883         init.sh: fix a typo
30884         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30885
30886 2010-05-10  Jim Meyering  <meyering@redhat.com>
30887
30888         maint.mk: avoid using a temporary file in the always-defined-macros check
30889         * top/maint.mk (.re-defmac): Remove rule.
30890         (gl_trap_): Remove definition.
30891         (sc_prohibit_always-defined_macros): Rewrite not to create and
30892         depend on a temporary file.  Instead, depend on GNU grep's ability
30893         to read a list of regular expressions from stdin when given "-f -".
30894
30895 2010-05-09  Bruno Haible  <bruno@clisp.org>
30896
30897         Update to GNU gettext 0.18, part 1.
30898         * m4/gettext.m4: Update to GNU gettext 0.18.
30899         * m4/intl.m4: Likewise.
30900         * m4/po.m4: Likewise.
30901         * modules/gettext (Files): Add m4/fcntl-o.m4.
30902         (configure.ac): Require gettext infrastructure from version 0.18.
30903
30904 2010-05-09  Jim Meyering  <meyering@redhat.com>
30905
30906         init.sh: enable MALLOC_PERTURB_
30907         * tests/init.sh: Enable glibc's malloc-perturbing option.
30908
30909         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30910         With my recent change in init.sh from the two-line form:
30911             -#   : ${srcdir=.}
30912             -#   . "$srcdir/init.sh"; path_prepend_ .
30913             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30914         I noticed that using the one-line form would cause this test
30915         to fail with a false-positive, or to stop working altogether,
30916         depending on whether help-version changed or all the tests did.
30917         * top/maint.mk (_hv_regex): Remove this definition.
30918         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30919         (_hv_regex_strong): Use a stronger regex to check for conformance.
30920         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30921         Give a separate diagnostic for lack of conforming use.
30922
30923         maint.mk: prohibit definition of symbols defined by gnulib
30924         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30925         definition of symbols defined by gnulib.
30926
30927 2010-05-09  Bruno Haible  <bruno@clisp.org>
30928
30929         acl: Avoid test failure on Cygwin-hosted mingw.
30930         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30931
30932 2010-05-09  Bruno Haible  <bruno@clisp.org>
30933
30934         error: Use system's fcntl function.
30935         * lib/error.c (fcntl): Undefine.
30936
30937 2010-05-09  Jim Meyering  <meyering@redhat.com>
30938
30939         verify: adjust formatting to be more consistent
30940         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30941         argument-list '('s, and after one comma.
30942
30943 2010-05-09  Bruno Haible  <bruno@clisp.org>
30944
30945         error: More reliable output on mingw.
30946         * lib/error.c: Include <windows.h>.
30947         (is_open): New function.
30948         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30949         defined.
30950
30951 2010-05-09  Bruno Haible  <bruno@clisp.org>
30952
30953         vasnprintf: Fix syntax errors in libintl build on mingw.
30954         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30955         pad_ourselves and prec_ourselves after use.
30956
30957 2010-05-08  Bruno Haible  <bruno@clisp.org>
30958
30959         * lib/config.charset: Update comments for Cygwin 1.7.
30960         * lib/localcharset.c: Likewise.
30961
30962 2010-05-07  Jim Meyering  <meyering@redhat.com>
30963
30964         init.sh: improve comments
30965         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30966         . "${srcdir=.}/init.sh"; path_prepend_ .
30967         Add a note about path_prepend_ and the alternative of using
30968         TESTS_ENVIRONMENT.
30969
30970 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30971
30972         exclude: Unescape hashed patterns in wildcard mode.
30973         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30974         to the hash list.
30975         * tests/test-exclude8.sh: New test case.
30976         * modules/exclude-tests: Add new test.
30977
30978 2010-05-05  Eric Blake  <eblake@redhat.com>
30979
30980         verify: automate tests
30981         * modules/verify-tests: New module.
30982         * tests/test-verify.sh: New file.
30983         * tests/test-verify.c: Guard each negative test with a unique id.
30984         Also avoid warning about unused left hand of comma expressions.
30985
30986 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30987
30988         Further improvements to verify.h, suggested by Eric Blake.
30989         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30990         the GL_* versions, to avoid collision with OpenGL.
30991         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30992         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30993         than testing merely whether it's defined.
30994
30995         Modify verify.h to pacify gcc -Wredundant_decls.
30996         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30997         These use the prefix "GL_" since they're likely to be useful elsewhere.
30998         We may need to break them out into a different .h file.
30999         (__COUNTER__): Define to 0 if the compiler doesn't support it.
31000         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
31001         of verify_function__.
31002
31003 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31004
31005         Tests for module pwrite.
31006         * modules/pwrite-tests: New file.
31007         * tests/test-pwrite.sh: New file.
31008         * tests/test-pwrite.c: New file.
31009
31010         New module pwrite.
31011         * lib/unistd.in.h (pwrite): New declaration.
31012         * lib/pwrite.c: New file, from glibc with modifications.
31013         * m4/pwrite.m4: New file.
31014         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
31015         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
31016         REPLACE_PWRITE.
31017         * modules/pwrite: New file.
31018         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
31019         REPLACE_PWRITE.
31020         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
31021         * doc/posix-functions/pwrite.texi: Mention the new module.
31022
31023 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31024
31025         pread: Update documentation.
31026         * doc/posix-functions/pread.texi: Mention the 'pread' module.
31027
31028 2010-05-04  Eric Blake  <eblake@redhat.com>
31029
31030         docs: update cygwin progress
31031         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
31032         this bug.
31033         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
31034         Added in cygwin 1.7.2.
31035         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
31036         Likewise.
31037         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
31038         Likewise.
31039         * doc/glibc-functions/dup3.texi (dup3): Likewise.
31040         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
31041         * doc/glibc-functions/accept4.texi (accept4): Likewise.
31042         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
31043         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
31044         Mention nproc module.
31045         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
31046         bug in cygwin 1.7.5 addition.
31047         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
31048         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
31049         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
31050         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
31051         1.7.5.
31052         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
31053         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
31054         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
31055         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
31056         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
31057         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
31058         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
31059         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
31060         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
31061         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
31062         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
31063         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
31064         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
31065         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
31066         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
31067         Likewise.
31068         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
31069         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
31070         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
31071         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
31072         Likewise.
31073         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
31074         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
31075         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
31076         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
31077         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
31078         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
31079         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
31080         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
31081         Likewise.
31082         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
31083         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
31084         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
31085         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
31086         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
31087         Likewise.
31088         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
31089         Likewise.
31090         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
31091         Likewise.
31092         * doc/glibc-functions/xdrrec_endofrecord.texi
31093         (xdrrec_endofrecord): Likewise.
31094         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
31095         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
31096         Likewise.
31097         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
31098         Likewise.
31099
31100 2010-05-04  Jim Meyering  <meyering@redhat.com>
31101
31102         gendocs.sh: make its "-s FILE" option more useful
31103         * build-aux/gendocs.sh: When honoring the -s FILE option, update
31104         $PACKAGE to reflect the probably-different basename of "FILE".
31105
31106 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31107
31108         bootstrap: don't ignore download_po_files failure
31109         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
31110         failure.
31111
31112 2010-05-03  Jim Meyering  <meyering@redhat.com>
31113
31114         maint.mk: allow to pass options to gendocs.sh
31115         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
31116         (gendocs_options_): New overridable variable.
31117
31118         gnu-web-doc-update: don't ignore configure or build failure
31119         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
31120
31121         announce-gen: backslash-escape '@'s in --help output
31122         * build-aux/announce-gen: Fix syntax errors.
31123
31124         maint.mk, announce-gen: allow project-specific announcement mail headers
31125         * top/maint.mk (translation_project_): Define default.
31126         (announcement_Cc_, announcement_mail_headers_): Likewise.
31127         (announcement): Invoke announce-gen with new --mail-headers option.
31128         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31129
31130         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31131         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31132         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31133         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31134         line in the "err2" output file when running "make check" in verbose
31135         mode (i.e., with set -x enabled).
31136
31137 2010-05-03  Bruno Haible  <bruno@clisp.org>
31138
31139         wctob: Fix for weird platforms.
31140         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31141         argument value.
31142
31143 2010-05-03  Jim Meyering  <meyering@redhat.com>
31144
31145         maint.mk: prohibit unwarranted use of <strings.h>
31146         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31147         strings.h in a file that does not also use strcasecmp, strncasecmp,
31148         ffs or ffsll.
31149
31150         maint.mk: remove obsolete comments
31151         * top/maint.mk: Remove stale, commented-out rules.
31152
31153 2010-05-02  Bruno Haible  <bruno@clisp.org>
31154
31155         wcwidth: Declare also when it's aliased.
31156         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31157         macro.
31158
31159 2010-05-02  Bruno Haible  <bruno@clisp.org>
31160
31161         Fix regression from 2010-04-25.
31162         * gnulib-tool (func_modules_transitive_closure): Check the status of
31163         all modules, not only of the tests that are of the form foo-tests where
31164         foo is a module.
31165
31166 2010-05-02  Bruno Haible  <bruno@clisp.org>
31167
31168         wctob: Work around nasty Cygwin 1.7.2 bug.
31169         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31170         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31171
31172 2010-05-01  Bruno Haible  <bruno@clisp.org>
31173
31174         fpurge: Sharper test.
31175         * tests/test-fpurge.c (main): Add one more ftell check.
31176         * modules/fpurge-tests (Depends-on): Add ftell.
31177         Suggested by Eric Blake.
31178
31179 2010-05-01  Bruno Haible  <bruno@clisp.org>
31180
31181         ftello: Another test.
31182         * tests/test-ftello3.c: New file.
31183         * modules/ftello-tests (Files): Add it.
31184         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31185         MOSTLYCLEANFILES.
31186
31187         ftell: Another test.
31188         * tests/test-ftell3.c: New file.
31189         * modules/ftell-tests (Files): Add it.
31190         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31191         MOSTLYCLEANFILES.
31192
31193 2010-05-01  Bruno Haible  <bruno@clisp.org>
31194
31195         ftell, ftello: Work around Solaris bug.
31196         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31197         * lib/ftello.c: Include stdio-impl.h.
31198         (ftello): On Solaris, when _IOWRT is set, compute the result without
31199         looking at _IOREAD.
31200         * modules/ftello (Files): Add lib/stdio-impl.h.
31201         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31202         * doc/posix-functions/ftello.texi: Likewise.
31203         Reported by Eric Blake.
31204
31205 2010-05-01  Bruno Haible  <bruno@clisp.org>
31206
31207         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31208         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31209         the _IOWRT flag is also set.
31210
31211 2010-05-01  Bruno Haible  <bruno@clisp.org>
31212
31213         Fix doc about a HP-UX stdio bug.
31214         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31215         * doc/posix-functions/ftello.texi: Likewise.
31216
31217 2010-05-01  Bruno Haible  <bruno@clisp.org>
31218
31219         lseek test: Fix failure on Solaris.
31220         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31221         output.
31222
31223 2010-04-30  Jim Meyering  <meyering@redhat.com>
31224
31225         bootstrap: don't ignore failure to generate po*/Makevars
31226         * build-aux/bootstrap (with_gettext): Don't ignore failure
31227         to create po/Makevars or runtime-po/Makevars.
31228
31229 2010-04-29  Eric Blake  <eblake@redhat.com>
31230
31231         headers: relax license to LGPLv2+
31232         * modules/fcntl-h (License): Relax license.
31233         * modules/getopt-posix (License): Likewise.
31234         * modules/locale (License): Likewise.
31235         * modules/math (License): Likewise.
31236         * modules/pty (License): Likewise.
31237         * modules/sched (License): Likewise.
31238         * modules/search (License): Likewise.
31239         * modules/spawn (License): Likewise.
31240         * modules/stdarg (License): Likewise.
31241         * modules/sysexits (License): Likewise.
31242
31243 2010-04-29  Jim Meyering  <meyering@redhat.com>
31244
31245         inttypes: relax license to LGPLv2+
31246         * modules/inttypes (License): Relax license.
31247
31248 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31249
31250         * top/maint.mk (indent): Run twice to produce idempotent results.
31251
31252 2010-04-28  Bruno Haible  <bruno@clisp.org>
31253
31254         getdate: Generate getdate.c in the source directory.
31255         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31256         MOSTLYCLEANFILES.
31257         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31258
31259 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31260
31261         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31262         is not declared as a const *; avoid warnings in that case.
31263
31264 2010-04-28  Eric Blake  <eblake@redhat.com>
31265
31266         canonicalize-lgpl: avoid compiler warning
31267         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31268         declaration' / 'extraneous semicolon' warning with some compilers.
31269         Reported by Andreas Gruenbacher.
31270
31271 2010-04-28  Jim Meyering  <meyering@redhat.com>
31272
31273         init.sh: ensure a more reliable exit status when exiting via trap
31274         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31275         Inspired by patches from Dmitry V. Levin.
31276         Also trap on signal 3 (SIGQUIT).
31277
31278 2010-04-27  Bruno Haible  <bruno@clisp.org>
31279
31280         Update doc about utimes().
31281         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31282         'utimens' module.
31283         Reported by Andreas Gruenbacher <agruen@suse.de>.
31284
31285 2010-04-27  Eric Blake  <eblake@redhat.com>
31286
31287         full-read, full-write: relax license
31288         * modules/full-read (License): Drop to LGPLv2+.
31289         * modules/full-write (License): Likewise.
31290         * modules/safe-read (License): Likewise.
31291         * modules/safe-write (License): Likewise.
31292
31293         pthread: mention library for linking
31294         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31295
31296 2010-04-27  Jim Meyering  <meyering@redhat.com>
31297
31298         maint.mk: fix a bug introduced in last change
31299         * top/maint.mk (gl_assured_headers_): Now that all names are on
31300         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31301         is not anchored to end of word, it should be adequate.
31302
31303         maint.mk: avoid side-effect in latest syntax-check
31304         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31305         to run commands via $(shell...), and hence to incur cost only when
31306         the new rule is actually run.
31307
31308         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31309         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31310         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31311         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31312         (gl_assured_headers_, az_, AZ_): Define.
31313         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31314
31315 2010-04-26  Jim Meyering  <jim@meyering.net>
31316             Bruno Haible  <bruno@clisp.org>
31317
31318         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31319         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31320         Prompted by an exchange with Gilles Espinasse.
31321
31322 2010-04-26  Jim Meyering  <meyering@redhat.com>
31323
31324         git-version-gen: aesthetic tweak
31325         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31326         so that the command remains on a single line.
31327
31328 2010-04-26  Eric Blake  <eblake@redhat.com>
31329
31330         git-version-gen: allow use on EBCDIC hosts
31331         * build-aux/git-version-gen (dirty): Use literal rather than tying
31332         ourselves to ascii.
31333         Reported by Steve Goetze.
31334
31335 2010-04-25  Bruno Haible  <bruno@clisp.org>
31336
31337         netdb: Add support for GNULIB_POSIXCHECK.
31338         * lib/netdb.in.h: Include warn-on-use.h.
31339         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31340         functions are used when GNULIB_POSIXCHECK is defined and the
31341         getaddrinfo module is not in use.
31342         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31343         freeaddrinfo, gai_strerror, getnameinfo are declared.
31344         * modules/netdb (Depends-on): Add warn-on-use.
31345         (Makefile.am): Include warn-on-use.h in netdb.h.
31346
31347 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31348
31349         build: avoid "make check" failure without .git/ directory
31350         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31351         there is no .git/ directory.
31352
31353 2010-04-25  Bruno Haible  <bruno@clisp.org>
31354
31355         ptsname: Fix misuse of ttyname_r.
31356         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31357         of errno.
31358
31359 2010-04-25  Bruno Haible  <bruno@clisp.org>
31360
31361         ttyname_r: Make it work on Solaris 10.
31362         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31363         if the system function has the POSIX declaration. Test whether the
31364         function fails if the buffer is less than 128 bytes large.
31365         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31366         system's ttyname_r function. Provide a reasonably large buffer.
31367         * modules/ttyname_r (Depends-on): Add extensions.
31368         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31369
31370 2010-04-25  Bruno Haible  <bruno@clisp.org>
31371
31372         Use the 'extensions' module for some more functions on Solaris.
31373         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31374         module.
31375         * doc/posix-functions/ctime_r.texi: Likewise.
31376         * doc/posix-functions/getgrgid_r.texi: Likewise.
31377         * doc/posix-functions/getgrnam_r.texi: Likewise.
31378         * doc/posix-functions/getpwnam_r.texi: Likewise.
31379         * doc/posix-functions/getpwuid_r.texi: Likewise.
31380         * doc/posix-functions/readdir_r.texi: Likewise.
31381         * doc/posix-functions/sigwait.texi: Likewise.
31382         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31383         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31384
31385 2010-04-25  Bruno Haible  <bruno@clisp.org>
31386
31387         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31388         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31389         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31390         * lib/ttyname_r.c: Include <limits.h>.
31391         (ttyname_r): Define using the system's ttyname_r function, if it exists
31392         and not on Solaris.
31393         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31394         set.
31395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31396         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31397         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31398         Reported by Simon Josefsson.
31399
31400 2010-04-25  Bruno Haible  <bruno@clisp.org>
31401
31402         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31403         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31404         * doc/posix-functions/ctime_r.texi: Likewise.
31405         * doc/posix-functions/getgrgid_r.texi: Likewise.
31406         * doc/posix-functions/getgrnam_r.texi: Likewise.
31407         * doc/posix-functions/getlogin_r.texi: Likewise.
31408         * doc/posix-functions/getpwnam_r.texi: Likewise.
31409         * doc/posix-functions/getpwuid_r.texi: Likewise.
31410         * doc/posix-functions/readdir_r.texi: Likewise.
31411         * doc/posix-functions/sigwait.texi: Likewise.
31412         * doc/posix-functions/ttyname_r.texi: Likewise.
31413         Reported by Simon Josefsson.
31414
31415 2010-04-25  Bruno Haible  <bruno@clisp.org>
31416
31417         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31418         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31419         also to --create-testdir.
31420         (func_acceptable): Don't consider the status of *-tests modules here.
31421         (func_modules_transitive_closure): Consider it here, before including a
31422         test module.
31423         (func_import, func_create_testdir): Set inc_all_direct_tests,
31424         inc_all_indirect_tests.
31425         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
31426         --create-testdir and --create-megatestdir.
31427
31428 2010-04-25  Bruno Haible  <bruno@clisp.org>
31429
31430         gnulib-tool: Add --without-*-tests options.
31431         * gnulib-tool (func_usage): Document the --without-*-tests options.
31432         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
31433         excl_unportable_tests): New variables.
31434         Fail if they are specified with --import or --update.
31435         (func_acceptable): Respect the excl_*_tests variables.
31436         (func_import): Set the excl_*_tests variables to empty.
31437
31438 2010-04-25  Simon Josefsson  <simon@josefsson.org>
31439             Bruno Haible  <bruno@clisp.org>
31440
31441         Work around a MacOS X 10.4 bug with openpty.
31442         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
31443         * tests/test-openpty.c (main): Close the master side explicitly.
31444
31445 2010-04-25  Bruno Haible  <bruno@clisp.org>
31446
31447         strnlen: Fix a C++ test error on MacOS X and Solaris.
31448         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
31449         the function is not declared.
31450         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
31451         Simon Josefsson.
31452
31453 2010-04-24  Bruno Haible  <bruno@clisp.org>
31454
31455         Avoid a gcc warning.
31456         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
31457         of correct type for %08lx directive.
31458         Reported by Eric Blake.
31459
31460 2010-04-24  Bruno Haible  <bruno@clisp.org>
31461
31462         vasnprintf: Correct errno value in case of out-of-memory.
31463         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31464         or sprintf. Use the errno value from SNPRINTF or sprintf.
31465         Reported by Ian Beckwith <ianb@erislabs.net>.
31466
31467 2010-04-24  Bruno Haible  <bruno@clisp.org>
31468
31469         ansi-c++-opt: Find correct compiler when cross-compiling.
31470         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31471         AC_CHECK_PROGS.
31472         Reported by Simon Josefsson.
31473
31474 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31475
31476         vc-list-files: Add support for subversion
31477         * build-aux/vc-list-files: Use "svn list" to generate the list of
31478         files controlled by subversion.
31479
31480 2010-04-23  Jim Meyering  <meyering@redhat.com>
31481
31482         vc-list-files tests: convert to use init.sh
31483         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31484         path_prepend_.
31485         Use Exit, not exit.
31486         Use skip_ rather than open coding it.
31487         Remove trap set-up and compare definitions.
31488         * tests/test-vc-list-files-git.sh: Likewise.
31489         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31490
31491 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31492
31493         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31494         backup files.
31495
31496 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31497
31498         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31499
31500 2010-04-20  Eric Blake  <eblake@redhat.com>
31501
31502         tests: be robust to ignored SIGPIPE
31503         * tests/test-select-in.sh: Consume all output.
31504         * tests/test-lseek.sh: Check correct exit status, while avoiding
31505         EPIPE.
31506
31507 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31508             Bruno Haible  <bruno@clisp.org>
31509
31510         visibility: Don't use -fvisibility if it leads to a warning.
31511         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31512         yes, don't pretend that visibility works if it leads to a warning.
31513         Reported by Mike Gran <spk121@yahoo.com>.
31514
31515 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31516
31517         * build-aux/bootstrap: Use "git -h" for testing for supported options
31518         instead of "git --help".  The short-form option only shows a summary,
31519         and doesn't layout the full man page.  Grep for the full option name
31520         in the summary, too.
31521
31522 2010-04-19  Bruno Haible  <bruno@clisp.org>
31523
31524         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31525         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31526         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31527         mention of RELOCATABLE_STRIP.
31528         Reported by Sylvain Beucler <beuc@beuc.net>.
31529
31530 2010-04-19  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/diffseq.h: Fix typo in comment.
31533         Reported by Eric Blake.
31534
31535 2010-04-19  Bruno Haible  <bruno@clisp.org>
31536
31537         ioctl: Move autoconf macro to a .m4 file.
31538         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31539         * modules/ioctl (Files): Add it.
31540         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31541         Reported by Ian Beckwith <ianb@erislabs.net>.
31542
31543 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31544             Bruno Haible  <bruno@clisp.org>
31545
31546         diffseq: Accommodate use-case with abstract arrays.
31547         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31548         is not defined.
31549         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31550         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31551
31552 2010-04-18  Bruno Haible  <bruno@clisp.org>
31553
31554         * doc/posix-headers/stdbool.texi: More precise wording.
31555
31556 2010-04-17  Jim Meyering  <meyering@redhat.com>
31557
31558         maint.mk: use gnu-style indentation in an embedded perl script
31559         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31560         Rename variable: s/two/last_two_bytes/
31561
31562 2010-04-16  Eric Blake  <eblake@redhat.com>
31563
31564         test-stdbool: skip test that fails with Solaris CC
31565         * tests/test-stdbool.c (f): Skip test that causes compilation
31566         error under buggy C++ compiler.
31567         * lib/stdbool.in.h: Document the limitation.
31568         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31569
31570         setenv: allow compilation with C++
31571         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31572         register keyword.
31573
31574         stdint: allow test to pass with C++
31575         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31576
31577         getopt: allow compilation with C++
31578         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31579         struct.
31580         * lib/getopt.c (_getopt_internal_r): Use correct type.
31581         Reported by Dagobert Michelson, via Joel E. Denny.
31582
31583 2010-04-16  Bruno Haible  <bruno@clisp.org>
31584
31585         Override netdb.h always.
31586         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31587         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31588         Reported by Ludovic Courtès <ludo@gnu.org>.
31589
31590 2010-04-15  Bruno Haible  <bruno@clisp.org>
31591
31592         openpty: Fix mistake from 2010-03-21.
31593         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31594         Reported by Simon Josefsson.
31595
31596 2010-04-15  Eric Blake  <eblake@redhat.com>
31597
31598         test-forkpty: fix expected signature
31599         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31600         Reported by Simon Josefsson.
31601
31602 2010-04-15  Jim Meyering  <meyering@redhat.com>
31603
31604         maint.mk: texinfo_suffix_re_: correct the default regexp
31605         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31606
31607         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31608         make it configurable via texinfo_suffix_re_.
31609
31610 2010-04-14  Eric Blake  <eblake@redhat.com>
31611
31612         strtok_r: relax license to LGPLv2+
31613         * modules/strtok_r (License): Relax license.
31614         Reported by Matthias Bolte.
31615
31616 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31617
31618         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31619         version 1.4.4 by default instead of requiring the libgcrypt
31620         version used during build.  This makes it possible to use the
31621         application with older but still binary compatible libgcrypt
31622         versions.
31623
31624 2010-04-13  Eric Blake  <eblake@redhat.com>
31625
31626         getopt-gnu: match recent glibc fixes and posix ruling
31627         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31628         '+' handling, when requesting extensions.
31629         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31630         'W;' handling.
31631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31632         * doc/posix-functions/getopt.texi (getopt): Document this.
31633         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31634         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31635         Likewise.
31636
31637         getopt: merge bug fixes from glibc
31638         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31639         diagnostics.  Honor '+:' correctly.  Reject ';'.
31640
31641         getopt-posix: detect MacOS bug
31642         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31643         optind when missing a required argument.
31644         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31645         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31646         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31647         Likewise.
31648
31649         getopt-posix: avoid spurious failure on Solaris
31650         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31651         an indicator that setting optind=1 is sufficient for reset.
31652
31653         getopt-posix: avoid spurious failure on FreeBSD
31654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31655         in POSIX mode, since the m4 test uses it.
31656
31657         gnulib-tool: silence warning on BSD sh
31658         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31659
31660 2010-04-13  Jim Meyering  <meyering@redhat.com>
31661
31662         doc: users.txt: GNU patch now uses gnulib
31663         * users.txt: Add patch.
31664
31665 2010-04-12  Jim Meyering  <meyering@redhat.com>
31666
31667         maint.mk: generate more concise timing data for syntax-check rules
31668         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31669         " done" from each line that reports a syntax-check test duration.
31670
31671 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31672
31673         git-version-gen: use "git update-index..." rather than "git status"
31674         * build-aux/git-version-gen: Use git update-index --refresh, not
31675         "git status".  With some versions of git, "git status" would fail
31676         to update the index and result in an unwarranted "-dirty" suffix.
31677
31678 2010-04-11  Jim Meyering  <meyering@redhat.com>
31679
31680         openat: correct formatting (no semantic change)
31681         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31682         Suggested by Bruno Haible.
31683
31684 2010-04-11  Bruno Haible  <bruno@clisp.org>
31685
31686         Stricter declaration checking in testdirs.
31687         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31688         If for_tests is true, augment AM_CPPFLAGS to define
31689         GNULIB_STRICT_CHECKING.
31690         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31691         GNULIB_STRICT_CHECKING is defined, verify that the function is
31692         declared.
31693
31694 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31695             Bruno Haible  <bruno@clisp.org>
31696
31697         libunistring: Improve configure output.
31698         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31699         Don't say "consider installing GNU libunistring" when checking again
31700         with libiconv.
31701
31702 2010-04-11  Bruno Haible  <bruno@clisp.org>
31703
31704         libunistring: Correct value of $LTLIBUNISTRING.
31705         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31706         correct the value of $LTLIBUNISTRING.
31707
31708 2010-04-11  Bruno Haible  <bruno@clisp.org>
31709
31710         havelib: Add static libraries to LIBS in the right order.
31711         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31712         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31713
31714 2010-04-11  Bruno Haible  <bruno@clisp.org>
31715
31716         libunistring: Detect libunistring also when it depends on libiconv.
31717         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31718         the second AC_LIB_HAVE_LINKFLAGS invocation.
31719
31720 2010-04-11  James Youngman  <jay@gnu.org>
31721
31722         close-stream: declare local scalars to be "const"
31723         * lib/close-stream.c (close_stream): Make boolean variables const
31724         to document the fact that we set but do not change them.
31725
31726 2010-04-11  Bruno Haible  <bruno@clisp.org>
31727
31728         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31729
31730 2010-04-11  Jim Meyering  <meyering@redhat.com>
31731
31732         maint.mk: don't include dist-check.mk
31733         * top/maint.mk: Remove bogus include directive.
31734
31735         maint.mk: improve empty-line-at-EOF check
31736         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31737         solution, rather than tail+Perl-based one.  The latter would read
31738         a few kilobytes from the end of each file, and did not handle empty
31739         files properly.
31740
31741         maint.mk: print the elapsed time for each syntax-check rule
31742         * top/maint.mk (sc_m_rules_): Save start time in a file.
31743         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31744         (local-check): Interpose the .z rules
31745
31746 2010-04-11  Jim Meyering  <meyering@redhat.com>
31747
31748         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31749         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31750         empty file with one that ends in an empty line.
31751
31752 2010-04-10  Bruno Haible  <bruno@clisp.org>
31753
31754         mkdir: Make it work on mingw64.
31755         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31756         * lib/mkdir.c: Update comment.
31757         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31758
31759 2010-04-10  Bruno Haible  <bruno@clisp.org>
31760
31761         Don't override improved macro from newer autoconf.
31762         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31763         autoconf >= 2.62.
31764         Reported by Joel E. Denny <jdenny@clemson.edu>.
31765
31766 2010-04-10  Jim Meyering  <meyering@redhat.com>
31767
31768         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31769         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31770
31771         maint.mk: correct a diagnostic
31772         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31773         in diagnostic; now use $prohibit.
31774
31775 2010-04-10  Bruno Haible  <address@hidden>
31776
31777         fchownat: Fix a C++ test error on Solaris 8.
31778         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31779         the function does not exist.
31780
31781 2010-04-10  Bruno Haible  <bruno@clisp.org>
31782
31783         vasnprintf: Add more tests.
31784         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31785         (test_function): Test converting an invalid wide string.
31786
31787         vasnprintf: Correct handling of unconvertible wide string arguments.
31788         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31789         VASNPRINTF.
31790         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31791         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31792         smaller than the expected maximum need for the directive. Set errno to
31793         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31794         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31796         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31797         * modules/vasnprintf (Files): Add m4/printf.m4.
31798         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31799
31800 2010-04-10  Bruno Haible  <bruno@clisp.org>
31801
31802         vasnprintf: Fix crash in %ls directive.
31803         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31804         string is passed as argument to %ls, with no precision and no width.
31805         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31806
31807 2010-04-10  Bruno Haible  <bruno@clisp.org>
31808
31809         vasnprintf: Fix multiple test failures on mingw.
31810         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31811         _snprintf, or snwprintf, not _snwprintf.
31812
31813 2010-04-10  Bruno Haible  <bruno@clisp.org>
31814
31815         write: Fix a C++ test error on mingw.
31816         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31817
31818 2010-04-10  Bruno Haible  <bruno@clisp.org>
31819
31820         vasnprintf test: Reduce code duplication.
31821         * tests/test-vasnprintf.c (test_function): New function, extracted from
31822         test_vasnprintf.
31823         (test_vasnprintf, test_asnprintf): Invoke it.
31824
31825 2010-04-10  Bruno Haible  <bruno@clisp.org>
31826
31827         strnlen: Fix warning in C++ mode on MacOS X.
31828         * lib/string.in.h (strnlen): Use the modern idiom.
31829         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31830         defining strnlen as a macro already in <config.h>.
31831         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31832         REPLACE_STRNLEN.
31833         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31834         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31835
31836 2010-04-08  James Youngman  <jay@gnu.org>
31837
31838         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31839         the example.
31840
31841 2010-04-09  Jim Meyering  <meyering@redhat.com>
31842
31843         maint.mk: print better diagnostic when there is no $(_hv_file)
31844         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31845         announce that when $(_hv_file) (aka help-version) does not exist.
31846
31847         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31848         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31849         not try to interpret its random input bytes.  Jarno Rajahalme reported
31850         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31851         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31852         (mktempd_): Likewise, just in case.
31853
31854         ftruncate: add two years to projected module removal date: 2012
31855         * m4/ftruncate.m4: Adjust comments.
31856
31857         ftruncate: mark module as obsolete; even MinGW provides it, now
31858         * modules/ftruncate (Status): Obsolete.
31859         (Notice): Say that.
31860         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31861         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31862
31863 2010-04-08  Bruno Haible  <bruno@clisp.org>
31864
31865         Fix side effects from tests-related modules.
31866         * modules/dprintf-posix (Comment): New section.
31867         * modules/fprintf-posix (Comment): Likewise.
31868         * modules/obstack-printf-posix (Comment): Likewise.
31869         * modules/printf-posix (Comment): Likewise.
31870         * modules/snprintf-posix (Comment): Likewise.
31871         * modules/sprintf-posix (Comment): Likewise.
31872         * modules/vasnprintf-posix (Comment): Likewise.
31873         * modules/vasprintf-posix (Comment): Likewise.
31874         * modules/vdprintf-posix (Comment): Likewise.
31875         * modules/vfprintf-posix (Comment): Likewise.
31876         * modules/vprintf-posix (Comment): Likewise.
31877         * modules/vsnprintf-posix (Comment): Likewise.
31878         * modules/vsprintf-posix (Comment): Likewise.
31879         * modules/xprintf-posix (Comment): Likewise.
31880         * modules/xvasprintf-posix (Comment): Likewise.
31881         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31882         * modules/floorf-tests (Depends-on): Likewise.
31883         * modules/round-tests (Depends-on): Likewise.
31884         * modules/roundf-tests (Depends-on): Likewise.
31885         * modules/trunc-tests (Depends-on): Likewise.
31886         * modules/truncf-tests (Depends-on): Likewise.
31887         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31888         'fprintf-posix' module is not present.
31889         * tests/test-floorf2.c (check): Likewise.
31890         * tests/test-trunc2.c (check): Likewise.
31891         * tests/test-truncf2.c (check): Likewise.
31892         * tests/test-round2.c (equal): Likewise.
31893         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31894
31895 2010-04-07  Karl Berry  <karl@gnu.org>
31896
31897         * config/srclist.txt,
31898         * config/srclistvars.sh,
31899         * config/srclist-update: doc fixes.
31900
31901 2010-04-07  Jim Meyering  <meyering@redhat.com>
31902
31903         maint.mk: add a PATH crosschecking syntax-check rule
31904         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31905         Useful if you use a test like the one in help-version (coreutils,
31906         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31907         printed by prog --version.
31908
31909 2010-04-06  Bruno Haible  <bruno@clisp.org>
31910
31911         Fix link error on mingw.
31912         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31913         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31914
31915 2010-04-06  Bruno Haible  <bruno@clisp.org>
31916
31917         Assume rmdir exists.
31918         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31919
31920 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31921
31922         doc: update users.txt
31923         * users.txt: Add gcal.
31924
31925 2010-04-06  Jim Meyering  <meyering@redhat.com>
31926
31927         init.sh: simply unset TMPDIR rather than risking env -i
31928         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31929         although it probably works fine on all Unix-based systems, some
31930         systems (Cygwin?) cannot tolerate a totally cleared environment.
31931         Suggestion from Eric Blake.
31932
31933 2010-04-06  Jim Meyering  <meyering@redhat.com>
31934
31935         init.sh: portability fix: use env's POSIX-specified -i option not -u
31936         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31937         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31938
31939 2010-04-05  Bruno Haible  <bruno@clisp.org>
31940
31941         btowc: Work around Cygwin 1.7.2 bug.
31942         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31943         does not map NUL to 0.
31944         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31945
31946 2010-04-05  Bruno Haible  <bruno@clisp.org>
31947
31948         Make the multithread modules work on Cygwin 1.7.2.
31949         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31950         imported symbols can be declared weak, so that it returns "no" on
31951         Cygwin 1.7.2.
31952
31953 2010-04-05  Bruno Haible  <bruno@clisp.org>
31954
31955         Use the module 'strncat'.
31956         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31957
31958         Tests for module 'strncat'.
31959         * modules/strncat-tests: New file.
31960         * tests/test-strncat.c: New file.
31961
31962         New module 'strncat'.
31963         * lib/string.in.h (strncat): New declaration.
31964         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31965         * m4/strncat.m4: New file, based on m4/memchr.m4.
31966         * modules/strncat: New file.
31967         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31968         is declared.
31969         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31970         REPLACE_STRNCAT.
31971         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31972         REPLACE_STRNCAT.
31973         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31974         module.
31975         * tests/test-string-c++.cc: Check signature of strncat.
31976
31977 2010-04-05  Jim Meyering  <meyering@redhat.com>
31978
31979         xstrtoumax-tests: convert to use init.sh
31980         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31981         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31982         Use Exit, not exit.
31983         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31984
31985         xstrtoimax-tests: convert to use init.sh
31986         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31987         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31988         Use Exit, not exit.
31989         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31990
31991 2010-04-05  Bruno Haible  <bruno@clisp.org>
31992
31993         sys_socket: Avoid #define replacements in C++ mode.
31994         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31995         warning to the function if possible, rather than #defining the symbol
31996         to a dysfunctional alias.
31997
31998 2010-04-05  Bruno Haible  <bruno@clisp.org>
31999
32000         fseeko: Fix C++ test error on mingw.
32001         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
32002         gl_FUNC_FSEEKO.
32003         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
32004         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
32005         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
32006         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
32007
32008 2010-04-05  Bruno Haible  <bruno@clisp.org>
32009
32010         duplocale: Improve test output.
32011         * tests/test-duplocale.c (main): Print reason for skipped test.
32012
32013 2010-04-05  Bruno Haible  <bruno@clisp.org>
32014
32015         Assume rmdir exists.
32016         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
32017         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
32018
32019 2010-04-05  Bruno Haible  <bruno@clisp.org>
32020
32021         Fix link error on Solaris 8 with cc.
32022         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
32023
32024 2010-04-05  Bruno Haible  <bruno@clisp.org>
32025
32026         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32027         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
32028
32029 2010-04-05  Bruno Haible  <bruno@clisp.org>
32030
32031         vasprintf: Update documentation.
32032         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
32033
32034 2010-04-05  Bruno Haible  <bruno@clisp.org>
32035
32036         ptsname: Improve test.
32037         * tests/test-ptsname.c (main): Also try the various master names of BSD
32038         systems.
32039
32040 2010-04-05  Bruno Haible  <bruno@clisp.org>
32041
32042         memchr: Avoid a possible C++ test error.
32043         * lib/string.in.h (memchr): Provide declaration if function is missing.
32044         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
32045         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
32046         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
32047         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
32048
32049 2010-04-05  Bruno Haible  <bruno@clisp.org>
32050
32051         strtok_r: Improve idiom.
32052         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
32053         AC_LIBOBJ is used.
32054
32055 2010-04-05  Bruno Haible  <bruno@clisp.org>
32056
32057         strdup: Improve idiom.
32058         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
32059         AC_LIBOBJ is used.
32060         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
32061         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
32062         when AC_LIBOBJ is used.
32063
32064 2010-04-05  Bruno Haible  <bruno@clisp.org>
32065
32066         mbsinit, mbrtowc, wcrtomb: Improve idioms.
32067         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
32068         don't set REPLACE_MBSINIT to 1.
32069         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
32070         don't set REPLACE_MBRTOWC to 1.
32071         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
32072         exist, don't set REPLACE_MBSRTOWCS to 1.
32073         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
32074         exist, don't set REPLACE_MBSNRTOWCS to 1.
32075         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
32076         don't set REPLACE_WCRTOMB to 1.
32077         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
32078         exist, don't set REPLACE_WCSRTOMBS to 1.
32079         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
32080         exist, don't set REPLACE_WCSNRTOMBS to 1.
32081
32082 2010-04-05  Bruno Haible  <bruno@clisp.org>
32083
32084         ldexpl: Improve idiom.
32085         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
32086         make sure to set HAVE_DECL_LDEXPL to 0.
32087
32088 2010-04-05  Jim Meyering  <meyering@redhat.com>
32089
32090         xstrtol-tests: convert to use init.sh
32091         * modules/xstrtol-tests (Files): Add tests/init.sh.
32092         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32093         Use Exit, not exit.
32094         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32095
32096         atexit-tests: convert to use init.sh
32097         * modules/atexit-tests (Files): Add tests/init.sh.
32098         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32099         Use Exit, not exit.
32100         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32101
32102         init.sh: fix typo
32103         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
32104
32105         init.sh: make it easier for a test script to write to the tty, ...
32106         when using automake's parallel-tests mode.
32107         * tests/init.sh (stderr_fileno_): Define overridable variable.
32108         (warn_): New function, to use it.
32109         (fail_, skip_, framework_failure_): Use warn_.
32110
32111 2010-04-04  Bruno Haible  <bruno@clisp.org>
32112
32113         btowc: Avoid warning.
32114         * lib/btowc.c: Include <stdlib.h>.
32115         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
32116
32117 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32118             Bruno Haible  <bruno@clisp.org>
32119
32120         wchar: Port to NetBSD 1.5.
32121         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
32122         * lib/wctype.in.h (WEOF): Likewise.
32123
32124 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32125             Bruno Haible  <bruno@clisp.org>
32126
32127         Port extended stdio to NetBSD 1.5.
32128         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32129         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32130         older.
32131
32132 2010-04-04  Bruno Haible  <bruno@clisp.org>
32133
32134         string: Remove unused substitution.
32135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32136         HAVE_DECL_STRERROR.
32137         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32138
32139 2010-04-04  Bruno Haible  <bruno@clisp.org>
32140
32141         strtod: Avoid a possible C++ test error.
32142         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32143         set REPLACE_STRTOD.
32144
32145 2010-04-04  Bruno Haible  <bruno@clisp.org>
32146
32147         strerror: Update documentation.
32148         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32149
32150 2010-04-04  Bruno Haible  <bruno@clisp.org>
32151
32152         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32153         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32154         _GL_CXXALIAS_SYS_CAST.
32155
32156 2010-04-04  Bruno Haible  <bruno@clisp.org>
32157
32158         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32159         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32160         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32161         REPLACE_FREXPL to 1.
32162         * doc/posix-functions/frexpl.texi: Update documentation.
32163
32164 2010-04-04  Bruno Haible  <bruno@clisp.org>
32165
32166         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32167         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32168
32169 2010-04-04  Bruno Haible  <bruno@clisp.org>
32170
32171         Implement nanosleep for native Windows.
32172         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32173
32174 2010-04-04  Bruno Haible  <bruno@clisp.org>
32175
32176         math: Fix some C++ test errors on Solaris 8.
32177         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32178
32179 2010-04-04  Bruno Haible  <bruno@clisp.org>
32180
32181         math: Fix some C++ test errors on Cygwin.
32182         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32183         truncl): Provide declaration if the system does not have it.
32184         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32185         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32186         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32187         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32188         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32189         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32190         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32191         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32192         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32193         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32194         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32195         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32196         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32197         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32198         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32199         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32200         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32201         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32202         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32203         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32204         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32205         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32206
32207 2010-04-04  Bruno Haible  <bruno@clisp.org>
32208
32209         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32210         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32211         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32212         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32213         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32214         * m4/isinf.m4 (gl_ISINF): Likewise.
32215         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32216
32217 2010-04-04  Bruno Haible  <bruno@clisp.org>
32218
32219         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32220         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32221
32222 2010-04-04  Bruno Haible  <bruno@clisp.org>
32223
32224         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32225         * modules/tmpfile (configure.ac): Update.
32226
32227         tmpfile: Fix C++ test error on mingw.
32228         * lib/stdio.in.h (tmpfile): New declaration.
32229         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32230         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32231         * modules/tmpfile (Depends-on): Add stdio.
32232         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32233         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32234         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32235         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32236         REPLACE_TMPFILE.
32237         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32238
32239 2010-04-04  Bruno Haible  <bruno@clisp.org>
32240
32241         ioctl: Fix C++ test error on mingw.
32242         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32243         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32244         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32245
32246 2010-04-03  Bruno Haible  <bruno@clisp.org>
32247
32248         wcwidth: Fix C++ test error on mingw.
32249         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32250         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32251         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32252
32253 2010-04-03  Bruno Haible  <bruno@clisp.org>
32254
32255         nanosleep: Fix C++ test error on mingw.
32256         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32257         * lib/time.in.h (nanosleep): Use modern idiom.
32258         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32259         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32260         REPLACE_NANOSLEEP to 1.
32261         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32262         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32263
32264 2010-04-03  Bruno Haible  <bruno@clisp.org>
32265
32266         strptime: Fix C++ test error on mingw.
32267         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32268         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32269         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32270         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32271         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32272         not REPLACE_STRPTIME.
32273         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32274         REPLACE_STRPTIME.
32275
32276 2010-04-03  Bruno Haible  <bruno@clisp.org>
32277
32278         timegm: Fix C++ test error on mingw.
32279         * lib/time.in.h (timegm): Use modern idiom.
32280         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32281         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32282         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32283         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32284
32285 2010-04-03  Bruno Haible  <bruno@clisp.org>
32286
32287         timegm: Assume declaration if function exists.
32288         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32289         if it exists. Don't clobber ac_cv_func_timegm.
32290
32291 2010-04-03  Bruno Haible  <bruno@clisp.org>
32292
32293         time_r: Fix C++ test error on mingw.
32294         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32295         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32296         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32297         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32298         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32299
32300 2010-04-03  Bruno Haible  <bruno@clisp.org>
32301
32302         time_r: Minor updates.
32303         * modules/time_r (Description): Mention the provided functions.
32304         * lib/time_r.c: Don't include <string.h>.
32305         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32306         * doc/posix-functions/localtime_r.texi: Likewise.
32307
32308 2010-04-03  Bruno Haible  <bruno@clisp.org>
32309
32310         time: Fix regression introduced on 2010-03-08.
32311         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32312         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32313
32314 2010-04-03  Jim Meyering  <meyering@redhat.com>
32315
32316         maint.mk: don't silently disable project-specific syntax-check rules
32317         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32318         that they need to convert their project-specific syntax-check rules
32319         to use the new _sc_search_regexp.
32320
32321 2010-04-03  Bruno Haible  <bruno@clisp.org>
32322
32323         fchdir: Fix regression introduced on 2010-03-08.
32324         * lib/unistd.in.h (fchdir): Fix declaration.
32325         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32327         REPLACE_FCHDIR.
32328         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32329         REPLACE_FCHDIR.
32330
32331 2010-04-03  Bruno Haible  <bruno@clisp.org>
32332
32333         getpagesize: Fix C++ test error on mingw.
32334         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32335         system does not declare the function.
32336         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32337         declared.
32338         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32339         HAVE_DECL_GETPAGESIZE.
32340         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32341
32342 2010-04-03  Bruno Haible  <bruno@clisp.org>
32343
32344         stdio: Make C++ tests work on mingw.
32345         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32346         does not declare the function.
32347
32348 2010-04-03  Bruno Haible  <bruno@clisp.org>
32349
32350         ftello: Fix C++ test error on mingw.
32351         * lib/stdio.in.h (ftello): Use modern idiom.
32352         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32353         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32354         is missing and that it needs to be replaced.
32355         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32356         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32357         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32358
32359 2010-04-03  Bruno Haible  <bruno@clisp.org>
32360
32361         fseeko: Fix C++ test error on mingw.
32362         * lib/stdio.in.h (fseeko): Use modern idiom.
32363         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32364         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32365         is missing and that it needs to be replaced.
32366         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32367         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32368         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32369
32370 2010-04-03  Bruno Haible  <bruno@clisp.org>
32371
32372         mkstemp: Fix C++ test error on mingw.
32373         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32374         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32375         function is missing and that it needs to be replaced.
32376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32377         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32378
32379 2010-04-03  Bruno Haible  <bruno@clisp.org>
32380
32381         stpncpy: Fix C++ test error on mingw.
32382         * lib/string.in.h (stpncpy): Use modern idiom.
32383         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32384         function is missing and that it needs to be replaced.
32385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32386         REPLACE_STPNCPY.
32387         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32388
32389 2010-04-03  Bruno Haible  <bruno@clisp.org>
32390
32391         sys_stat: Fix C++ test error on mingw.
32392         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32393         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32394
32395 2010-04-03  Bruno Haible  <bruno@clisp.org>
32396
32397         pty: Update doc.
32398         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32399
32400 2010-04-03  Bruno Haible  <bruno@clisp.org>
32401
32402         unistd: Fix C++ test error on mingw.
32403         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32404
32405 2010-04-03  Bruno Haible  <bruno@clisp.org>
32406
32407         Update doc regarding mingw.
32408         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32409         * doc/glibc-functions/login_tty.texi: Likewise.
32410         * doc/glibc-functions/forkpty.texi: Likewise.
32411
32412 2010-04-03  Bruno Haible  <bruno@clisp.org>
32413
32414         stdlib: Avoid compilation failure of c-strtold on mingw.
32415         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32416
32417 2010-04-03  Bruno Haible  <bruno@clisp.org>
32418
32419         locale: Make C++ tests work on Cygwin and mingw.
32420         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32421         cannot provide the function.
32422         Reported by Simon Josefsson.
32423
32424 2010-04-03  Bruno Haible  <bruno@clisp.org>
32425
32426         localename: Port to MacOS X 10.6.
32427         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
32428         memory layout of the locales in MacOS X 10.6 as well.
32429         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
32430
32431 2010-04-02  Bruno Haible  <bruno@clisp.org>
32432
32433         gnulib-tool: Ensure that long-running tests are executed last.
32434         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
32435         running tests after the one for the other tests.
32436
32437 2010-04-02  Bruno Haible  <bruno@clisp.org>
32438
32439         gnulib-tool: Ensure the tests in the main directory are executed first.
32440         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
32441         start with the current directory.
32442
32443 2010-04-02  Bruno Haible  <bruno@clisp.org>
32444
32445         Tests for module 'havelib', moved here from GNU gettext.
32446         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
32447         modifications.
32448         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
32449         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
32450         with modifications.
32451         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
32452         modifications.
32453         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
32454         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
32455         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
32456         with modifications.
32457         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32458         with modifications.
32459         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32460         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32461         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32462         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32463         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32464         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32465         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32466         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32467         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32468         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32469         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32470         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32471         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32472         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32473         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32474         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32475         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32476         with modifications.
32477         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32478         with modifications.
32479         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32480         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32481         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32482         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32483         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32484         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32485         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32486         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32487         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32488         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32489         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32490         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32491         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32492         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32493         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32494         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32495         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32496         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32497         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32498         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32499         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32500         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32501         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32502         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32503         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32504         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32505         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32506         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32507         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32508         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32509         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32510         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32511         * tests/havelib/rpathx/rpathx.c: New file, from
32512         gettext/autoconf-lib-link.
32513         * tests/havelib/rpathx/Makefile.am: New file, from
32514         gettext/autoconf-lib-link.
32515         * tests/havelib/rpathx/configure.ac: New file, from
32516         gettext/autoconf-lib-link with modifications.
32517         * tests/havelib/rpathy/rpathy.c: New file, from
32518         gettext/autoconf-lib-link.
32519         * tests/havelib/rpathy/Makefile.am: New file, from
32520         gettext/autoconf-lib-link.
32521         * tests/havelib/rpathy/configure.ac: New file, from
32522         gettext/autoconf-lib-link with modifications.
32523         * tests/havelib/rpathz/rpathz.c: New file, from
32524         gettext/autoconf-lib-link.
32525         * tests/havelib/rpathz/Makefile.am: New file, from
32526         gettext/autoconf-lib-link.
32527         * tests/havelib/rpathz/configure.ac: New file, from
32528         gettext/autoconf-lib-link with modifications.
32529         * tests/havelib/rpathlx/usex.c: New file, from
32530         gettext/autoconf-lib-link.
32531         * tests/havelib/rpathlx/Makefile.am: New file, from
32532         gettext/autoconf-lib-link.
32533         * tests/havelib/rpathlx/configure.ac: New file, from
32534         gettext/autoconf-lib-link with modifications.
32535         * tests/havelib/rpathly/usey.c: New file, from
32536         gettext/autoconf-lib-link.
32537         * tests/havelib/rpathly/Makefile.am: New file, from
32538         gettext/autoconf-lib-link.
32539         * tests/havelib/rpathly/configure.ac: New file, from
32540         gettext/autoconf-lib-link with modifications.
32541         * tests/havelib/rpathlz/usez.c: New file, from
32542         gettext/autoconf-lib-link.
32543         * tests/havelib/rpathlz/Makefile.am: New file, from
32544         gettext/autoconf-lib-link.
32545         * tests/havelib/rpathlz/configure.ac: New file, from
32546         gettext/autoconf-lib-link with modifications.
32547         * tests/havelib/rpathlyx/usey.c: New file, from
32548         gettext/autoconf-lib-link.
32549         * tests/havelib/rpathlyx/Makefile.am: New file, from
32550         gettext/autoconf-lib-link.
32551         * tests/havelib/rpathlyx/configure.ac: New file, from
32552         gettext/autoconf-lib-link with modifications.
32553         * tests/havelib/rpathlzyx/usez.c: New file, from
32554         gettext/autoconf-lib-link.
32555         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32556         gettext/autoconf-lib-link.
32557         * tests/havelib/rpathlzyx/configure.ac: New file, from
32558         gettext/autoconf-lib-link with modifications.
32559         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32560         with modifications.
32561
32562 2010-04-02  Bruno Haible  <bruno@clisp.org>
32563
32564         gnulib-tool: Create distributed built sources also for the tests.
32565         * gnulib-tool (func_create_testdir): Also generate distributed built
32566         sources in the tests directory.
32567
32568 2010-04-02  Bruno Haible  <bruno@clisp.org>
32569
32570         gnulib-tool: Obey user's environment variables.
32571         * gnulib-tool (func_create_testdir): When creating built sources,
32572         respect the environment variables for autoconf, automake, etc. given by
32573         the user.
32574
32575 2010-04-02  Bruno Haible  <bruno@clisp.org>
32576
32577         gnulib-tool: Provide the value of --m4-base to modules.
32578         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32579         of gl_m4_base.
32580
32581 2010-04-02  Eric Blake  <eblake@redhat.com>
32582
32583         maint.mk: fix some fallout
32584         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32585         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32586
32587 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32588
32589         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32590         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32591         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32592         (sc_cast_of_x_alloc_return_value): Likewise.
32593         (sc_cast_of_alloca_return_value): Likewise.
32594         (sc_space_tab): Likewise.
32595         (sc_prohibit_atoi_atof): Likewise.
32596         (sc_prohibit_magic_number_exit): Likewise.
32597         (sc_error_exit_success): Likewise.
32598         (sc_file_system): Likewise.
32599         (sc_prohibit_have_config_h): Likewise.
32600         (sc_require_config_h): Likewise.
32601         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32602         (sc_obsolete_symbols): Likewise.
32603         (sc_changelog): Likewise.
32604         (sc_program_name): Likewise.
32605         (sc_the_the): Likewise.
32606         (sc_trailing_blank): Likewise.
32607         (sc_two_space_separator_in_usage): Likewise.
32608         (sc_useless_cpp_parens): Likewise.
32609         (sc_GPL_version): Likewise.
32610         (sc_GFDL_version): Likewise.
32611         (sc_texinfo_acronym): Likewise.
32612         (sc_prohibit_cvs_keyword): Likewise.
32613         (sc_prohibit_stat_st_blocks): Likewise.
32614         (sc_prohibit_S_IS_definition): Likewise.
32615         (sc_redundant_const): Likewise.
32616         (sc_makefile_TAB_only_indentation): Likewise.
32617         (sc_m4_quote_check): Likewise.
32618         (sc_makefile_path_separator_check): Likewise.
32619         (sc_copyright_check): Likewise.
32620         (sc_Wundef_boolean): Likewise.
32621         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32622
32623         maint.mk: match 0 or more whitespace-before-function-call '('
32624         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32625         that have zero or two-and-more spaces between the function name
32626         and the open parenthesis.
32627         (sc_error_message_warn_fatal): Likewise.
32628         (sc_error_message_uppercase): Likewise.
32629         (sc_error_message_period): Likewise.
32630
32631 2010-03-31  Eric Blake  <eblake@redhat.com>
32632
32633         maint.mk: check for [ as well as test
32634         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32635         Based on a libvirt report by Matthias Bolte.
32636
32637         gnumakefile: don't squelch _version output
32638         * top/GNUmakefile (_version): Create one-shot dependency rather
32639         than using $(shell) when version must be regenerated.
32640         (_autoreconf): Run verbosely, by default.
32641
32642         sys_time: avoid compiler warnings
32643         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32644         unconditional, fixing regression from 2010-03-29.
32645         Reported by Simon Josefsson.
32646
32647 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32648
32649         maint.mk: s/_header_without_use/_sc_header_without_use/
32650         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32651         (sc_prohibit_assert_without_use): Use the new name.
32652         (sc_prohibit_close_stream_without_use): Likewise.
32653         (sc_prohibit_getopt_without_use): Likewise.
32654         (sc_prohibit_quotearg_without_use): Likewise.
32655         (sc_prohibit_quote_without_use): Likewise.
32656         (sc_prohibit_long_options_without_use): Likewise.
32657         (sc_prohibit_inttostr_without_use): Likewise.
32658         (sc_prohibit_ignore_value_without_use): Likewise.
32659         (sc_prohibit_error_without_use): Likewise.
32660         (sc_prohibit_xalloc_without_use): Likewise.
32661         (sc_prohibit_hash_without_use): Likewise.
32662         (sc_prohibit_hash_pjw_without_use): Likewise.
32663         (sc_prohibit_safe_read_without_use): Likewise.
32664         (sc_prohibit_argmatch_without_use): Likewise.
32665         (sc_prohibit_canonicalize_without_use): Likewise.
32666         (sc_prohibit_root_dev_ino_without_use): Likewise.
32667         (sc_prohibit_openat_without_use): Likewise.
32668         (sc_prohibit_c_ctype_without_use): Likewise.
32669         (sc_prohibit_signal_without_use): Likewise.
32670         (sc_prohibit_intprops_without_use): Likewise.
32671
32672 2010-03-30  Eric Blake  <eblake@redhat.com>
32673
32674         maint: improve module indicators
32675         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32676         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32677         columns, and avoid extra macro expansion.
32678
32679         fdopendir: work around FreeBSD bug
32680         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32681         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32682         * modules/dirent (Makefile.am): Substitute it.
32683         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32684         declaration.
32685         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32686         fix.
32687         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32688
32689 2010-03-29  Bruno Haible  <bruno@clisp.org>
32690
32691         Emit #pragma system_header after the inclusion guard, not before.
32692         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32693         guard that spans the entire file, not before. This enables an
32694         optimization in GCC's preprocessor.
32695         * lib/ctype.in.h: Likewise.
32696         * lib/dirent.in.h: Likewise.
32697         * lib/errno.in.h: Likewise.
32698         * lib/float.in.h: Likewise.
32699         * lib/getopt.in.h: Likewise.
32700         * lib/iconv.in.h: Likewise.
32701         * lib/langinfo.in.h: Likewise.
32702         * lib/locale.in.h: Likewise.
32703         * lib/math.in.h: Likewise.
32704         * lib/netdb.in.h: Likewise.
32705         * lib/netinet_in.in.h: Likewise.
32706         * lib/pty.in.h: Likewise.
32707         * lib/sched.in.h: Likewise.
32708         * lib/se-selinux.in.h: Likewise.
32709         * lib/search.in.h: Likewise.
32710         * lib/spawn.in.h: Likewise.
32711         * lib/stdarg.in.h: Likewise.
32712         * lib/stdint.in.h: Likewise.
32713         * lib/string.in.h: Likewise.
32714         * lib/strings.in.h: Likewise.
32715         * lib/sys_file.in.h: Likewise.
32716         * lib/sys_ioctl.in.h: Likewise.
32717         * lib/sys_time.in.h: Likewise.
32718         * lib/sys_times.in.h: Likewise.
32719         * lib/sys_utsname.in.h: Likewise.
32720         * lib/sys_wait.in.h: Likewise.
32721         * lib/sysexits.in.h: Likewise.
32722         * lib/wctype.in.h: Likewise.
32723
32724 2010-03-28  James Youngman  <jay@gnu.org>
32725
32726         save-cwd: don't leak a file descriptor when the caller execs.
32727         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32728         saved file descriptor.
32729         * modules/save-cwd (Depends-on): Depend on cloexec.
32730
32731 2010-03-29  Bruno Haible  <bruno@clisp.org>
32732
32733         Remove vestiges of fts-lgpl module.
32734         * lib/fts_.h: Assume GNULIB_FTS is 1.
32735         * lib/fts.c: Likewise.
32736         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32737
32738 2010-03-28  Bruno Haible  <bruno@clisp.org>
32739
32740         Fix definition of tests witness macro.
32741         * gnulib-tool (func_import): Fix definition of witness macro.
32742
32743 2010-03-28  Bruno Haible  <bruno@clisp.org>
32744
32745         Fix ioctl's protoype on glibc systems.
32746         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32747         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32748         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32749         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32750         signature. If not, arrange to replace the ioctl function.
32751         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32752         REPLACE_IOCTL.
32753         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32754         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32755         Reported by Ludovic Courtès <ludo@gnu.org>.
32756
32757 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32758
32759         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32760         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32761         made it so grep -r --include=GLOB* ... did not work.
32762
32763 2010-03-26  Jim Meyering  <meyering@redhat.com>
32764             Eric Blake  <eblake@redhat.com>
32765
32766         maint.mk: prohibit use of test's -o and -a operators
32767         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32768
32769 2010-03-28  Bruno Haible  <bruno@clisp.org>
32770
32771         Remove unused GNULIB_XYZ macro definitions.
32772         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32773         invocation.
32774
32775 2010-03-28  Bruno Haible  <bruno@clisp.org>
32776
32777         Mark privileged tests modules.
32778         * modules/idpriv-drop-tests (Status): New section.
32779         * modules/idpriv-droptemp-tests (Status): New section.
32780
32781 2010-03-28  Bruno Haible  <bruno@clisp.org>
32782
32783         Split C++ tests into separate tests modules.
32784         * modules/dirent-c++-tests: New file, extracted from
32785         modules/dirent-tests.
32786         * modules/dirent-tests: Depend on it.
32787         * modules/fcntl-h-c++-tests: New file, extracted from
32788         modules/fcntl-h-tests.
32789         * modules/fcntl-h-tests: Depend on it.
32790         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32791         * modules/glob-tests: Depend on it.
32792         * modules/iconv-h-c++-tests: New file, extracted from
32793         modules/iconv-h-tests.
32794         * modules/iconv-h-tests: Depend on it.
32795         * modules/langinfo-c++-tests: New file, extracted from
32796         modules/langinfo-tests.
32797         * modules/langinfo-tests: Depend on it.
32798         * modules/locale-c++-tests: New file, extracted from
32799         modules/locale-tests.
32800         * modules/locale-tests: Depend on it.
32801         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32802         * modules/math-tests: Depend on it.
32803         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32804         * modules/pty-tests: Depend on it.
32805         * modules/search-c++-tests: New file, extracted from
32806         modules/search-tests.
32807         * modules/search-tests: Depend on it.
32808         * modules/signal-c++-tests: New file, extracted from
32809         modules/signal-tests.
32810         * modules/signal-tests: Depend on it.
32811         * modules/spawn-c++-tests: New file, extracted from
32812         modules/spawn-tests.
32813         * modules/spawn-tests: Depend on it.
32814         * modules/stdio-c++-tests: New file, extracted from
32815         modules/stdio-tests.
32816         * modules/stdio-tests: Depend on it.
32817         * modules/stdlib-c++-tests: New file, extracted from
32818         modules/stdlib-tests.
32819         * modules/stdlib-tests: Depend on it.
32820         * modules/string-c++-tests: New file, extracted from
32821         modules/string-tests.
32822         * modules/string-tests: Depend on it.
32823         * modules/sys_ioctl-c++-tests: New file, extracted from
32824         modules/sys_ioctl-tests.
32825         * modules/sys_ioctl-tests: Depend on it.
32826         * modules/sys_select-c++-tests: New file, extracted from
32827         modules/sys_select-tests.
32828         * modules/sys_select-tests: Depend on it.
32829         * modules/sys_socket-c++-tests: New file, extracted from
32830         modules/sys_socket-tests.
32831         * modules/sys_socket-tests: Depend on it.
32832         * modules/sys_stat-c++-tests: New file, extracted from
32833         modules/sys_stat-tests.
32834         * modules/sys_stat-tests: Depend on it.
32835         * modules/sys_time-c++-tests: New file, extracted from
32836         modules/sys_time-tests.
32837         * modules/sys_time-tests: Depend on it.
32838         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32839         * modules/time-tests: Depend on it.
32840         * modules/unistd-c++-tests: New file, extracted from
32841         modules/unistd-tests.
32842         * modules/unistd-tests: Depend on it.
32843         * modules/wchar-c++-tests: New file, extracted from
32844         modules/wchar-tests.
32845         * modules/wchar-tests: Depend on it.
32846         * modules/wctype-c++-tests: New file, extracted from
32847         modules/wctype-tests.
32848         * modules/wctype-tests: Depend on it.
32849         Reported by Simon Josefsson.
32850
32851 2010-03-28  Bruno Haible  <bruno@clisp.org>
32852
32853         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32854         * gnulib-tool (func_exists_module): New function, extracted from
32855         func_verify_module.
32856         (func_verify_module): Use it.
32857         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32858         'foo' only if 'foo' exists.
32859         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32860         module.
32861
32862 2010-03-28  Bruno Haible  <bruno@clisp.org>
32863
32864         gnulib-tool: Add support for special categories of tests.
32865         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32866         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32867         (func_usage): Document them.
32868         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32869         inc_unportable_tests, inc_all_tests): New variables.
32870         (func_acceptable): Consider these variables.
32871         (func_modules_transitive_closure): Make it work when the 'Status' field
32872         consists of multiple words.
32873         (func_import): Store and restore the values of inc_cxx_tests,
32874         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32875         inc_all_tests in gnulib-comp.m4.
32876         (func_create_testdir): Set inc_all_tests to true.
32877         * doc/gnulib.texi (Extra tests modules): New section.
32878         Suggested by Jim Meyering.
32879
32880 2010-03-28  Bruno Haible  <bruno@clisp.org>
32881
32882         ansi-c++-opt: Allow turning off the C++ build by default.
32883         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32884         gl_CXX_CHOICE_DEFAULT_NO is defined.
32885         Requested by Eric Blake.
32886
32887 2010-03-28  Bruno Haible  <bruno@clisp.org>
32888
32889         unistd: Avoid #define replacements in C++ mode.
32890         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32891         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32892         setsockopt, shutdown, select): In C++, attach a warning to the function
32893         if possible, rather than #defining the symbol to a dysfunctional alias.
32894         Reported by John W. Eaton <jwe@gnu.org>.
32895
32896 2010-03-28  Bruno Haible  <bruno@clisp.org>
32897
32898         Fix link errors on mingw.
32899         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32900         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32901         $(LIBSOCKET).
32902         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32903         $(LIBSOCKET).
32904
32905 2010-03-28  Bruno Haible  <bruno@clisp.org>
32906             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32907
32908         lib-ignore: Determine different options for different compilers.
32909         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32910         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32911         Add comments.
32912         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32913         * NEWS: Mention the change.
32914
32915 2010-03-27  Bruno Haible  <bruno@clisp.org>
32916
32917         Remove unused GNULIB_XYZ macro definitions.
32918         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32919         * modules/fseek (configure.ac): Likewise.
32920         * modules/ioctl (configure.ac): Likewise.
32921         * modules/open (configure.ac): Likewise.
32922         * modules/stdlib-safer (configure.ac): Likewise.
32923
32924 2010-03-27  Bruno Haible  <bruno@clisp.org>
32925
32926         Add a remark about certain modules.
32927         * modules/malloc (Comment): New section.
32928         * modules/realloc (Comment): Likewise.
32929         * modules/sigpipe (Comment): Likewise.
32930
32931 2010-03-27  Bruno Haible  <bruno@clisp.org>
32932
32933         Resolve conflict between the two kinds of module indicators.
32934         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32935         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32936         * modules/canonicalize (configure.ac): Invoke
32937         gl_MODULE_INDICATOR_FOR_TESTS.
32938         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32939         GNULIB_XYZ.
32940         * tests/test-dirent-c++.cc: Likewise.
32941         * tests/test-dirent-safer.c: Likewise.
32942         * tests/test-dup2.c: Likewise.
32943         * tests/test-fchdir.c: Likewise.
32944         * tests/test-fcntl-h-c++.cc: Likewise.
32945         * tests/test-getopt.c: Likewise.
32946         * tests/test-getopt.h: Likewise.
32947         * tests/test-langinfo-c++.cc: Likewise.
32948         * tests/test-locale-c++.cc: Likewise.
32949         * tests/test-math-c++.cc: Likewise.
32950         * tests/test-pty-c++.cc: Likewise.
32951         * tests/test-search-c++.cc: Likewise.
32952         * tests/test-signal-c++.cc: Likewise.
32953         * tests/test-spawn-c++.cc: Likewise.
32954         * tests/test-stdio-c++.cc: Likewise.
32955         * tests/test-stdlib-c++.cc: Likewise.
32956         * tests/test-string-c++.cc: Likewise.
32957         * tests/test-sys_ioctl-c++.cc: Likewise.
32958         * tests/test-sys_select-c++.cc: Likewise.
32959         * tests/test-sys_socket-c++.cc: Likewise.
32960         * tests/test-sys_stat-c++.cc: Likewise.
32961         * tests/test-sys_time-c++.cc: Likewise.
32962         * tests/test-time-c++.cc: Likewise.
32963         * tests/test-unistd-c++.cc: Likewise.
32964         * tests/test-wchar-c++.cc: Likewise.
32965         * tests/uninorm/test-u8-nfc.c: Likewise.
32966         * tests/uninorm/test-u8-nfd.c: Likewise.
32967         * tests/uninorm/test-u8-nfkc.c: Likewise.
32968         * tests/uninorm/test-u8-nfkd.c: Likewise.
32969         * tests/uninorm/test-u16-nfc.c: Likewise.
32970         * tests/uninorm/test-u16-nfd.c: Likewise.
32971         * tests/uninorm/test-u16-nfkc.c: Likewise.
32972         * tests/uninorm/test-u16-nfkd.c: Likewise.
32973         * tests/uninorm/test-u32-nfc.c: Likewise.
32974         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32975         * tests/uninorm/test-u32-nfd.c: Likewise.
32976         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32977         * tests/uninorm/test-u32-nfkc.c: Likewise.
32978         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32979         * tests/uninorm/test-u32-nfkd.c: Likewise.
32980         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32981         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32982
32983 2010-03-27  Bruno Haible  <bruno@clisp.org>
32984
32985         Distinguish two kinds of module indicators.
32986         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32987         gl_MODULE_INDICATOR.
32988         (gl_MODULE_INDICATOR): New macro.
32989         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32990         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32991         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32992         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32993         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32994         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32995         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32996         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32997         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32998         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32999         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33000         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33001         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33002         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33003         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33004         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33005         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33006         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33007         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33008         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33009         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33010         * modules/cloexec (configure.ac): Likewise.
33011         * modules/getopt-gnu (configure.ac): Likewise.
33012         * modules/uninorm/u8-normalize (configure.ac): Likewise.
33013         * modules/uninorm/u16-normalize (configure.ac): Likewise.
33014         * modules/uninorm/u32-normalize (configure.ac): Likewise.
33015         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
33016
33017 2010-03-27  Bruno Haible  <bruno@clisp.org>
33018
33019         New module description field 'Comment'.
33020         * gnulib-tool: New option --extract-comment.
33021         (func_usage): Document it.
33022         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
33023         (func_get_comment): New function.
33024         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
33025
33026 2010-03-27  Bruno Haible  <bruno@clisp.org>
33027
33028         Addendum to 2010-02-07 commit.
33029         * gnulib-tool (func_usage): Document --extract-applicability option.
33030
33031 2010-03-27  Bruno Haible  <bruno@clisp.org>
33032
33033         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
33034         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
33035         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
33036         rather than link errors.
33037
33038 2010-03-27  Bruno Haible  <bruno@clisp.org>
33039
33040         Avoid side effects from tests-related modules on the compilation of lib.
33041         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
33042         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
33043         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
33044         parameter. Emit into AM_CPPFLAGS a definition of the designated C
33045         macro.
33046         (func_import): Define a witness macro. Assign it a value that depends
33047         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
33048         tests-related modules.
33049         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
33050         Reported by Jim Meyering.
33051
33052 2010-03-27  Bruno Haible  <bruno@clisp.org>
33053
33054         Factorize common .m4 code.
33055         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
33056         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
33057         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
33058         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
33059         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33060         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
33061         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
33062         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33063         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33064         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33065         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
33066         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33067         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33068         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33069         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33070         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
33071         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33072         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33074         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
33075         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
33076         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33077         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33078         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33079         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33080         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33081         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
33082         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
33083         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
33084         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33085         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33086         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33087
33088 2010-03-27  Bruno Haible  <bruno@clisp.org>
33089
33090         Fix a compilation error on Cygwin with g++ >= 4.3.
33091         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
33092         if it is undefined or if we alias it to chmod.
33093         (lstat): Don't warn about the use of this function if it is undefined
33094         or if we alias it to stat.
33095         Reported by Simon Josefsson.
33096
33097 2010-03-27  Bruno Haible  <bruno@clisp.org>
33098
33099         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
33100         * modules/getlogin (configure.ac): Update.
33101
33102         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
33103         * modules/getlogin_r (configure.ac): Update.
33104
33105         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
33106         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
33107         * modules/inet_ntop (configure.ac): Update.
33108
33109         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
33110         * modules/inet_pton (configure.ac): Update.
33111
33112         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
33113         * modules/mbslen (configure.ac): Update.
33114
33115         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
33116         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
33117         * modules/forkpty (configure.ac): Update.
33118         * modules/openpty (configure.ac): Update.
33119
33120 2010-03-26  Simon Josefsson  <simon@josefsson.org>
33121
33122         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
33123         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
33124
33125 2010-03-25  Eric Blake  <eblake@redhat.com>
33126
33127         maint: use pragma consistently across replacement headers
33128         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33129         * lib/dirent.in.h (system_header): Likewise.
33130         * lib/errno.in.h (system_header): Likewise.
33131         * lib/float.in.h (system_header): Likewise.
33132         * lib/getopt.in.h (system_header): Likewise.
33133         * lib/iconv.in.h (system_header): Likewise.
33134         * lib/inttypes.in.h (system_header): Likewise.
33135         * lib/langinfo.in.h (system_header): Likewise.
33136         * lib/locale.in.h (system_header): Likewise.
33137         * lib/math.in.h (system_header): Likewise.
33138         * lib/netdb.in.h (system_header): Likewise.
33139         * lib/netinet_in.in.h (system_header): Likewise.
33140         * lib/pty.in.h (system_header): Likewise.
33141         * lib/sched.in.h (system_header): Likewise.
33142         * lib/se-selinux.in.h (system_header): Likewise.
33143         * lib/search.in.h (system_header): Likewise.
33144         * lib/spawn.in.h (system_header): Likewise.
33145         * lib/stdarg.in.h (system_header): Likewise.
33146         * lib/stdint.in.h (system_header): Likewise.
33147         * lib/string.in.h (system_header): Likewise.
33148         * lib/strings.in.h (system_header): Likewise.
33149         * lib/sys_file.in.h (system_header): Likewise.
33150         * lib/sys_ioctl.in.h (system_header): Likewise.
33151         * lib/sys_socket.in.h (system_header): Likewise.
33152         * lib/sys_times.in.h (system_header): Likewise.
33153         * lib/sys_utsname.in.h (system_header): Likewise.
33154         * lib/sys_wait.in.h (system_header): Likewise.
33155         * lib/sysexits.in.h (system_header): Likewise.
33156         * lib/unistd.in.h (system_header): Likewise.
33157         * lib/wctype.in.h (system_header): Likewise.
33158
33159         arpa/inet: fix mingw compilation warning
33160         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33161         Reported by Matthew Bolte.
33162
33163 2010-03-25  Bruno Haible  <bruno@clisp.org>
33164
33165         Avoid collision between gnulib wrapper and libintl wrapper.
33166         * lib/printf.c (printf): Don't define if a printf wrapper is already
33167         defined in intl/printf.c.
33168         Reported by Michel Boaventura <michel@michelboaventura.com>.
33169
33170 2010-03-25  Bruno Haible  <bruno@clisp.org>
33171
33172         Use ANSI C.
33173         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33174
33175 2010-03-25  Bruno Haible  <bruno@clisp.org>
33176
33177         Minor formatting changes.
33178         * lib/acosl.c: Insert space before function argument list.
33179         * lib/argz.c: Likewise.
33180         * lib/asinl.c: Likewise.
33181         * lib/expl.c: Likewise.
33182         * lib/gen-uni-tables.c: Likewise.
33183         * lib/gettext.h: Likewise.
33184         * lib/glthread/lock.h: Likewise.
33185         * lib/tanl.c: Likewise.
33186         * lib/uniname/uniname.c: Likewise.
33187         * tests/test-idpriv-drop.c: Likewise.
33188         * tests/test-idpriv-droptemp.c: Likewise.
33189         * tests/test-lock.c: Likewise.
33190         * tests/test-tls.c: Likewise.
33191         * lib/argp-help.c: Insert space before function-like macro argument
33192         list.
33193         * lib/memcmp.c: Likewise.
33194         * tests/test-base64.c: Likewise.
33195         * lib/localename.c: Insert space before sizeof's argument list.
33196         * lib/safe-alloc.h: Likewise.
33197         * lib/file-set.h: Insert space before macro argument list.
33198         * tests/test-argp.c: Likewise.
33199         * lib/argp-namefrob.h: Insert space before function parameter list.
33200         * lib/getaddrinfo.c: Likewise.
33201         * lib/netdb.in.h: Likewise.
33202         * lib/parse-duration.h: Likewise.
33203         * lib/parse-duration.c: Likewise.
33204         * lib/poll.c: Likewise.
33205         * lib/select.c: Likewise.
33206         * lib/trim.h: Likewise.
33207         * tests/test-usleep.c: Likewise.
33208         * lib/ldexpl.c: Insert space before function parameter list and before
33209         function argument list.
33210         * lib/logl.c: Likewise.
33211         * lib/sqrtl.c: Likewise.
33212         * lib/trim.c: Likewise.
33213         * lib/cosl.c: Use GNU style indentation. Insert space before function
33214         argument list.
33215         * lib/sinl.c: Likewise.
33216         * lib/tsearch.c: Insert space after 'for'.
33217         Reported by Jim Meyering.
33218
33219 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33220
33221         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33222         config header before grepping, as it's not present before
33223         autoreconf/configure are run.  Reported by Simon Josefsson.
33224
33225 2010-03-23  Bruno Haible  <bruno@clisp.org>
33226
33227         pt_chown: Make it work with automake < 1.11.
33228         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33229         Reported by Simon Josefsson.
33230
33231 2010-03-23  Bruno Haible  <bruno@clisp.org>
33232
33233         pt_chown: Don't depend on GPLed modules.
33234         * lib/pt_chown.c: Don't include idpriv.h.
33235         (main): Don't drop privileges.
33236         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33237         Reported by Simon Josefsson.
33238
33239 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33240
33241         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33242         suggestions from karl@freefriends.org (Karl Berry).
33243
33244 2010-03-22  Eric Blake  <eblake@redhat.com>
33245
33246         gethostname: further tweaks
33247         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33248         are overriding gethostname.
33249         Suggested by Bruno Haible.
33250
33251 2010-03-21  Bruno Haible  <bruno@clisp.org>
33252
33253         Fix comments.
33254         * lib/forkpty.c (rpl_forkpty): Fix comment.
33255         * lib/openpty.c (rpl_openpty): Likewise.
33256         Reported by Eric Blake.
33257
33258 2010-03-22  Eric Blake  <eblake@redhat.com>
33259
33260         gethostname: fix build on mingw
33261         * lib/unistd.in.h (includes): Work around fact that mingw
33262         <winsock2.h> re-includes <unistd.h>, by avoiding any
33263         redeclarations if we are being included by <winsock2.h>.
33264         Reported by Matthias Bolte.
33265
33266 2010-03-21  Bruno Haible  <bruno@clisp.org>
33267
33268         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33269         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33270         modifications.
33271         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33272         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33273         provide the replacement.
33274         * modules/forkpty (Depends-on): Add openpty, login_tty.
33275         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33276         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33277         * doc/glibc-functions/forkpty.texi: More supported platforms.
33278         * config/srclist.txt: Add forkpty.c (commented).
33279
33280 2010-03-21  Bruno Haible  <bruno@clisp.org>
33281
33282         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33283         (Makefile.am): Verify that PTY_LIB is defined.
33284
33285         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33286
33287 2010-03-21  Bruno Haible  <bruno@clisp.org>
33288
33289         Tests for module 'login_tty'.
33290         * modules/login_tty-tests: New file.
33291         * tests/test-login_tty.c: New file.
33292
33293         New module 'login_tty'.
33294         * lib/login_tty.c: New file.
33295         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33296         * modules/login_tty: New file.
33297         * doc/glibc-functions/login_tty.texi: Mention the new module.
33298
33299 2010-03-21  Bruno Haible  <bruno@clisp.org>
33300
33301         login_tty: Documentation.
33302         * doc/glibc-functions/login_tty.texi: New file.
33303         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33304
33305 2010-03-21  Bruno Haible  <bruno@clisp.org>
33306
33307         pty: Consistent macro naming.
33308         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33309         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33310         * modules/pty (configure.ac): Update.
33311
33312 2010-03-21  Bruno Haible  <bruno@clisp.org>
33313
33314         Tests for openpty: Make stricter.
33315         * tests/test-openpty.c (main): Add test of canonical processing and
33316         erase.
33317         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33318
33319         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33320         * lib/openpty.c (openpty): New replacement function.
33321         * lib/pty.in.h: Include <termios.h>.
33322         (openpty): Update declaration. Add comments.
33323         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33324         is not declared, arrange to provide the replacement. Check for _getpty
33325         and posix_openpt.
33326         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33327         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33328         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33329         * modules/pty-tests (test_pty_c___LDADD): New variable.
33330         * doc/glibc-functions/openpty.texi: More supported platforms.
33331
33332 2010-03-21  Bruno Haible  <bruno@clisp.org>
33333
33334         setenv: Tweaks.
33335         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33336         the test program.
33337         * doc/posix-functions/setenv.texi: Update platforms list.
33338
33339 2010-03-21  Bruno Haible  <bruno@clisp.org>
33340
33341         New module 'unlockpt'.
33342         * lib/unlockpt.c: New file, from glibc with modifications.
33343         * m4/unlockpt.m4: New file.
33344         * modules/unlockpt: New file.
33345         * lib/stdlib.in.h (unlockpt): New declaration.
33346         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33347         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33348         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33349         HAVE_UNLOCKPT.
33350         * doc/posix-functions/unlockpt.texi: Mention the new module.
33351         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33352         * config/srclist.txt: Add unlockpt.c (commented).
33353
33354 2010-03-21  Jim Meyering  <meyering@redhat.com>
33355
33356         maint.mk: prohibit inclusion of "intprops.h" without use
33357         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33358
33359 2010-03-21  Bruno Haible  <bruno@clisp.org>
33360
33361         New module 'grantpt'.
33362         * lib/grantpt.c: New file, from glibc with modifications.
33363         * m4/grantpt.m4: New file.
33364         * modules/grantpt: New file.
33365         * lib/stdlib.in.h (grantpt): New declaration.
33366         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33367         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33368         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33369         HAVE_GRANTPT.
33370         * doc/posix-functions/grantpt.texi: Mention the new module.
33371         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33372         * config/srclist.txt: Add grantpt.c (commented).
33373
33374 2010-03-21  Bruno Haible  <bruno@clisp.org>
33375
33376         New module 'pt_chown'.
33377         * lib/pt_chown.c: New file, from glibc with modifications.
33378         * lib/pty-private.h: New file, from glibc with modifications.
33379         * modules/pt_chown: New file.
33380         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33381
33382 2010-03-21  Bruno Haible  <bruno@clisp.org>
33383
33384         Tests for module 'ptsname'.
33385         * modules/ptsname-tests: New file.
33386         * tests/test-ptsname.c: New file.
33387
33388         New module 'ptsname'.
33389         * lib/ptsname.c: New file, from glibc with modifications.
33390         * m4/ptsname.m4: New file.
33391         * modules/ptsname: New file.
33392         * lib/stdlib.in.h (ptsname): New declaration.
33393         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33394         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33395         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33396         HAVE_PTSNAME.
33397         * doc/posix-functions/ptsname.texi: Mention the new module.
33398         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33399         * config/srclist.txt: Add ptsname.c (commented).
33400
33401 2010-03-21  Bruno Haible  <bruno@clisp.org>
33402
33403         Tests for module 'ttyname_r'.
33404         * modules/ttyname_r-tests: New file.
33405         * tests/test-ttyname_r.c: New file.
33406
33407         New module 'ttyname_r'.
33408         * lib/ttyname_r.c: New file.
33409         * m4/ttyname_r.m4: New file.
33410         * modules/ttyname_r: New file.
33411         * lib/unistd.in.h (ttyname_r): New declaration.
33412         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33413         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33414         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33415         HAVE_TTYNAME_R.
33416         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33417         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33418
33419 2010-03-20  Bruno Haible  <bruno@clisp.org>
33420
33421         signal: Undefine macro definitions in C++ mode.
33422         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33423         sigfillset): Undefine macro definitions from the system header in C++
33424         mode.
33425         Reported by John W. Eaton <jwe@gnu.org>.
33426
33427 2010-03-20  Bruno Haible  <bruno@clisp.org>
33428
33429         Ensure no #include statements inside extern "C" { ... }.
33430         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
33431         contain #include statements.
33432         * lib/time.in.h: Likewise.
33433
33434 2010-03-20  Bruno Haible  <bruno@clisp.org>
33435
33436         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
33437         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
33438         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
33439         Reported by John W. Eaton <jwe@gnu.org>.
33440
33441 2010-03-20  Bruno Haible  <bruno@clisp.org>
33442
33443         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
33444         Reported by Jim Meyering.
33445
33446 2010-03-20  Bruno Haible  <bruno@clisp.org>
33447
33448         pipe: Set errno upon failure.
33449         * lib/pipe.h: Specify that when -1 is returned, errno is set.
33450         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
33451         errno value in error message.
33452
33453 2010-03-20  Bruno Haible  <bruno@clisp.org>
33454             Jim Meyering  <meyering@redhat.com>
33455
33456         lchown: Avoid "unused variable" warning.
33457         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33458
33459 2010-03-20  Bruno Haible  <bruno@clisp.org>
33460
33461         Work around unlink() bug on MacOS X 10.5.6.
33462         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33463         attempting to unlink a parent directory.
33464         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33465         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33466         activate for the replacement function.
33467         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33468
33469 2010-03-20  Bruno Haible  <bruno@clisp.org>
33470
33471         Fix link errors on Solaris 8.
33472         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33473         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33474
33475 2010-03-19  Jim Meyering  <meyering@redhat.com>
33476
33477         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33478         The _LIBC implementation of build_range_exp correctly honors the
33479         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33480         However, the non-_LIBC implementation would ignore that syntax-bit
33481         flag and return REG_ERANGE unconditionally.
33482         This change makes it honor that flag.
33483         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33484         Make two pointer parameters "const".
33485         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33486         (parse_bracket_exp): Update caller.
33487
33488         regex.m4: correct the reversed range endpoint ([b-a]) test
33489         * m4/regex.m4: When requiring that [b-a] evoke failure,
33490         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33491         test pass once again for x86-based systems.
33492
33493 2010-03-19  Bruno Haible  <bruno@clisp.org>
33494
33495         scandir: Fix link error on Solaris 8.
33496         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33497         macros.
33498
33499 2010-03-19  Bruno Haible  <bruno@clisp.org>
33500
33501         getusershell: Fix documentation.
33502         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33503         module.
33504         * doc/glibc-functions/setusershell.texi: Likewise.
33505
33506         getusershell: Provide declaration, missing on Solaris 9.
33507         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33508         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33509         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33510         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33512         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33513         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33514         HAVE_GETUSERSHELL.
33515         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33516
33517 2010-03-19  Bruno Haible  <bruno@clisp.org>
33518
33519         wctype: Provide iswblank function.
33520         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33521         exists and is fine.
33522         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33523         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33524         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33525         * doc/posix-functions/iswblank.texi: Update.
33526
33527 2010-03-19  Bruno Haible  <bruno@clisp.org>
33528
33529         Tests of module 'pty' in C++ mode.
33530         * modules/pty-tests: New file.
33531         * tests/test-pty-c++.cc: New file.
33532         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33533
33534 2010-03-19  Eric Blake  <eblake@redhat.com>
33535
33536         logb: fix documentation
33537         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33538         1.5 declaration bug.
33539
33540         forkpty, openpty: prefer glibc's const-safe prototype
33541         * lib/forkpty.c (rpl_forkpty): New file.
33542         * lib/openpty.c (rpl_openpty): Likewise.
33543         * modules/forkpty (Files): Distribute it.
33544         * modules/openpty (Files): Likewise.
33545         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33546         check...
33547         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33548         replacement for for non-const BSD signature.
33549         * modules/pty (Makefile.am): Substitute witnesses.
33550         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33551         * tests/test-forkpty.c: Update signature check.
33552         * tests/test-openpty.c: Likewise.
33553         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33554         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33555
33556         forkpty, openpty: split functions into new modules
33557         * modules/pty (Makefile.am): Substitute new witnesses.
33558         (Libraries): Move library detection...
33559         * modules/forkpty: ...into new module.
33560         * modules/openpty: Another new module.
33561         * modules/pty-tests: Rename and split...
33562         * modules/forkpty-tests: ...to this...
33563         * modules/openpty-tests: ...and this.
33564         * tests/test-pty.c: Rename and split...
33565         * tests/test-forkpty.c: ...to this...
33566         * tests/test-openpty.c: ...and this.
33567         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33568         (gl_PTY): Split library searching...
33569         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33570         (gl_FORKPTY, gl_OPENPTY): New macros.
33571         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33572         * NEWS: Mention the split.
33573         * MODULES.html.sh (Misc): Document the modules.
33574         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33575         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33576
33577         pty: improve replacement header
33578         * lib/pty.in.h: New file.
33579         * modules/pty (Files): Ship it.
33580         (Makefile.am): Always build replacement.
33581         * m4/pty.m4: Rename...
33582         * m4/pty_h.m4: ...to this.
33583         (gl_PTY): Modernize setting of witness macros; update check of
33584         forkpty to take proper advantage of cache.
33585         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33586
33587         getopt: avoid compiler warning
33588         * lib/getopt.c (attribute_hidden): Remove unused macro.
33589
33590 2010-03-18  Bruno Haible  <bruno@clisp.org>
33591
33592         Fix link errors on Solaris 8.
33593         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33594         * modules/search-tests (test_search_c___LDADD): Likewise.
33595         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33596         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33597         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33598         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33599         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33600         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33601         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33602
33603 2010-03-18  Bruno Haible  <bruno@clisp.org>
33604
33605         Fix bug introduced on 2010-03-14.
33606         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33607         (gl_SPAWN_H): Require it.
33608         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33609         Reported by Simon Josefsson.
33610
33611 2010-03-18  Bruno Haible  <bruno@clisp.org>
33612
33613         Fix typo introduced on 2009-12-31.
33614         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33615         posix_spawn_file_actions_adddup2.
33616
33617 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33618         and Eric Blake  <eblake@redhat.com>
33619
33620         test-vc-list-files-git: make more robust
33621         * tests/test-vc-list-files-git.sh: Unset problematic environment
33622         variables.  Chain commands together.
33623
33624 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33625
33626         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33627         `AC_CHECK_DECL' invocation.
33628
33629 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33630
33631         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33632         appears before executable statements. Suggested by Petr Sumbera
33633         <Petr.Sumbera@Sun.COM>.
33634
33635 2010-03-14  Bruno Haible  <bruno@clisp.org>
33636
33637         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33638         portability problems. Instead use a simpler test.
33639         (main): Check that invalid arguments are rejected only on Linux.
33640
33641 2010-03-14  Bruno Haible  <bruno@clisp.org>
33642
33643         Fix bug introduced on 2009-12-31.
33644         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33645         gl_PREREQ_SYS_H_WINSOCK2 always.
33646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33647         SYS_SOCKET_H variable.
33648         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33649         Update comments.
33650         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33651         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33652         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33653         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33654         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33655
33656 2010-03-14  Bruno Haible  <bruno@clisp.org>
33657
33658         Fix values returned by sinl, cosl.
33659         * lib/trigl.h: Add specification comments.
33660         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33661         that combines the values from the precomputed table with the values of
33662         the Chebyshev polynomials.
33663
33664 2010-03-14  Bruno Haible  <bruno@clisp.org>
33665
33666         Fix compilation error when modules 'posix_spawn[p]' are not used.
33667         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33668         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33669
33670 2010-03-14  Bruno Haible  <bruno@clisp.org>
33671
33672         Fix compilation error on mingw when module 'time_r' is not used.
33673         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33674         is 1.
33675         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33676         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33677         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33678         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33679
33680 2010-03-14  Bruno Haible  <bruno@clisp.org>
33681
33682         Fix compilation error with Sun C.
33683         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33684         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33685         instead of GCC specific ULONG_LONG_MAX.
33686         * lib/xstrtoll.c: Likewise.
33687         * lib/xstrtoull.c: Likewise.
33688
33689 2010-03-13  Bruno Haible  <bruno@clisp.org>
33690
33691         Allow the user to disable C++ code and tests.
33692         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33693         (gl_PROG_ANSI_CXX): Require it.
33694
33695 2010-03-13  Bruno Haible  <bruno@clisp.org>
33696
33697         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33698         cases.
33699
33700 2010-03-13  Bruno Haible  <bruno@clisp.org>
33701
33702         Test that gnulib does not break the standard C++ headers.
33703         * tests/test-locale-c++2.cc: New file.
33704         * modules/locale-tests (Files): Add it.
33705         (Makefile.am): Compile it for test-locale-c++.
33706         * tests/test-math-c++2.cc: New file.
33707         * modules/math-tests (Files): Add it.
33708         (Makefile.am): Compile it for test-math-c++.
33709         * tests/test-signal-c++2.cc: New file.
33710         * modules/signal-tests (Files): Add it.
33711         (Makefile.am): Compile it for test-signal-c++.
33712         * tests/test-stdio-c++2.cc: New file.
33713         * modules/stdio-tests (Files): Add it.
33714         (Makefile.am): Compile it for test-stdio-c++.
33715         * tests/test-stdlib-c++2.cc: New file.
33716         * modules/stdlib-tests (Files): Add it.
33717         (Makefile.am): Compile it for test-stdlib-c++.
33718         * tests/test-string-c++2.cc: New file.
33719         * modules/string-tests (Files): Add it.
33720         (Makefile.am): Compile it for test-string-c++.
33721         * tests/test-time-c++2.cc: New file.
33722         * modules/time-tests (Files): Add it.
33723         (Makefile.am): Compile it for test-time-c++.
33724         Reported by John W. Eaton <jwe@gnu.org>.
33725
33726 2010-03-13  Bruno Haible  <bruno@clisp.org>
33727
33728         * gnulib-tool (func_usage): Clarify which options are available for
33729         --create-testdir and --create-megatestdir.
33730
33731 2010-03-13  Bruno Haible  <bruno@clisp.org>
33732
33733         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33734         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33735         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33736         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33737         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33738         when appropriate.
33739         Reported by Jim Meyering.
33740
33741 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33742
33743         * gnulib-tool (func_import): Explain origin of code.
33744
33745 2010-03-12  Bruno Haible  <bruno@clisp.org>
33746
33747         Fix problem with automake's definition of CXXLINK.
33748         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33749         Reported by Simon Josefsson and Ludovic Courtès.
33750
33751 2010-03-12  Bruno Haible  <bruno@clisp.org>
33752
33753         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33754         stable releases.
33755
33756 2010-03-11  Bruno Haible  <bruno@clisp.org>
33757
33758         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33759         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33760         whether the system provides one variant or multiple variants of the
33761         function.
33762         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33763         C++ compilers.
33764         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33765         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33766         Reported by Jim Meyering.
33767
33768 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33769
33770         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33771
33772 2010-03-08  Bruno Haible  <bruno@clisp.org>
33773
33774         gnulib-tool: Add support for --libtool in --create-testdir.
33775         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33776         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33777
33778 2010-03-08  Eric Blake  <eblake@redhat.com>
33779
33780         gnulib-tool.texi: mention possibility of git submodule
33781         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33782         submodules.
33783         * doc/.gitignore: Ignore another generated file.
33784
33785 2010-03-08  Karl Berry  <karl@gnu.org>
33786
33787         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33788         of committing gnulib files while skipping others.
33789
33790 2010-03-07  Bruno Haible  <bruno@clisp.org>
33791
33792         Tests of module 'wctype' in C++ mode.
33793         * tests/test-wctype-c++.cc: New file.
33794         * modules/wctype-tests (Files): Add it and tests/signature.h.
33795         (Depends-on): Add ansi-c++-opt.
33796         (Makefile.am): Arrange to compile and run test-wctype-c++.
33797
33798         Tests of module 'wchar' in C++ mode.
33799         * tests/test-wchar-c++.cc: New file.
33800         * modules/wchar-tests (Files): Add it and tests/signature.h.
33801         (Depends-on): Add ansi-c++-opt.
33802         (Makefile.am): Arrange to compile and run test-wchar-c++.
33803         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33804         gl_MODULE_INDICATOR.
33805
33806         Tests of module 'unistd' in C++ mode.
33807         * tests/test-unistd-c++.cc: New file.
33808         * modules/unistd-tests (Files): Add it and tests/signature.h.
33809         (Depends-on): Add ansi-c++-opt.
33810         (Makefile.am): Arrange to compile and run test-unistd-c++.
33811         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33812         gl_MODULE_INDICATOR.
33813
33814         Tests of module 'time' in C++ mode.
33815         * tests/test-time-c++.cc: New file.
33816         * modules/time-tests (Files): Add it and tests/signature.h.
33817         (Depends-on): Add ansi-c++-opt.
33818         (Makefile.am): Arrange to compile and run test-time-c++.
33819         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33820
33821         Tests of module 'sys_time' in C++ mode.
33822         * tests/test-sys_time-c++.cc: New file.
33823         * modules/sys_time-tests (Files): Add it and tests/signature.h.
33824         (Depends-on): Add ansi-c++-opt.
33825         (Makefile.am): Arrange to compile and run test-sys_time-c++.
33826         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33827         gl_MODULE_INDICATOR.
33828
33829         Tests of module 'sys_stat' in C++ mode.
33830         * tests/test-sys_stat-c++.cc: New file.
33831         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33832         (Depends-on): Add ansi-c++-opt.
33833         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33834         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33835         gl_MODULE_INDICATOR.
33836
33837         Tests of module 'sys_socket' in C++ mode.
33838         * tests/test-sys_socket-c++.cc: New file.
33839         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33840         (Depends-on): Add ansi-c++-opt.
33841         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33842         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33843         gl_MODULE_INDICATOR.
33844
33845         Tests of module 'sys_select' in C++ mode.
33846         * tests/test-sys_select-c++.cc: New file.
33847         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33848         (Depends-on): Add ansi-c++-opt.
33849         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33850         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33851         gl_MODULE_INDICATOR.
33852
33853         Tests of module 'sys_ioctl' in C++ mode.
33854         * tests/test-sys_ioctl-c++.cc: New file.
33855         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33856         (Depends-on): Add ansi-c++-opt.
33857         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33858         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33859         gl_MODULE_INDICATOR.
33860
33861         Tests of module 'string' in C++ mode.
33862         * tests/test-string-c++.cc: New file.
33863         * modules/string-tests (Files): Add it and tests/signature.h.
33864         (Depends-on): Add ansi-c++-opt.
33865         (Makefile.am): Arrange to compile and run test-string-c++.
33866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33867         gl_MODULE_INDICATOR.
33868
33869         Tests of module 'stdlib' in C++ mode.
33870         * tests/test-stdlib-c++.cc: New file.
33871         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33872         (Depends-on): Add ansi-c++-opt.
33873         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33874         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33875         gl_MODULE_INDICATOR.
33876
33877         Tests of module 'stdio' in C++ mode.
33878         * tests/test-stdio-c++.cc: New file.
33879         * modules/stdio-tests (Files): Add it and tests/signature.h.
33880         (Depends-on): Add ansi-c++-opt.
33881         (Makefile.am): Arrange to compile and run test-stdio-c++.
33882         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33883         gl_MODULE_INDICATOR.
33884
33885         Tests of module 'spawn' in C++ mode.
33886         * tests/test-spawn-c++.cc: New file.
33887         * modules/spawn-tests (Files): Add it and tests/signature.h.
33888         (Depends-on): Add ansi-c++-opt.
33889         (Makefile.am): Arrange to compile and run test-spawn-c++.
33890         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33891         gl_MODULE_INDICATOR.
33892
33893         Tests of module 'signal' in C++ mode.
33894         * tests/test-signal-c++.cc: New file.
33895         * modules/signal-tests (Files): Add it and tests/signature.h.
33896         (Depends-on): Add ansi-c++-opt.
33897         (Makefile.am): Arrange to compile and run test-signal-c++.
33898         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33899         gl_MODULE_INDICATOR.
33900
33901         Tests of module 'search' in C++ mode.
33902         * tests/test-search-c++.cc: New file.
33903         * modules/search-tests (Files): Add it and tests/signature.h.
33904         (Depends-on): Add ansi-c++-opt.
33905         (Makefile.am): Arrange to compile and run test-search-c++.
33906         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33907         gl_MODULE_INDICATOR.
33908
33909         Tests of module 'math' in C++ mode.
33910         * tests/test-math-c++.cc: New file.
33911         * modules/math-tests (Files): Add it and tests/signature.h.
33912         (Depends-on): Add ansi-c++-opt.
33913         (Makefile.am): Arrange to compile and run test-math-c++.
33914         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33915
33916         Tests of module 'locale' in C++ mode.
33917         * tests/test-locale-c++.cc: New file.
33918         * modules/locale-tests (Files): Add it and tests/signature.h.
33919         (Depends-on): Add ansi-c++-opt.
33920         (Makefile.am): Arrange to compile and run test-locale-c++.
33921         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33922         gl_MODULE_INDICATOR.
33923
33924         Tests of module 'langinfo' in C++ mode.
33925         * tests/test-langinfo-c++.cc: New file.
33926         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33927         (Depends-on): Add ansi-c++-opt.
33928         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33929         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33930         gl_MODULE_INDICATOR.
33931
33932         Tests of module 'iconv-h' in C++ mode.
33933         * tests/test-iconv-h-c++.cc: New file.
33934         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33935         (Depends-on): Add ansi-c++-opt.
33936         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33937
33938         Tests of module 'glob' in C++ mode.
33939         * tests/test-glob-c++.cc: New file.
33940         * modules/glob-tests (Files): Add it.
33941         (Depends-on): Add ansi-c++-opt.
33942         (Makefile.am): Arrange to compile and run test-glob-c++.
33943
33944         Tests of module 'fcntl-h' in C++ mode.
33945         * tests/test-fcntl-h-c++.cc: New file.
33946         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33947         (Depends-on): Add ansi-c++-opt.
33948         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33949         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33950         gl_MODULE_INDICATOR.
33951
33952         Tests of module 'dirent' in C++ mode.
33953         * tests/test-dirent-c++.cc: New file.
33954         * modules/dirent-tests (Files): Add it and tests/signature.h.
33955         (Depends-on): Add ansi-c++-opt.
33956         (Makefile.am): Arrange to compile and run test-dirent-c++.
33957         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33958         gl_MODULE_INDICATOR.
33959
33960         New module 'ansi-c++-opt'.
33961         * modules/ansi-c++-opt: New file.
33962         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33963
33964         Document C++ namespace mode.
33965         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33966
33967         wctype: Avoid #define replacements in C++ mode.
33968         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33969         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33970         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33971         In C++, define a namespaced alias symbol.
33972         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33973         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33974         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33975         rule.
33976
33977         wchar: Avoid #define replacements in C++ mode.
33978         * lib/wchar.in.h: Include c++defs.h.
33979         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33980         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33981         symbol.
33982         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33983         * modules/wchar (Depends-on): Add c++defs.
33984         (Makefile.am): Update wchar.h rule.
33985
33986         unistd: Avoid #define replacements in C++ mode.
33987         * lib/unistd.in.h: Include c++defs.h.
33988         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33989         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33990         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33991         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33992         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33993         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33994         symbol.
33995         (environ): Update.
33996         * modules/unistd (Depends-on): Add c++defs.
33997         (Makefile.am): Update unistd.h rule.
33998
33999         time: Avoid #define replacements in C++ mode.
34000         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
34001         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
34002         define a namespaced alias symbol.
34003         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
34004         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
34005         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
34006         * modules/time (Depends-on): Add c++defs, warn-on-use.
34007         (Makefile.am): Update time.h rule.
34008         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34009         * modules/nanosleep (configure.ac): Likewise.
34010         * modules/strptime (configure.ac): Likewise.
34011         * modules/timegm (configure.ac): Likewise.
34012
34013         sys_time: Avoid #define replacements in C++ mode.
34014         * lib/sys_time.in.h: Include c++defs.h.
34015         (gettimeofday): In C++, define a namespaced alias symbol.
34016         * modules/sys_time (Depends-on): Add c++defs.
34017         (Makefile.am): Update sys/time.h rule.
34018
34019         sys_stat: Avoid #define replacements in C++ mode.
34020         * lib/sys_stat.in.h: Include c++defs.h.
34021         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
34022         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
34023         namespaced alias symbol.
34024         In C++, define a namespaced alias symbol.
34025         * modules/sys_stat (Depends-on): Add c++defs.
34026         (Makefile.am): Update sys/stat.h rule.
34027
34028         sys_socket: Avoid #define replacements in C++ mode.
34029         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
34030         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
34031         definitions also when the system has a <sys/socket.h>.
34032         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34033         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
34034         In C++, define a namespaced alias symbol.
34035         * modules/sys_socket (Depends-on): Add c++defs.
34036         (Makefile.am): Update sys/socket.h rule.
34037
34038         sys_select: Avoid #define replacements in C++ mode.
34039         * lib/sys_select.in.h: Include c++defs.h. Enable the function
34040         definitions also when the system has a <sys/select.h>.
34041         (select): In C++, define a namespaced alias symbol.
34042         * modules/sys_select (Depends-on): Add c++defs.
34043         (Makefile.am): Update sys/select.h rule.
34044
34045         sys_ioctl: Avoid #define replacements in C++ mode.
34046         * lib/sys_ioctl.in.h: Include c++defs.h.
34047         (ioctl): In C++, define a namespaced alias symbol.
34048         * modules/sys_ioctl (Depends-on): Add c++defs.
34049         (Makefile.am): Update sys/ioctl.h rule.
34050
34051         string: Avoid #define replacements in C++ mode.
34052         * lib/string.in.h: Include c++defs.h.
34053         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
34054         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34055         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34056         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
34057         strsignal, strverscmp): In C++, define a namespaced alias symbol.
34058         * modules/string (Depends-on): Add c++defs.
34059         (Makefile.am): Update string.h rule.
34060
34061         stdlib: Avoid #define replacements in C++ mode.
34062         * lib/stdlib.in.h: Include c++defs.h.
34063         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
34064         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
34065         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
34066         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
34067         symbol.
34068         * modules/stdlib (Depends-on): Add c++defs.
34069         (Makefile.am): Update stdlib.h rule.
34070
34071         stdio: Avoid #define replacements in C++ mode.
34072         * lib/stdio.in.h: Include c++defs.h.
34073         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
34074         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
34075         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
34076         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
34077         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
34078         namespaced alias symbol.
34079         * modules/stdio (Depends-on): Add c++defs.
34080         (Makefile.am): Update stdio.h rule.
34081
34082         spawn: Avoid #define replacements in C++ mode.
34083         * lib/spawn.in.h: Include c++defs.h.
34084         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34085         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34086         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34087         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34088         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34089         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34090         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34091         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34092         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34093         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34094         In C++, define a namespaced alias symbol.
34095         * modules/spawn (Depends-on): Add c++defs.
34096         (Makefile.am): Update spawn.h rule.
34097
34098         signal: Avoid #define replacements in C++ mode.
34099         * lib/signal.in.h: Include c++defs.h.
34100         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34101         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
34102         namespaced alias symbol.
34103         * modules/signal (Depends-on): Add c++defs.
34104         (Makefile.am): Update signal.h rule.
34105
34106         search: Avoid #define replacements in C++ mode.
34107         * lib/search.in.h: Include c++defs.h.
34108         (_gl_search_compar_fn, _gl_search_action_fn): New types.
34109         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
34110         symbol.
34111         * modules/search (Depends-on): Add c++defs.
34112         (Makefile.am): Update search.h rule.
34113
34114         math: Avoid #define replacements in C++ mode.
34115         * lib/math.in.h: Include c++defs.h.
34116         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
34117         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
34118         trunc, truncl): In C++, define a namespaced alias symbol.
34119         * modules/math (Depends-on): Add c++defs.
34120         (Makefile.am): Update math.h rule.
34121
34122         locale: Avoid #define replacements in C++ mode.
34123         * lib/locale.in.h: Include c++defs.h.
34124         (duplocale): In C++, define a namespaced alias symbol.
34125         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
34126         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34127         * modules/locale (Depends-on): Add c++defs.
34128         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34129
34130         langinfo: Avoid #define replacements in C++ mode.
34131         * lib/langinfo.in.h: Include c++defs.h.
34132         (nl_langinfo): In C++, define a namespaced alias symbol.
34133         * modules/langinfo (Depends-on): Add c++defs.
34134         (Makefile.am): Update langinfo.h rule.
34135
34136         iconv-h: Avoid #define replacements in C++ mode.
34137         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34138         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34139         symbol.
34140         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34141         whenever iconv is present.
34142         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34143         (Makefile.am): Update iconv.h rule.
34144
34145         glob: Avoid #define replacements in C++ mode.
34146         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34147         (_gl_glob_errfunc_fn): New type.
34148         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34149         symbol.
34150         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34151         (Makefile.am): Update glob.h rule.
34152
34153         fcntl-h: Avoid #define replacements in C++ mode.
34154         * lib/fcntl.in.h: Include c++defs.h.
34155         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34156         * modules/fcntl-h (Depends-on): Add c++defs.
34157         (Makefile.am): Update fcntl.h rule.
34158
34159         dirent: Avoid #define replacements in C++ mode.
34160         * lib/dirent.in.h: Include c++defs.h.
34161         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34162         namespaced alias symbol.
34163         (dirfd): Update declaration.
34164         * modules/dirent (Depends-on): Add c++defs.
34165         (Makefile.am): Update dirent.h rule.
34166
34167         ctype: Make it usable in C++ code.
34168         * lib/ctype.in.h: Include c++defs.h.
34169         (isblank): Declare as extern "C".
34170         * modules/ctype (Depends-on): Add c++defs.
34171         (Makefile.am): Update ctype.h rule.
34172
34173         New module 'c++defs'.
34174         * modules/c++defs: New file.
34175         * build-aux/c++defs.h: New file.
34176         Reported by John W. Eaton <jwe@gnu.org>.
34177
34178 2010-03-07  Bruno Haible  <bruno@clisp.org>
34179
34180         logb: Provide missing declaration for Cygwin.
34181         * lib/math.in.h (logb): New declaration.
34182         * m4/logb.m4: New file.
34183         * modules/logb (Files): Add m4/logb.m4.
34184         (Depends-on): Add math.
34185         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34186         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34188         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34189         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34190
34191 2010-03-07  Bruno Haible  <bruno@clisp.org>
34192
34193         Fix test-cond link error.
34194         * tests/test-cond.c: Include <stdio.h>.
34195
34196 2010-03-07  Bruno Haible  <bruno@clisp.org>
34197
34198         Fix test-dirent-safer link error.
34199         * modules/dirent-safer-tests (Makefile.am): Define
34200         test_dirent_safer_LDADD.
34201
34202 2010-03-07  Bruno Haible  <bruno@clisp.org>
34203
34204         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34205         among default module list.
34206
34207 2010-03-07  Bruno Haible  <bruno@clisp.org>
34208
34209         Fix link error on platforms with GNU libiconv.
34210         * modules/unistr/u8-strcoll-tests (Makefile): Define
34211         test_u8_strcoll_LDADD.
34212         * modules/unistr/u16-strcoll-tests (Makefile): Define
34213         test_u16_strcoll_LDADD.
34214         * modules/unistr/u32-strcoll-tests (Makefile): Define
34215         test_u32_strcoll_LDADD.
34216
34217 2010-03-07  Bruno Haible  <bruno@clisp.org>
34218
34219         Use POSIX declarations for socket functions.
34220         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34221         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34222         rpl_sendto): Change declaration to match POSIX.
34223         * lib/connect.c (rpl_connect): Likewise.
34224         * lib/accept.c (rpl_accept): Likewise.
34225         * lib/bind.c (rpl_bind): Likewise.
34226         * lib/getpeername.c (rpl_getpeername): Likewise.
34227         * lib/getsockname.c (rpl_getsockname): Likewise.
34228         * lib/recv.c (rpl_recv): Likewise.
34229         * lib/send.c (rpl_send): Likewise.
34230         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34231         * lib/sendto.c (rpl_sendto): Likewise.
34232
34233 2010-03-06  Bruno Haible  <bruno@clisp.org>
34234
34235         Clarify access, euidaccess, faccessat.
34236         * doc/posix-functions/faccessat.texi: Mention security problem under
34237         "Other problems", not "Portability problems".
34238         * doc/posix-functions/access.texi: Likewise. Mention a related security
34239         problem.
34240         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34241         * lib/euidaccess.c: Add comments about platforms.
34242         * lib/unistd.in.h (access, euidaccess): Add warnings.
34243
34244 2010-03-07  Bruno Haible  <bruno@clisp.org>
34245
34246         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34247         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34248         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34249         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34250         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34251         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34252         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34253         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34254         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34255         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34256         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34257         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34258         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34259         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34260         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34261         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34262         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34263         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34264         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34265         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34266         Likewise.
34267         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34268         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34269         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34270         Likewise.
34271         * tests/test-spawn.c (main): Make it work when
34272         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34273
34274 2010-03-07  Bruno Haible  <bruno@clisp.org>
34275
34276         Fix incorrect Makefile.am generation in German locale.
34277         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34278         Execute sed command with character range in C locale.
34279
34280 2010-03-06  Bruno Haible  <bruno@clisp.org>
34281
34282         Tests for module 'iconv-h'.
34283         * modules/iconv-h-tests: New file.
34284         * tests/test-iconv-h.c: New file.
34285
34286         New module 'iconv-h'.
34287         * modules/iconv-h: New file.
34288         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34289         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34290         (configure.ac): Remove gl_ICONV_H.
34291         (Makefile.am): Remove rule for iconv.h.
34292
34293 2010-03-06  Bruno Haible  <bruno@clisp.org>
34294
34295         More consistent naming of *.m4 files.
34296         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34297         * modules/wctype (Files): Update.
34298
34299         More consistent naming of *.m4 files.
34300         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34301         * modules/wchar (Files): Update.
34302
34303 2010-03-06  Jim Meyering  <meyering@redhat.com>
34304
34305         euidaccess: relax license to LGPLv2+
34306         * modules/euidaccess (License): Relax to LGPLv2+.
34307
34308 2010-03-06  Bruno Haible  <bruno@clisp.org>
34309
34310         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34311         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34312         (Makefile.am): Augment lib_SOURCES instead.
34313
34314 2010-03-04  Jim Meyering  <meyering@redhat.com>
34315
34316         utime: remove obsolete module
34317         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34318         unnecessary for years, and has been marked as obsolete for 10 months.
34319         * modules/utime: Remove file.
34320         * lib/utime.c: Remove file.
34321         * m4/utime.m4: Remove file.
34322         * m4/utimes-null.m4: Remove file.
34323         * doc/posix-functions/utime.texi (utime): Remove reference to
34324         the module.  Move the sole "fixed by gnulib" item into the
34325         "problems not fixed by Gnulib" list.
34326         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34327
34328 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34329
34330         * modules/exit (License): Relax license to LGPLv2+.
34331         (Status): Mark as obsolete.
34332         * NEWS: Mention deprecated 'exit' module.
34333         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34334         of now obsolete 'exit'.
34335
34336 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34337
34338         fts-lgpl: remove unused module
34339         * modules/fts-lgpl: Remove.
34340         * MODULES.html.sh (func_all_modules): Adjust.
34341         * check-module (find_included_lib_files): Adjust.
34342         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34343
34344 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34345
34346         copy-acl: enhance Solaris ACL error handling
34347         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34348         * lib/set-mode-acl.c (qset_acl): Likewise.
34349
34350 2010-03-02  Bruno Haible  <bruno@clisp.org>
34351
34352         spawn: Don't override the system defined values on FreeBSD 8.
34353         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34354         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34355         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34356         if HAVE_POSIX_SPAWN is 1.
34357         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34358
34359 2010-03-01  Bruno Haible  <bruno@clisp.org>
34360
34361         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34362         regarding Automake.
34363
34364 2010-02-25  Bruno Haible  <bruno@clisp.org>
34365
34366         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34367         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34368         setting, not afterwards.
34369         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34370
34371 2010-02-24  Eric Blake  <eblake@redhat.com>
34372
34373         bootstrap, git-version-gen: use timestamp
34374         * build-aux/git-version-gen (scriptversion): Force UTC.
34375         * build-aux/bootstrap (scriptversion): New variable.
34376
34377         bootstrap: allow older git
34378         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34379         older than 1.6.4.  Requested by the libvirt project.
34380
34381 2010-02-23  Eric Blake  <eblake@redhat.com>
34382
34383         warn-on-use: work with old autoconf
34384         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34385         AS_VAR semantics of autoconf 2.60.
34386         Reported by Bruno Haible.
34387
34388         bootstrap: improve some comments
34389         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34390         clarification comments.
34391
34392         gettimeofday: provide correct function
34393         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34394         when replacement is declared, otherwise provide gettimeofday.
34395         Reported by Michael Goffioul.
34396
34397 2010-02-23  Jim Meyering  <meyering@redhat.com>
34398
34399         lib-ignore: relax license to "unlimited", not LGPLv2+
34400         * modules/lib-ignore (License): Relax to "unlimited".
34401
34402 2010-02-23  Jim Meyering  <meyering@redhat.com>
34403
34404         lib-ignore: relax license to LGPLv2+
34405         * modules/lib-ignore (License): Relax to LGPLv2+.
34406
34407 2010-02-22  Eric Blake  <eblake@redhat.com>
34408
34409         lseek: avoid bash 3.2 broken pipe bug
34410         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34411         warning from bash 3.2.
34412         Reported by Ben Pfaff, with analysis from Bruno Haible.
34413
34414         bootstrap: support non-FSF copyright holder
34415         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34416         bootstrap.conf override of COPYRIGHT_HOLDER.
34417         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34418
34419         bootstrap: interoperate with gettext 0.14.1
34420         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34421
34422         bootstrap: allow for alternate submodule location
34423         * build-aux/bootstrap (gnulib_path): New variable; use instead of
34424         hardcoding submodule location.
34425         (gnulib_mk): Allow direct use of Makefile.am.
34426
34427         bootstrap: use GNULIB_SRCDIR to reduce disk usage
34428         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
34429         rather than reconfiguring where the submodule points.
34430
34431         gettimeofday: restore support for platforms that lack function
34432         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
34433         replacement if function is missing.
34434         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
34435         * modules/sys_time (Makefile.am): Substitute it.
34436         * lib/sys_time.in.h (gettimeofday): Check it.
34437         Reported by Michael Goffioul.
34438
34439 2010-02-21  Bruno Haible  <bruno@clisp.org>
34440
34441         * lib/stdio.in.h (obstack_printf): Fix typo.
34442
34443 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
34444
34445         vc-list-files: use bzr ls's -R option
34446         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
34447         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
34448
34449 2010-02-21  Jim Meyering  <meyering@redhat.com>
34450
34451         init.sh: fix EXEEXT shims to work also for names like test-prog
34452         * tests/init.sh: Re-exec a better shell, when needed.
34453         If the current shell lacks support for posix $(...), an init.sh-using
34454         test will now try to find a shell that supports that.  If EXEEXT is
34455         nonempty, we also require support for hyphen-in-alias-name and shell
34456         substitutions like ${var#glob}.  Failure to find such a shell results
34457         in a skipped test.
34458
34459 2010-02-21  Bruno Haible  <bruno@clisp.org>
34460
34461         Really work around around "broken pipe" error message from bash 3.2.
34462         * gnulib-tool (func_reset_sigpipe): Remove function.
34463         (echo): In bash 3.2, define to a function that uses printf.
34464         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34465
34466 2010-02-20  Bruno Haible  <bruno@clisp.org>
34467
34468         Restore support for automake 1.9.6 with autoconf 2.61.
34469         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34470         Reported by James Youngman <jay@gnu.org>.
34471
34472 2010-02-20  Bruno Haible  <bruno@clisp.org>
34473
34474         Improve *printf warning condition.
34475         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34476         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34477         and the function is overridden due to SIGPIPE emulation.
34478
34479 2010-02-20  Bruno Haible  <bruno@clisp.org>
34480
34481         * lib/stdio.in.h: Tweak comments.
34482
34483 2010-02-19  Bruno Haible  <bruno@clisp.org>
34484
34485         Make it easier to find modules. New gnulib-tool option '--find'.
34486         * gnulib-tool: New option --find.
34487         (func_usage): Document it.
34488         (func_sanitize_modulelist): New function, extracted from
34489         func_all_modules.
34490         (func_all_modules): Invoke it.
34491         * doc/gnulib-tool.texi (Which modules?): New node.
34492
34493 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34494
34495         * lib/sys_select.in.h: Provide select replacement even if
34496         sys/select.h exists on a system, for Interix.
34497
34498 2010-02-18  Jim Meyering  <meyering@redhat.com>
34499
34500         init.sh: don't use $(...) just yet
34501         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34502         to accommodate e.g., Solaris' /bin/sh.
34503
34504 2010-02-17  Bruno Haible  <bruno@clisp.org>
34505
34506         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34507         Reported by Ludovic Courtès <ludo@gnu.org>.
34508
34509 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34510
34511         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34512         linking with -lintl.
34513
34514 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34515
34516         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34517         if not provided by the system's netdb.h.  Reported by
34518         ludo@gnu.org (Ludovic Courtès).
34519
34520 2010-02-15  Jim Meyering  <meyering@redhat.com>
34521
34522         init.sh: improve portability and efficiency
34523         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34524         "dummy" in a for loop.
34525         Use '!', not '^' to select the complement of a character set used
34526         in a "case" statement.
34527         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34528         Suggestions from Eric Blake.
34529
34530         init.sh: automatically accommodate programs with the .exe suffix
34531         Automatically arrange for an invocation of "prog" to execute the
34532         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34533         may use the simpler "prog", yet still work when built on a system
34534         that requires specifying the added suffix.
34535         Do this by constructing a function named "prog" that invokes
34536         "prog.exe" for each .exe file in selected directories.
34537         * tests/init.sh (find_exe_basenames_): New function.
34538         (create_exe_shim_functions_): New function.
34539         (path_prepend_): Use it.
34540
34541         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34542         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34543         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34544
34545 2010-02-14  Jim Meyering  <meyering@redhat.com>
34546
34547         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34548         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34549         (sc_prohibit_hash_pjw_without_use): New rule.
34550
34551         maint.mk: allow the default upload destination dir to be overridden
34552         * top/maint.mk (upload_dest_dir_): Define with a default that
34553         preserves the status quo.
34554         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34555         Reported by Peter Simons.
34556
34557         maint.mk: prohibit inclusion of "hash.h" without_use
34558         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34559
34560 2010-02-10  Jim Meyering  <meyering@redhat.com>
34561
34562         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34563         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34564
34565 2010-02-09  Eric Blake  <ebb9@byu.net>
34566         and Bruno Haible  <bruno@clisp.org>
34567
34568         obstack-printf-posix: ensure declaration
34569         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34570         extracted from gl_FUNC_OBSTACK_PRINTF.
34571         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34572         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34573         Likewise.
34574         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34575         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34576         0.
34577
34578 2010-02-08  Bruno Haible  <bruno@clisp.org>
34579
34580         gnulib-tool: Fix typo in 2010-02-07 commit.
34581         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34582         Reported by Eric Blake.
34583
34584 2010-02-07  Bruno Haible  <bruno@clisp.org>
34585
34586         gnulib-tool: Fix up caching patches.
34587         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34588         option --no-cache. Use associative arrays when supported by the shell.
34589         (sed_comments): New variable.
34590         (modcache): Renamed from do_cache.
34591         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34592         abbreviate unnecessarily.
34593         (have_associative): New variable.
34594         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34595         way also for ksh and zsh.
34596         (func_init_sed_convert_to_cache_statements): New function, extracted
34597         from func_cache_lookup_module. Add support for associative arrays.
34598         Don't set the c_MODULE_cached variable here. Ignore all lines before
34599         the first field header. Remove only the final newline, not all trailing
34600         newlines. Support empty fields correctly. Limit the use of 'eval' to
34601         assignments.
34602         (func_get_description, func_get_status, func_get_notice,
34603         func_get_applicability, func_get_filelist, func_get_dependencies,
34604         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34605         func_get_automake_snippet, func_get_include_directive,
34606         func_get_link_directive, func_get_license, func_get_maintainer):
34607         Update documentation. List the unoptimized code first. Add support for
34608         associative arrays. Limit the use of 'eval' to assignments.
34609         (func_get_applicability): Undo stylistic pessimisations.
34610         (func_get_automake_snippet, func_get_include_directive): Reduce code
34611         duplication.
34612         (func_modules_transitive_closure, func_modules_add_dummy,
34613         func_modules_notice, func_modules_to_filelist, func_add_file,
34614         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34615         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34616         func_create_testdir, func_create_megatestdir): Update documentation.
34617
34618 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34619
34620         * gnulib-tool (func_cache_lookup_module): Store the module name
34621         belonging to the cache variable; error out if two different
34622         module names map to the same cache variable name.
34623
34624 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34625
34626         gnulib-tool: Make caching optional.
34627         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34628         Update matching short versions of --no-changelog.
34629         (func_usage): Update.
34630         (sed_extract_cache_prog): Renamed from ...
34631         (sed_extract_prog): ... this; revert to old extraction script.
34632         (func_get_description, func_get_status)
34633         (func_get_notice, func_get_applicability, func_get_filelist)
34634         (func_get_dependencies, func_get_autoconf_early_snippet)
34635         (func_get_autoconf_snippet, func_get_automake_snippet)
34636         (func_get_include_directive, func_get_link_directive)
34637         (func_get_license, func_get_maintainer): If $do_cache is false,
34638         use old, non-caching extraction scripts.
34639         Suggestion by Bruno Haible.
34640
34641 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34642
34643         gnulib-tool: cache module metainformation.
34644         * gnulib-tool (sed_extract_prog): Match newline before each
34645         header, and rewrite header to a shell variable suffix.
34646         (func_cache_var, func_cache_lookup_module): New functions,
34647         to turn a module name into a cache variable prefix, and to
34648         look up and cache module metainformation.
34649         (func_get_description, func_get_status)
34650         (func_get_notice, func_get_applicability, func_get_filelist)
34651         (func_get_dependencies, func_get_autoconf_early_snippet)
34652         (func_get_autoconf_snippet, func_get_automake_snippet)
34653         (func_get_include_directive, func_get_link_directive)
34654         (func_get_license, func_get_maintainer): Use
34655         func_cache_lookup_module.
34656
34657 2010-02-07  Bruno Haible  <bruno@clisp.org>
34658
34659         fnctl: Fix missing dependency.
34660         * modules/fcntl (Depends-on): Add getdtablesize.
34661         Reported by John W. Eaton <jwe@gnu.org>.
34662
34663 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34664
34665         Argp: fix recognition of short alias options.
34666
34667         * lib/argp-parse.c (convert_options): Fix improper use of
34668         `|' between character values.
34669         * tests/test-argp.c (group1_option): New alias option
34670         --read (-r).
34671         (group1_parser): Special handling for 'r'.
34672         (test15): New test case.
34673         (test_fun): Add test15.
34674         * tests/test-argp-2.sh: Update expected --help and --usage
34675         outputs.
34676
34677 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34678
34679         * tests/test-argp.c: Fix indentation.
34680
34681 2010-02-04  Eric Blake  <ebb9@byu.net>
34682
34683         gettimeofday: expose type of second argument
34684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34685         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34686         * tests/test-gettimeofday.c: Use it to silence warning.
34687         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34688         the issue.
34689
34690 2010-02-03  Jim Meyering  <meyering@redhat.com>
34691
34692         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34693         * lib/regcomp.c (TYPE_SIGNED): Define.
34694         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34695
34696         regcomp.c: avoid a new -Wshadow warning
34697         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34698
34699 2010-02-01  Jim Meyering  <meyering@redhat.com>
34700
34701         removing useless parentheses in cpp #define directives
34702         For motivation, see commit c0221df4, "define STREQ(a,b)
34703         consistently, removing useless parentheses"
34704         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34705         * lib/mountlist.c (MNT_IGNORE): Likewise.
34706         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34707
34708 2010-02-01  Eric Blake  <ebb9@byu.net>
34709
34710         sys_time: use link-warning
34711         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34712         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34713         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34714         * modules/sys_time (Depends-on): Add warn-on-use.
34715         (Makefile.am): Always build replacement.
34716         (configure.ac): Update substitutions.
34717         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34718         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34719         bother with SYS_TIME_H.
34720         * modules/gettimeofday (configure.ac): Declare indicator.
34721         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34722         in use.
34723
34724         closein-tests: silence compiler warning
34725         * tests/test-closein.c (main): Ignore fread result.
34726         * modules/closein-tests (Depends-on): Add ignore-value.
34727
34728         tests: silence warning about system return
34729         * tests/test-areadlink-with-size.c (main): Ignore system result.
34730         * tests/test-areadlink.c (main): Likewise.
34731         * tests/test-areadlinkat-with-size.c (main): Likewise.
34732         * tests/test-areadlinkat.c (main): Likewise.
34733         * tests/test-canonicalize-lgpl.c (main): Likewise.
34734         * tests/test-canonicalize.c (main): Likewise.
34735         * tests/test-chown.c (main): Likewise.
34736         * tests/test-fchownat.c (main): Likewise.
34737         * tests/test-fdutimensat.c (main): Likewise.
34738         * tests/test-fstatat.c (main): Likewise.
34739         * tests/test-futimens.c (main): Likewise.
34740         * tests/test-lchown.c (main): Likewise.
34741         * tests/test-link.c (main): Likewise.
34742         * tests/test-linkat.c (main): Likewise.
34743         * tests/test-lstat.c (main): Likewise.
34744         * tests/test-mkdir.c (main): Likewise.
34745         * tests/test-mkdirat.c (main): Likewise.
34746         * tests/test-mkfifo.c (main): Likewise.
34747         * tests/test-mkfifoat.c (main): Likewise.
34748         * tests/test-mknod.c (main): Likewise.
34749         * tests/test-readlink.c (main): Likewise.
34750         * tests/test-remove.c (main): Likewise.
34751         * tests/test-rename.c (main): Likewise.
34752         * tests/test-renameat.c (main): Likewise.
34753         * tests/test-rmdir.c (main): Likewise.
34754         * tests/test-symlink.c (main): Likewise.
34755         * tests/test-symlinkat.c (main): Likewise.
34756         * tests/test-unlink.c (main): Likewise.
34757         * tests/test-unlinkat.c (main): Likewise.
34758         * tests/test-utimens.c (main): Likewise.
34759         * tests/test-utimensat.c (main): Likewise.
34760         * modules/areadlink-tests (Depends-on): Add ignore-value.
34761         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34762         * modules/areadlinkat-tests (Depends-on): Likewise.
34763         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34764         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34765         * modules/canonicalize-tests (Depends-on): Likewise.
34766         * modules/chown-tests (Depends-on): Likewise.
34767         * modules/fdutimensat-tests (Depends-on): Likewise.
34768         * modules/futimens-tests (Depends-on): Likewise.
34769         * modules/lchown-tests (Depends-on): Likewise.
34770         * modules/link-tests (Depends-on): Likewise.
34771         * modules/linkat-tests (Depends-on): Likewise.
34772         * modules/lstat-tests (Depends-on): Likewise.
34773         * modules/mkdir-tests (Depends-on): Likewise.
34774         * modules/mkfifo-tests (Depends-on): Likewise.
34775         * modules/mkfifoat-tests (Depends-on): Likewise.
34776         * modules/mknod-tests (Depends-on): Likewise.
34777         * modules/openat-tests (Depends-on): Likewise.
34778         * modules/readlink-tests (Depends-on): Likewise.
34779         * modules/remove-tests (Depends-on): Likewise.
34780         * modules/rename-tests (Depends-on): Likewise.
34781         * modules/renameat-tests (Depends-on): Likewise.
34782         * modules/rmdir-tests (Depends-on): Likewise.
34783         * modules/symlink-tests (Depends-on): Likewise.
34784         * modules/symlinkat-tests (Depends-on): Likewise.
34785         * modules/unlink-tests (Depends-on): Likewise.
34786         * modules/utimens-tests (Depends-on): Likewise.
34787         * modules/utimensat-tests (Depends-on): Likewise.
34788
34789 2010-01-31  Bruno Haible  <bruno@clisp.org>
34790
34791         Perform the same test for many <math.h> functions.
34792         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34793         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34794         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34795         of gl_MATHFUNC.
34796         * modules/acos (configure.ac): Likewise.
34797         * modules/asin (configure.ac): Likewise.
34798         * modules/atan (configure.ac): Likewise.
34799         * modules/atan2 (configure.ac): Likewise.
34800         * modules/cbrt (configure.ac): Likewise.
34801         * modules/copysign (configure.ac): Likewise.
34802         * modules/cos (configure.ac): Likewise.
34803         * modules/cosh (configure.ac): Likewise.
34804         * modules/erf (configure.ac): Likewise.
34805         * modules/erfc (configure.ac): Likewise.
34806         * modules/exp (configure.ac): Likewise.
34807         * modules/fmod (configure.ac): Likewise.
34808         * modules/hypot (configure.ac): Likewise.
34809         * modules/j0 (configure.ac): Likewise.
34810         * modules/j1 (configure.ac): Likewise.
34811         * modules/jn (configure.ac): Likewise.
34812         * modules/lgamma (configure.ac): Likewise.
34813         * modules/log (configure.ac): Likewise.
34814         * modules/log10 (configure.ac): Likewise.
34815         * modules/log1p (configure.ac): Likewise.
34816         * modules/pow (configure.ac): Likewise.
34817         * modules/remainder (configure.ac): Likewise.
34818         * modules/sin (configure.ac): Likewise.
34819         * modules/sinh (configure.ac): Likewise.
34820         * modules/tan (configure.ac): Likewise.
34821         * modules/tanh (configure.ac): Likewise.
34822         * modules/y0 (configure.ac): Likewise.
34823         * modules/y1 (configure.ac): Likewise.
34824         * modules/yn (configure.ac): Likewise.
34825         Suggested by Paolo Bonzini.
34826
34827 2010-01-31  Bruno Haible  <bruno@clisp.org>
34828
34829         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34830
34831 2010-01-31  Bruno Haible  <bruno@clisp.org>
34832
34833         Work around getdelim() bug on FreeBSD 8.0.
34834         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34835         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34836         not work.
34837         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34838         is 1.
34839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34840         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34841         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34842         a non-zero size.
34843         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34844
34845 2010-01-31  Bruno Haible  <bruno@clisp.org>
34846
34847         Work around getline() bug on FreeBSD 8.0.
34848         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34849         and a non-zero size.
34850         * tests/test-getline.c (main): Likewise.
34851         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34852         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34853
34854 2010-01-28  Eric Blake  <ebb9@byu.net>
34855
34856         regex: fix build failure
34857         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34858         platforms.
34859
34860 2010-01-28  Jim Meyering  <meyering@redhat.com>
34861
34862         regex: do not ignore memory allocation failure
34863         * lib/regex_internal.c (create_cd_newstate): Detect
34864         re_node_set_init_copy failure.   Extracted from glibc commit
34865         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34866
34867         regex: sync more white-space changes from libc
34868         * lib/regex_internal.c: White-space only changes.
34869         * lib/regexec.c: Likewise.
34870
34871         regex: add many uses of __attribute_warn_unused_result__
34872         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34873         * lib/regexec.c: Likewise.
34874         Extracted from a messy glibc commit.
34875
34876         regcomp.c: spelling and merge-artifact from glibc
34877         * lib/regcomp.c: Merge remainder of glibc's
34878         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34879
34880         regcomp.c: sync white-space changes from glibc
34881         * lib/regcomp.c: Merge to accommodate white space
34882         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34883
34884         regcomp.c: do not ignore internal return values
34885         * lib/regcomp.c: Do not ignore internal return values.
34886         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34887         but without its white-space changes and spelling fixes.
34888
34889         regex_internal.h: define __attribute_warn_unused_result__
34890         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34891
34892         maint: add a syntax-check rule to check for vulnerable Makefile.in
34893         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34894
34895 2010-01-27  Jim Meyering  <meyering@redhat.com>
34896
34897         ncftpput-ftp: clean up spaces
34898         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34899         Remove trailing blanks.
34900
34901 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34902
34903         * build-aux/git-version-gen: Fix copyright statement.
34904         * build-aux/gnupload: Likewise.
34905         * tests/test-arcfour.c: Likewise.
34906         * tests/test-arctwo.c: Likewise.
34907         * tests/test-count-one-bits.c: Likewise.
34908         * tests/test-crc.c: Likewise.
34909         * tests/test-des.c: Likewise.
34910         * tests/test-gc-arcfour.c: Likewise.
34911         * tests/test-gc-arctwo.c: Likewise.
34912         * tests/test-gc-des.c: Likewise.
34913         * tests/test-gc-hmac-md5.c: Likewise.
34914         * tests/test-gc-hmac-sha1.c: Likewise.
34915         * tests/test-gc-md2.c: Likewise.
34916         * tests/test-gc-md4.c: Likewise.
34917         * tests/test-gc-md5.c: Likewise.
34918         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34919         * tests/test-gc-rijndael.c: Likewise.
34920         * tests/test-gc-sha1.c: Likewise.
34921         * tests/test-gc.c: Likewise.
34922         * tests/test-gethostname.c: Likewise.
34923         * tests/test-gettimeofday.c: Likewise.
34924         * tests/test-hash.c: Likewise.
34925         * tests/test-hmac-md5.c: Likewise.
34926         * tests/test-hmac-sha1.c: Likewise.
34927         * tests/test-md2.c: Likewise.
34928         * tests/test-md4.c: Likewise.
34929         * tests/test-md5.c: Likewise.
34930         * tests/test-memchr.c: Likewise.
34931         * tests/test-memchr2.c: Likewise.
34932         * tests/test-memcmp.c: Likewise.
34933         * tests/test-memmem.c: Likewise.
34934         * tests/test-memrchr.c: Likewise.
34935         * tests/test-rawmemchr.c: Likewise.
34936         * tests/test-read-file.c: Likewise.
34937         * tests/test-rijndael.c: Likewise.
34938         * tests/test-sockets.c: Likewise.
34939         * tests/test-strchrnul.c: Likewise.
34940         * tests/test-strstr.c: Likewise.
34941         * tests/test-strtod.c: Likewise.
34942         * build-aux/ncftpput-ftp: Likewise.
34943
34944 2010-01-26  Eric Blake  <ebb9@byu.net>
34945
34946         ignore-value: update recommended header name
34947         * modules/ignore-value (Include): Only use <> for headers that
34948         exist in glibc.
34949
34950 2010-01-26  Jim Meyering  <meyering@redhat.com>
34951
34952         test-userspec.c: avoid compiler warnings
34953         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34954         and "initialization discards qualifiers..." warnings.
34955         Put the first "uid" in its own scope, and make char* members "const".
34956
34957 2010-01-25  Bruno Haible  <bruno@clisp.org>
34958
34959         gnulib-tool: Make warning diagnostics consistent.
34960         * gnulib-tool (func_warning): New function.
34961         Use it everywhere where gnulib-tool produces output to stderr and it is
34962         not a fatal error.
34963
34964 2010-01-25  Bruno Haible  <bruno@clisp.org>
34965
34966         Fix test dependencies.
34967         * modules/xstrtol-tests (Depends-on): Add inttypes.
34968         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34969
34970 2010-01-25 Pádraig Brady <P@draigBrady.com>
34971
34972         syntax-check: detect incorrect boolean macro values in config.h
34973         * modules/maintainer-makefile (configure.ac): Parameterize the location
34974         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34975         The logic is from Eric Blake and the location indicated by Jim Meyering.
34976         Note the more natural CONFIG_HEADER name is prohibited by automake
34977         for backwards compatibility reasons.
34978         * top/maint.mk (sc_Wundef_boolean): New rule.
34979
34980 2010-01-25  Jim Meyering  <meyering@redhat.com>
34981
34982         bootstrap: detect MacOS 10.6's shasum, too
34983         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34984         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34985
34986 2010-01-23  Jim Meyering  <meyering@redhat.com>
34987
34988         xstrtoll: new module
34989         * modules/xstrtoll: New file.
34990         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34991         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34992         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34993         ./configure fails if you use this module and lack "long long".
34994         * modules/xstrtoll-tests: New module.
34995         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34996         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34997         new init.sh-based test framework.
34998
34999 2010-01-24  Bruno Haible  <bruno@clisp.org>
35000
35001         Tests for module 'yn'.
35002         * modules/yn-tests: New file.
35003         * tests/test-yn.c: New file.
35004
35005         Tests for module 'y1'.
35006         * modules/y1-tests: New file.
35007         * tests/test-y1.c: New file.
35008
35009         Tests for module 'y0'.
35010         * modules/y0-tests: New file.
35011         * tests/test-y0.c: New file.
35012
35013         Tests for module 'tanh'.
35014         * modules/tanh-tests: New file.
35015         * tests/test-tanh.c: New file.
35016
35017         Tests for module 'tan'.
35018         * modules/tan-tests: New file.
35019         * tests/test-tan.c: New file.
35020
35021         Tests for module 'sqrt'.
35022         * modules/sqrt-tests: New file.
35023         * tests/test-sqrt.c: New file.
35024
35025         Tests for module 'sinh'.
35026         * modules/sinh-tests: New file.
35027         * tests/test-sinh.c: New file.
35028
35029         Tests for module 'sin'.
35030         * modules/sin-tests: New file.
35031         * tests/test-sin.c: New file.
35032
35033         Tests for module 'rint'.
35034         * modules/rint-tests: New file.
35035         * tests/test-rint.c: New file.
35036
35037         Tests for module 'remainder'.
35038         * modules/remainder-tests: New file.
35039         * tests/test-remainder.c: New file.
35040
35041         Tests for module 'pow'.
35042         * modules/pow-tests: New file.
35043         * tests/test-pow.c: New file.
35044
35045         Tests for module 'nextafter'.
35046         * modules/nextafter-tests: New file.
35047         * tests/test-nextafter.c: New file.
35048
35049         Tests for module 'modf'.
35050         * modules/modf-tests: New file.
35051         * tests/test-modf.c: New file.
35052
35053         Tests for module 'logb'.
35054         * modules/logb-tests: New file.
35055         * tests/test-logb.c: New file.
35056
35057         Tests for module 'log1p'.
35058         * modules/log1p-tests: New file.
35059         * tests/test-log1p.c: New file.
35060
35061         Tests for module 'log10'.
35062         * modules/log10-tests: New file.
35063         * tests/test-log10.c: New file.
35064
35065         Tests for module 'log'.
35066         * modules/log-tests: New file.
35067         * tests/test-log.c: New file.
35068
35069         Tests for module 'lgamma'.
35070         * modules/lgamma-tests: New file.
35071         * tests/test-lgamma.c: New file.
35072
35073         Tests for module 'ldexp'.
35074         * modules/ldexp-tests: New file.
35075         * tests/test-ldexp.c: New file.
35076
35077         Tests for module 'jn'.
35078         * modules/jn-tests: New file.
35079         * tests/test-jn.c: New file.
35080
35081         Tests for module 'j1'.
35082         * modules/j1-tests: New file.
35083         * tests/test-j1.c: New file.
35084
35085         Tests for module 'j0'.
35086         * modules/j0-tests: New file.
35087         * tests/test-j0.c: New file.
35088
35089         Tests for module 'hypot'.
35090         * modules/hypot-tests: New file.
35091         * tests/test-hypot.c: New file.
35092
35093         Tests for module 'fmod'.
35094         * modules/fmod-tests: New file.
35095         * tests/test-fmod.c: New file.
35096
35097         Tests for module 'fabs'.
35098         * modules/fabs-tests: New file.
35099         * tests/test-fabs.c: New file.
35100
35101         Tests for module 'exp'.
35102         * modules/exp-tests: New file.
35103         * tests/test-exp.c: New file.
35104
35105         Tests for module 'erfc'.
35106         * modules/erfc-tests: New file.
35107         * tests/test-erfc.c: New file.
35108
35109         Tests for module 'erf'.
35110         * modules/erf-tests: New file.
35111         * tests/test-erf.c: New file.
35112
35113         Tests for module 'cosh'.
35114         * modules/cosh-tests: New file.
35115         * tests/test-cosh.c: New file.
35116
35117         Tests for module 'cos'.
35118         * modules/cos-tests: New file.
35119         * tests/test-cos.c: New file.
35120
35121         Tests for module 'copysign'.
35122         * modules/copysign-tests: New file.
35123         * tests/test-copysign.c: New file.
35124
35125         Tests for module 'cbrt'.
35126         * modules/cbrt-tests: New file.
35127         * tests/test-cbrt.c: New file.
35128
35129         Tests for module 'atan2'.
35130         * modules/atan2-tests: New file.
35131         * tests/test-atan2.c: New file.
35132
35133         Tests for module 'atan'.
35134         * modules/atan-tests: New file.
35135         * tests/test-atan.c: New file.
35136
35137         Tests for module 'asin'.
35138         * modules/asin-tests: New file.
35139         * tests/test-asin.c: New file.
35140
35141         Tests for module 'acos'.
35142         * modules/acos-tests: New file.
35143         * tests/test-acos.c: New file.
35144
35145 2010-01-24  Bruno Haible  <bruno@clisp.org>
35146
35147         Fix tests for common <math.h> functions.
35148         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35149         code snippet that references the function pointer, rather than merely
35150         calling the function. Substitute the FUNC_LIBM variable.
35151         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35152         * modules/acos (configure.ac): Likewise.
35153         * modules/asin (configure.ac): Likewise.
35154         * modules/atan (configure.ac): Likewise.
35155         * modules/atan2 (configure.ac): Likewise.
35156         * modules/cbrt (configure.ac): Likewise.
35157         * modules/copysign (configure.ac): Likewise.
35158         * modules/cos (configure.ac): Likewise.
35159         * modules/cosh (configure.ac): Likewise.
35160         * modules/erf (configure.ac): Likewise.
35161         * modules/erfc (configure.ac): Likewise.
35162         * modules/exp (configure.ac): Likewise.
35163         * modules/fabs (configure.ac): Likewise.
35164         * modules/fmod (configure.ac): Likewise.
35165         * modules/hypot (configure.ac): Likewise.
35166         * modules/j0 (configure.ac): Likewise.
35167         * modules/j1 (configure.ac): Likewise.
35168         * modules/jn (configure.ac): Likewise.
35169         * modules/ldexp (configure.ac): Likewise.
35170         * modules/lgamma (configure.ac): Likewise.
35171         * modules/log (configure.ac): Likewise.
35172         * modules/log10 (configure.ac): Likewise.
35173         * modules/log1p (configure.ac): Likewise.
35174         * modules/logb (configure.ac): Likewise.
35175         * modules/modf (configure.ac): Likewise.
35176         * modules/nextafter (configure.ac): Likewise.
35177         * modules/pow (configure.ac): Likewise.
35178         * modules/remainder (configure.ac): Likewise.
35179         * modules/rint (configure.ac): Likewise.
35180         * modules/sin (configure.ac): Likewise.
35181         * modules/sinh (configure.ac): Likewise.
35182         * modules/tan (configure.ac): Likewise.
35183         * modules/tanh (configure.ac): Likewise.
35184         * modules/y0 (configure.ac): Likewise.
35185         * modules/y1 (configure.ac): Likewise.
35186         * modules/yn (configure.ac): Likewise.
35187
35188 2010-01-24  Bruno Haible  <bruno@clisp.org>
35189
35190         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35191         * tests/test-acosl.c (x): New variable.
35192         (main): Store argument in x and fetch it from x.
35193         * tests/test-asinl.c (x): New variable.
35194         (main): Store argument in x and fetch it from x.
35195         * tests/test-atanl.c (x): New variable.
35196         (main): Store argument in x and fetch it from x.
35197         * tests/test-cosl.c (x): New variable.
35198         (main): Store argument in x and fetch it from x.
35199         * tests/test-expl.c (x): New variable.
35200         (main): Store argument in x and fetch it from x.
35201         * tests/test-logl.c (x): New variable.
35202         (main): Store argument in x and fetch it from x.
35203         * tests/test-sinl.c (x): New variable.
35204         (main): Store argument in x and fetch it from x.
35205         * tests/test-sqrtl.c (x): New variable.
35206         (main): Store argument in x and fetch it from x.
35207         * tests/test-tanl.c (x): New variable.
35208         (main): Store argument in x and fetch it from x.
35209
35210 2010-01-24  Bruno Haible  <bruno@clisp.org>
35211
35212         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35213         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35214         assignments to the initial TESTS_ENVIRONMENT.
35215         * doc/gnulib.texi (Unit test modules): Document it.
35216         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35217         TESTS_ENVIRONMENT.
35218         * modules/btowc-tests (Makefile.am): Likewise.
35219         * modules/c-stack-tests (Makefile.am): Likewise.
35220         * modules/c-strcase-tests (Makefile.am): Likewise.
35221         * modules/copy-file-tests (Makefile.am): Likewise.
35222         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35223         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35224         * modules/mbrtowc-tests (Makefile.am): Likewise.
35225         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35226         * modules/mbscasestr-tests (Makefile.am): Likewise.
35227         * modules/mbschr-tests (Makefile.am): Likewise.
35228         * modules/mbscspn-tests (Makefile.am): Likewise.
35229         * modules/mbsinit-tests (Makefile.am): Likewise.
35230         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35231         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35232         * modules/mbspbrk-tests (Makefile.am): Likewise.
35233         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35234         * modules/mbsrchr-tests (Makefile.am): Likewise.
35235         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35236         * modules/mbsspn-tests (Makefile.am): Likewise.
35237         * modules/mbsstr-tests (Makefile.am): Likewise.
35238         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35239         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35240         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35241         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35242         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35243         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35244         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35245         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35246         * modules/wcrtomb-tests (Makefile.am): Likewise.
35247         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35248         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35249         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35250         assignments from TESTS_ENVIRONMENT.
35251         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35252         augmentation.
35253         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35254         * modules/atexit-tests (Makefile.am): Likewise.
35255         * modules/binary-io-tests (Makefile.am): Likewise.
35256         * modules/closein-tests (Makefile.am): Likewise.
35257         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35258         * modules/exclude-tests (Makefile.am): Likewise.
35259         * modules/fflush-tests (Makefile.am): Likewise.
35260         * modules/fpending-tests (Makefile.am): Likewise.
35261         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35262         * modules/freadahead-tests (Makefile.am): Likewise.
35263         * modules/freadptr-tests (Makefile.am): Likewise.
35264         * modules/freadseek-tests (Makefile.am): Likewise.
35265         * modules/fseek-tests (Makefile.am): Likewise.
35266         * modules/fseeko-tests (Makefile.am): Likewise.
35267         * modules/ftell-tests (Makefile.am): Likewise.
35268         * modules/ftello-tests (Makefile.am): Likewise.
35269         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35270         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35271         * modules/lseek-tests (Makefile.am): Likewise.
35272         * modules/parse-duration-tests (Makefile.am): Likewise.
35273         * modules/perror-tests (Makefile.am): Likewise.
35274         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35275         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35276         * modules/pipe-tests (Makefile.am): Likewise.
35277         * modules/pread-tests (Makefile.am): Likewise.
35278         * modules/printf-posix-tests (Makefile.am): Likewise.
35279         * modules/select-tests (Makefile.am): Likewise.
35280         * modules/sigpipe-tests (Makefile.am): Likewise.
35281         * modules/tsearch-tests (Makefile.am): Likewise.
35282         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35283         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35284         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35285         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35286         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35287         * modules/version-etc-tests (Makefile.am): Likewise.
35288         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35289         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35290         * modules/xalloc-die-tests (Makefile.am): Likewise.
35291         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35292         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35293         * modules/xstrtol-tests (Makefile.am): Likewise.
35294         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35295         * modules/yesno-tests (Makefile.am): Likewise.
35296         Suggested by Jim Meyering.
35297
35298 2010-01-24  Bruno Haible  <bruno@clisp.org>
35299
35300         More documentation.
35301         * doc/gnulib.texi (Writing modules): New chapter.
35302         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35303         the new chapter.
35304
35305 2010-01-24  Jim Meyering  <meyering@redhat.com>
35306
35307         maint.mk: do not prepend "./" after filtering
35308         * top/maint.mk (_prepend_srcdir_prefix): New variable
35309         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35310         "./" when $(srcdir) is ".".
35311
35312         define STREQ(a,b) consistently, removing useless parentheses
35313         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35314         since the only risk is that "a" or "b" contains an unparenthesized
35315         comma, but if either did that, STREQ would have 3 or more arguments.
35316         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35317         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35318         * lib/hash-triple.c (STREQ): Likewise.
35319         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35320         * lib/getugroups.c (STREQ): Likewise.
35321
35322 2010-01-23  Jim Meyering  <meyering@redhat.com>
35323
35324         maint.mk: fix syntax-check in a non-srcdir build directory
35325         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35326         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35327
35328 2010-01-22  Jim Meyering  <meyering@redhat.com>
35329
35330         userspec: add unit tests
35331         * tests/test-userspec.c: New file.
35332         * modules/userspec-tests: Likewise.
35333
35334 2010-01-21  Jim Meyering  <meyering@redhat.com>
35335
35336         maint.mk: handle source file names containing "." robustly
35337         * top/maint.mk (_dot_escaped_srcdir): Define.
35338         (VC_LIST): Use it in LHS of sed substitution.
35339
35340 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35341
35342         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35343         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35344         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35345         from a non-srcdir build.
35346
35347 2010-01-20  Eric Blake  <ebb9@byu.net>
35348
35349         warn-on-use: use instead of link-warning
35350         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35351         * modules/unistd (Depends-on, Makefile.am): Likewise.
35352         * modules/arpa_inet (Depends-on): Replace link-warning with
35353         warn-on-use.
35354         (Makefile.am): Update rules accordingly.
35355         * modules/ctype (Depends-on, Makefile.am): Likewise.
35356         * modules/dirent (Depends-on, Makefile.am): Likewise.
35357         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35358         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35359         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35360         * modules/locale (Depends-on, Makefile.am): Likewise.
35361         * modules/math (Depends-on, Makefile.am): Likewise.
35362         * modules/search (Depends-on, Makefile.am): Likewise.
35363         * modules/signal (Depends-on, Makefile.am): Likewise.
35364         * modules/spawn (Depends-on, Makefile.am): Likewise.
35365         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35366         * modules/string (Depends-on, Makefile.am): Likewise.
35367         * modules/strings (Depends-on, Makefile.am): Likewise.
35368         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35369         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35370         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35371         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35372         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35373         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35374         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35375         * modules/wchar (Depends-on, Makefile.am): Likewise.
35376         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35377         should be poisoned.
35378         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35379         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35380         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35381         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35382         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35383         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35384         * m4/math_h.m4 (gl_MATH_H): Likewise.
35385         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35386         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35387         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35388         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35389         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35390         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35391         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35392         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35393         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35394         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35395         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35396         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35397         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35399         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35400         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35401         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35402         GL_LINK_WARNING.
35403         * lib/ctype.in.h: Likewise.
35404         * lib/dirent.in.h: Likewise.
35405         * lib/fcntl.in.h: Likewise.
35406         * lib/inttypes.in.h: Likewise.
35407         * lib/langinfo.in.h: Likewise.
35408         * lib/locale.in.h: Likewise.
35409         * lib/math.in.h: Likewise.
35410         * lib/search.in.h: Likewise.
35411         * lib/signal.in.h: Likewise.
35412         * lib/spawn.in.h: Likewise.
35413         * lib/stdio.in.h: Likewise.
35414         * lib/stdlib.in.h: Likewise.
35415         * lib/string.in.h: Likewise.
35416         * lib/strings.in.h: Likewise.
35417         * lib/sys_file.in.h: Likewise.
35418         * lib/sys_ioctl.in.h: Likewise.
35419         * lib/sys_select.in.h: Likewise.
35420         * lib/sys_socket.in.h: Likewise.
35421         * lib/sys_stat.in.h: Likewise.
35422         * lib/sys_times.in.h: Likewise.
35423         * lib/sys_utsname.in.h: Likewise.
35424         * lib/unistd.in.h: Likewise.
35425         * lib/wchar.in.h: Likewise.
35426
35427 2010-01-20  Bruno Haible  <bruno@clisp.org>
35428
35429         Avoid duplicate -lm.
35430         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
35431         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
35432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
35433         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
35434         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
35435         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
35436         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
35437         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
35438         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
35439         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
35440         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
35441         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
35442         Reported by Paolo Bonzini.
35443
35444 2010-01-19  Bruno Haible  <bruno@clisp.org>
35445
35446         langinfo, nl_langinfo: Relicense under LGPLv2+.
35447         * modules/langinfo (License): Change to LGPLv2+.
35448         * modules/nl_langinfo (License): Likewise.
35449         Patch by David Lutterkort <lutter@redhat.com>.
35450
35451 2010-01-19  Bruno Haible  <bruno@clisp.org>
35452
35453         Avoid compilation error with cc on OSF/1 5.1.
35454         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
35455         statement, not before.
35456         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35457
35458 2010-01-18  Bruno Haible  <bruno@clisp.org>
35459
35460         Avoid a link error due to the __printf__ symbol.
35461         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35462         and 2.6.x.
35463         (__format__, __printf__): Remove definitions.
35464         * lib/argp-fmtstream.h: Likewise.
35465         * lib/argp.h: Likewise.
35466         * lib/error.h: Likewise.
35467         * lib/vasnprintf.h: Likewise.
35468         * lib/xprintf.h: Likewise.
35469         * lib/xvasprintf.h: Likewise.
35470         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35471
35472 2010-01-18  Bruno Haible  <bruno@clisp.org>
35473
35474         Tests for module 'tanl'.
35475         * modules/tanl-tests: New file.
35476         * tests/test-tanl.c: New file.
35477
35478         Tests for module 'sqrtl'.
35479         * modules/sqrtl-tests: New file.
35480         * tests/test-sqrtl.c: New file.
35481
35482         Tests for module 'sinl'.
35483         * modules/sinl-tests: New file.
35484         * tests/test-sinl.c: New file.
35485
35486         Tests for module 'logl'.
35487         * modules/logl-tests: New file.
35488         * tests/test-logl.c: New file.
35489
35490         Tests for module 'expl'.
35491         * modules/expl-tests: New file.
35492         * tests/test-expl.c: New file.
35493
35494         Tests for module 'cosl'.
35495         * modules/cosl-tests: New file.
35496         * tests/test-cosl.c: New file.
35497
35498         Tests for module 'atanl'.
35499         * modules/atanl-tests: New file.
35500         * tests/test-atanl.c: New file.
35501
35502         Tests for module 'asinl'.
35503         * modules/asinl-tests: New file.
35504         * tests/test-asinl.c: New file.
35505
35506         Tests for module 'acosl'.
35507         * modules/acosl-tests: New file.
35508         * tests/test-acosl.c: New file.
35509
35510         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35511         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35512         tanl): Use the standard gnulib idiom.
35513         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35514         * lib/sinl.c: Likewise.
35515         * lib/tanl.c: Don't include trigl.c.
35516         (kernel_tanl): Make static.
35517         * lib/sincosl.c: Include trigl.h first.
35518         * lib/trigl.c: Likewise.
35519         * m4/acosl.m4: New file.
35520         * m4/asinl.m4: New file.
35521         * m4/atanl.m4: New file.
35522         * m4/cosl.m4: New file.
35523         * m4/expl.m4: New file.
35524         * m4/logl.m4: New file.
35525         * m4/sinl.m4: New file.
35526         * m4/sqrtl.m4: New file.
35527         * m4/tanl.m4: New file.
35528         * m4/mathl.m4: Remove file.
35529         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35530         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35531         Don't initialize GNULIB_MATHL.
35532         * modules/acosl: New file.
35533         * modules/asinl: New file.
35534         * modules/atanl: New file.
35535         * modules/cosl: New file.
35536         * modules/expl: New file.
35537         * modules/logl: New file.
35538         * modules/sinl: New file.
35539         * modules/sqrtl: New file.
35540         * modules/tanl: New file.
35541         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35542         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35543         substitute GNULIB_MATHL.
35544         * modules/mathl: Rewritten.
35545         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35546         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35547         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35548         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35549         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35550         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35551         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35552         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35553         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35554
35555 2010-01-18  Bruno Haible  <bruno@clisp.org>
35556
35557         sqrt: Make gl_FUNC_SQRT requirable.
35558         * m4/sqrt.m4: New file.
35559         * modules/sqrt (Files): Add it.
35560         (configure.ac): Invoke gl_FUNC_SQRT.
35561
35562 2010-01-18  Bruno Haible  <bruno@clisp.org>
35563
35564         New modules for common <math.h> functions.
35565         * m4/mathfunc.m4: New file.
35566         * modules/acos: New file.
35567         * modules/asin: New file.
35568         * modules/atan: New file.
35569         * modules/atan2: New file.
35570         * modules/cbrt: New file.
35571         * modules/copysign: New file.
35572         * modules/cos: New file.
35573         * modules/cosh: New file.
35574         * modules/erf: New file.
35575         * modules/erfc: New file.
35576         * modules/exp: New file.
35577         * modules/fabs: New file.
35578         * modules/fmod: New file.
35579         * modules/hypot: New file.
35580         * modules/j0: New file.
35581         * modules/j1: New file.
35582         * modules/jn: New file.
35583         * modules/ldexp: New file.
35584         * modules/lgamma: New file.
35585         * modules/log: New file.
35586         * modules/log10: New file.
35587         * modules/log1p: New file.
35588         * modules/logb: New file.
35589         * modules/modf: New file.
35590         * modules/nextafter: New file.
35591         * modules/pow: New file.
35592         * modules/remainder: New file.
35593         * modules/rint: New file.
35594         * modules/sin: New file.
35595         * modules/sinh: New file.
35596         * modules/sqrt: New file.
35597         * modules/tan: New file.
35598         * modules/tanh: New file.
35599         * modules/y0: New file.
35600         * modules/y1: New file.
35601         * modules/yn: New file.
35602         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35603         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35604         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35605         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35606         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35607         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35608         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35609         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35610         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35611         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35612         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35613         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35614         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35615         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35616         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35617         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35618         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35619         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35620         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35621         * doc/posix-functions/log.texi: Mention the 'log' module.
35622         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35623         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35624         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35625         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35626         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35627         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35628         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35629         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35630         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35631         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35632         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35633         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35634         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35635         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35636         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35637         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35638
35639 2010-01-18  Jim Meyering  <meyering@redhat.com>
35640
35641         ignore-value: relax license to LGPLv2+
35642         * modules/ignore-value (License): Relax to LGPLv2+.
35643
35644         getdate: don't leak when TZ contains two or more '"'s
35645         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35646         double quote in TZ after the first one.
35647
35648         readtokens: do not leak internal token_lengths buffer
35649         * lib/readtokens.c (readtokens): Free the local, lengths,
35650         when the supplied "token_lengths" parameter is NULL.
35651
35652 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35653
35654         Fix a couple of missing LIBTHREAD link failures on AIX.
35655         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35656         $(LIBTHREAD).
35657         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35658
35659         Link test-poll against INET_PTON_LIB.
35660         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35661         for inet_pton on Solaris 10.
35662
35663 2010-01-17  Bruno Haible  <bruno@clisp.org>
35664
35665         unistdio/*-sprintf: Fix typo in module description.
35666         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35667         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35668         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35669         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35670         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35671         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35672         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35673         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35674
35675 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35676
35677         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35678         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35679         variables in shell case patterns, for AIX and HP-UX ksh.
35680
35681         Split large sed scripts, for HP-UX sed.
35682         * modules/stdio: Split sed scripts around 50 sed commands,
35683         to avoid HP-UX limit of 99 commands, in the near future.
35684         * modules/string: Likewise.
35685         * modules/unistd: Likewise.
35686
35687         gnulib-tool: avoid writing in the current directory.
35688         * gnulib-tool (func_emit_lib_Makefile_am)
35689         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35690         not in the current directory, so concurrent gnulib-tool
35691         instances do not interfere.
35692
35693 2010-01-16  Jim Meyering  <meyering@redhat.com>
35694
35695         doc: update users.txt
35696         * users.txt: Add grep.
35697         (diffutils, gzip): Update URLs.
35698
35699 2010-01-12  Bruno Haible  <bruno@clisp.org>
35700
35701         posix_spawn: Avoid test failure on Cygwin.
35702         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35703         characters.
35704         Reported by Simon Josefsson.
35705
35706 2010-01-12  Bruno Haible  <bruno@clisp.org>
35707
35708         * tests/test-cond.c (main): When skipping the test, show the reason.
35709
35710 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35711
35712         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35713
35714 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35715
35716         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35717         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35718
35719 2010-01-12  Eric Blake  <ebb9@byu.net>
35720
35721         build: guarantee AS_VAR_IF
35722         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35723         (gl_AS_VAR_IF): Move...
35724         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35725         Reported by Simon Josefsson.
35726
35727 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35728
35729         * lib/stdio.in.h: Fix typo.
35730
35731 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35732
35733         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35734         libgpg-error.
35735
35736 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35737
35738         * tests/test-xalloc-die.sh: Use $EXEEXT.
35739
35740 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35741             Bruno Haible  <bruno@clisp.org>
35742
35743         getlogin, getlogin_r: Avoid test failure.
35744         * tests/test-getlogin.c: Include <stdio.h>.
35745         (main): Skip the test when the function fails because stdin is not a
35746         tty.
35747         * tests/test-getlogin_r.c: Include <stdio.h>.
35748         (main): Skip the test when the function fails because stdin is not a
35749         tty.
35750
35751 2010-01-11  Eric Blake  <ebb9@byu.net>
35752
35753         tests: avoid more large file warnings
35754         * tests/test-fflush.c: Avoid warning about ftell use.
35755         * tests/test-fseek.c: Avoid warning about fseek use.
35756
35757 2010-01-10  Bruno Haible  <bruno@clisp.org>
35758
35759         nproc: Work better on Linux when /proc and /sys are not mounted.
35760         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35761         as lower bound when, on glibc/Linux systems,
35762         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35763         Suggested by Pádraig Brady <P@draigbrady.com>.
35764         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35765
35766         nproc: Refactor.
35767         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35768         extracted from num_processors.
35769         (num_processors): Call it.
35770
35771 2010-01-11  Jim Meyering  <meyering@redhat.com>
35772
35773         utimecmp: avoid new warning from upcoming gcc-4.5.0
35774         * lib/utimecmp.c (BILLION): Define using #define rather than an
35775         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35776
35777 2010-01-11  Eric Blake  <ebb9@byu.net>
35778
35779         math: add portability warnings for classification macros
35780         * modules/math (Depends-on): Add warn-on-use.
35781         (Makefile.am): Provide new substitutions.
35782         * m4/math_h.m4 (gl_MATH_H): Require inline.
35783         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35784         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35785         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35786         implement warnings.
35787
35788         unistd: warn on use of environ without module
35789         * modules/unistd (Depends-on): Add warn-on-use.
35790         (Makefile.am): Provide new substitutions.
35791         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35792         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35793
35794         stdio: warn on suspicious uses
35795         * modules/stdio (Depends-on): Add warn-on-use.
35796         (Makefile.am): Provide new substitutions.
35797         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35798         fseeko.
35799         * lib/stdio.in.h (gets): Always warn on use.
35800         (fseek, ftell): Adjust when warnings are issued, and honor
35801         _GL_NO_LARGE_FILES as a way to silence the warning.
35802         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35803         any warning about large file offsets.
35804         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35805         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35806         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35807         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35808         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35809         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35810         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35811         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35812
35813         warn-on-use: new module
35814         * modules/warn-on-use: New file.
35815         * build-aux/warn-on-use.h: Likewise.
35816         * m4/warn-on-use.m4: Likewise.
35817         * MODULES.html.sh (Support for building): Mention it.
35818
35819 2010-01-10  Bruno Haible  <bruno@clisp.org>
35820
35821         Tests for module 'unistr/u32-strdup'.
35822         * modules/unistr/u32-strdup-tests: New file.
35823         * tests/unistr/test-u32-strdup.c: New file.
35824
35825         Tests for module 'unistr/u16-strdup'.
35826         * modules/unistr/u16-strdup-tests: New file.
35827         * tests/unistr/test-u16-strdup.c: New file.
35828
35829         Tests for module 'unistr/u8-strdup'.
35830         * modules/unistr/u8-strdup-tests: New file.
35831         * tests/unistr/test-u8-strdup.c: New file.
35832         * tests/unistr/test-strdup.h: New file.
35833
35834         Tests for module 'unistr/u32-strncmp'.
35835         * modules/unistr/u32-strncmp-tests: New file.
35836         * tests/unistr/test-u32-strncmp.c: New file.
35837
35838         Tests for module 'unistr/u16-strncmp'.
35839         * modules/unistr/u16-strncmp-tests: New file.
35840         * tests/unistr/test-u16-strncmp.c: New file.
35841
35842         Tests for module 'unistr/u8-strncmp'.
35843         * modules/unistr/u8-strncmp-tests: New file.
35844         * tests/unistr/test-u8-strncmp.c: New file.
35845         * tests/unistr/test-strncmp.h: New file.
35846
35847         Tests for module 'unistr/u32-strcoll'.
35848         * modules/unistr/u32-strcoll-tests: New file.
35849         * tests/unistr/test-u32-strcoll.c: New file.
35850
35851         Tests for module 'unistr/u16-strcoll'.
35852         * modules/unistr/u16-strcoll-tests: New file.
35853         * tests/unistr/test-u16-strcoll.c: New file.
35854
35855         Tests for module 'unistr/u8-strcoll'.
35856         * modules/unistr/u8-strcoll-tests: New file.
35857         * tests/unistr/test-u8-strcoll.c: New file.
35858
35859         Tests for module 'unistr/u32-strcmp'.
35860         * modules/unistr/u32-strcmp-tests: New file.
35861         * tests/unistr/test-u32-strcmp.c: New file.
35862         * tests/unistr/test-u32-strcmp.h: New file.
35863
35864         Tests for module 'unistr/u16-strcmp'.
35865         * modules/unistr/u16-strcmp-tests: New file.
35866         * tests/unistr/test-u16-strcmp.c: New file.
35867         * tests/unistr/test-u16-strcmp.h: New file.
35868
35869         Tests for module 'unistr/u8-strcmp'.
35870         * modules/unistr/u8-strcmp-tests: New file.
35871         * tests/unistr/test-u8-strcmp.c: New file.
35872         * tests/unistr/test-u8-strcmp.h: New file.
35873         * tests/unistr/test-strcmp.h: New file.
35874
35875         Tests for module 'unistr/u32-strncat'.
35876         * modules/unistr/u32-strncat-tests: New file.
35877         * tests/unistr/test-u32-strncat.c: New file.
35878
35879         Tests for module 'unistr/u16-strncat'.
35880         * modules/unistr/u16-strncat-tests: New file.
35881         * tests/unistr/test-u16-strncat.c: New file.
35882
35883         Tests for module 'unistr/u8-strncat'.
35884         * modules/unistr/u8-strncat-tests: New file.
35885         * tests/unistr/test-u8-strncat.c: New file.
35886         * tests/unistr/test-strncat.h: New file.
35887
35888         Tests for module 'unistr/u32-strcat'.
35889         * modules/unistr/u32-strcat-tests: New file.
35890         * tests/unistr/test-u32-strcat.c: New file.
35891
35892         Tests for module 'unistr/u16-strcat'.
35893         * modules/unistr/u16-strcat-tests: New file.
35894         * tests/unistr/test-u16-strcat.c: New file.
35895
35896         Tests for module 'unistr/u8-strcat'.
35897         * modules/unistr/u8-strcat-tests: New file.
35898         * tests/unistr/test-u8-strcat.c: New file.
35899         * tests/unistr/test-strcat.h: New file.
35900
35901         Tests for module 'unistr/u32-stpncpy'.
35902         * modules/unistr/u32-stpncpy-tests: New file.
35903         * tests/unistr/test-u32-stpncpy.c: New file.
35904
35905         Tests for module 'unistr/u16-stpncpy'.
35906         * modules/unistr/u16-stpncpy-tests: New file.
35907         * tests/unistr/test-u16-stpncpy.c: New file.
35908
35909         Tests for module 'unistr/u8-stpncpy'.
35910         * modules/unistr/u8-stpncpy-tests: New file.
35911         * tests/unistr/test-u8-stpncpy.c: New file.
35912         * tests/unistr/test-stpncpy.h: New file.
35913
35914         Tests for module 'unistr/u32-strncpy'.
35915         * modules/unistr/u32-strncpy-tests: New file.
35916         * tests/unistr/test-u32-strncpy.c: New file.
35917
35918         Tests for module 'unistr/u16-strncpy'.
35919         * modules/unistr/u16-strncpy-tests: New file.
35920         * tests/unistr/test-u16-strncpy.c: New file.
35921
35922         Tests for module 'unistr/u8-strncpy'.
35923         * modules/unistr/u8-strncpy-tests: New file.
35924         * tests/unistr/test-u8-strncpy.c: New file.
35925         * tests/unistr/test-strncpy.h: New file.
35926
35927         Tests for module 'unistr/u32-stpcpy'.
35928         * modules/unistr/u32-stpcpy-tests: New file.
35929         * tests/unistr/test-u32-stpcpy.c: New file.
35930
35931         Tests for module 'unistr/u16-stpcpy'.
35932         * modules/unistr/u16-stpcpy-tests: New file.
35933         * tests/unistr/test-u16-stpcpy.c: New file.
35934
35935         Tests for module 'unistr/u8-stpcpy'.
35936         * modules/unistr/u8-stpcpy-tests: New file.
35937         * tests/unistr/test-u8-stpcpy.c: New file.
35938         * tests/unistr/test-stpcpy.h: New file.
35939
35940         Tests for module 'unistr/u32-strcpy'.
35941         * modules/unistr/u32-strcpy-tests: New file.
35942         * tests/unistr/test-u32-strcpy.c: New file.
35943
35944         Tests for module 'unistr/u16-strcpy'.
35945         * modules/unistr/u16-strcpy-tests: New file.
35946         * tests/unistr/test-u16-strcpy.c: New file.
35947
35948         Tests for module 'unistr/u8-strcpy'.
35949         * modules/unistr/u8-strcpy-tests: New file.
35950         * tests/unistr/test-u8-strcpy.c: New file.
35951         * tests/unistr/test-strcpy.h: New file.
35952
35953         Tests for module 'unistr/u32-strnlen'.
35954         * modules/unistr/u32-strnlen-tests: New file.
35955         * tests/unistr/test-u32-strnlen.c: New file.
35956
35957         Tests for module 'unistr/u16-strnlen'.
35958         * modules/unistr/u16-strnlen-tests: New file.
35959         * tests/unistr/test-u16-strnlen.c: New file.
35960
35961         Tests for module 'unistr/u8-strnlen'.
35962         * modules/unistr/u8-strnlen-tests: New file.
35963         * tests/unistr/test-u8-strnlen.c: New file.
35964         * tests/unistr/test-strnlen.h: New file.
35965
35966         Tests for module 'unistr/u32-strlen'.
35967         * modules/unistr/u32-strlen-tests: New file.
35968         * tests/unistr/test-u32-strlen.c: New file.
35969
35970         Tests for module 'unistr/u16-strlen'.
35971         * modules/unistr/u16-strlen-tests: New file.
35972         * tests/unistr/test-u16-strlen.c: New file.
35973
35974         Tests for module 'unistr/u8-strlen'.
35975         * modules/unistr/u8-strlen-tests: New file.
35976         * tests/unistr/test-u8-strlen.c: New file.
35977
35978         Tests for module 'unistr/u32-prev'.
35979         * modules/unistr/u32-prev-tests: New file.
35980         * tests/unistr/test-u32-prev.c: New file.
35981
35982         Tests for module 'unistr/u16-prev'.
35983         * modules/unistr/u16-prev-tests: New file.
35984         * tests/unistr/test-u16-prev.c: New file.
35985
35986         Tests for module 'unistr/u8-prev'.
35987         * modules/unistr/u8-prev-tests: New file.
35988         * tests/unistr/test-u8-prev.c: New file.
35989
35990         Tests for module 'unistr/u32-next'.
35991         * modules/unistr/u32-next-tests: New file.
35992         * tests/unistr/test-u32-next.c: New file.
35993
35994         Tests for module 'unistr/u16-next'.
35995         * modules/unistr/u16-next-tests: New file.
35996         * tests/unistr/test-u16-next.c: New file.
35997
35998         Tests for module 'unistr/u8-next'.
35999         * modules/unistr/u8-next-tests: New file.
36000         * tests/unistr/test-u8-next.c: New file.
36001
36002         Tests for module 'unistr/u32-strmbtouc'.
36003         * modules/unistr/u32-strmbtouc-tests: New file.
36004         * tests/unistr/test-u32-strmbtouc.c: New file.
36005
36006         Tests for module 'unistr/u16-strmbtouc'.
36007         * modules/unistr/u16-strmbtouc-tests: New file.
36008         * tests/unistr/test-u16-strmbtouc.c: New file.
36009
36010         Tests for module 'unistr/u8-strmbtouc'.
36011         * modules/unistr/u8-strmbtouc-tests: New file.
36012         * tests/unistr/test-u8-strmbtouc.c: New file.
36013
36014         Tests for module 'unistr/u32-strmblen'.
36015         * modules/unistr/u32-strmblen-tests: New file.
36016         * tests/unistr/test-u32-strmblen.c: New file.
36017
36018         Tests for module 'unistr/u16-strmblen'.
36019         * modules/unistr/u16-strmblen-tests: New file.
36020         * tests/unistr/test-u16-strmblen.c: New file.
36021
36022         Tests for module 'unistr/u8-strmblen'.
36023         * modules/unistr/u8-strmblen-tests: New file.
36024         * tests/unistr/test-u8-strmblen.c: New file.
36025
36026         Tests for module 'unistr/u32-cpy-alloc'.
36027         * modules/unistr/u32-cpy-alloc-tests: New file.
36028         * tests/unistr/test-u32-cpy-alloc.c: New file.
36029
36030         Tests for module 'unistr/u16-cpy-alloc'.
36031         * modules/unistr/u16-cpy-alloc-tests: New file.
36032         * tests/unistr/test-u16-cpy-alloc.c: New file.
36033
36034         Tests for module 'unistr/u8-cpy-alloc'.
36035         * modules/unistr/u8-cpy-alloc-tests: New file.
36036         * tests/unistr/test-u8-cpy-alloc.c: New file.
36037         * tests/unistr/test-cpy-alloc.h: New file.
36038
36039         Tests for module 'unistr/u32-mbsnlen'.
36040         * modules/unistr/u32-mbsnlen-tests: New file.
36041         * tests/unistr/test-u32-mbsnlen.c: New file.
36042
36043         Tests for module 'unistr/u16-mbsnlen'.
36044         * modules/unistr/u16-mbsnlen-tests: New file.
36045         * tests/unistr/test-u16-mbsnlen.c: New file.
36046
36047         Tests for module 'unistr/u8-mbsnlen'.
36048         * modules/unistr/u8-mbsnlen-tests: New file.
36049         * tests/unistr/test-u8-mbsnlen.c: New file.
36050
36051         Tests for module 'unistr/u32-chr'.
36052         * modules/unistr/u32-chr-tests: New file.
36053         * tests/unistr/test-u32-chr.c: New file.
36054
36055         Tests for module 'unistr/u16-chr'.
36056         * modules/unistr/u16-chr-tests: New file.
36057         * tests/unistr/test-u16-chr.c: New file.
36058
36059         Tests for module 'unistr/u8-chr'.
36060         * modules/unistr/u8-chr-tests: New file.
36061         * tests/unistr/test-u8-chr.c: New file.
36062         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
36063
36064         Tests for module 'unistr/u32-cmp2'.
36065         * modules/unistr/u32-cmp2-tests: New file.
36066         * tests/unistr/test-u32-cmp2.c: New file.
36067
36068         Tests for module 'unistr/u16-cmp2'.
36069         * modules/unistr/u16-cmp2-tests: New file.
36070         * tests/unistr/test-u16-cmp2.c: New file.
36071
36072         Tests for module 'unistr/u8-cmp2'.
36073         * modules/unistr/u8-cmp2-tests: New file.
36074         * tests/unistr/test-u8-cmp2.c: New file.
36075         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
36076
36077         Tests for module 'unistr/u32-cmp'.
36078         * modules/unistr/u32-cmp-tests: New file.
36079         * tests/unistr/test-u32-cmp.c: New file.
36080
36081         Tests for module 'unistr/u16-cmp'.
36082         * modules/unistr/u16-cmp-tests: New file.
36083         * tests/unistr/test-u16-cmp.c: New file.
36084
36085         Tests for module 'unistr/u8-cmp'.
36086         * modules/unistr/u8-cmp-tests: New file.
36087         * tests/unistr/test-u8-cmp.c: New file.
36088         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
36089
36090         Tests for module 'unistr/u32-set'.
36091         * modules/unistr/u32-set-tests: New file.
36092         * tests/unistr/test-u32-set.c: New file.
36093
36094         Tests for module 'unistr/u16-set'.
36095         * modules/unistr/u16-set-tests: New file.
36096         * tests/unistr/test-u16-set.c: New file.
36097
36098         Tests for module 'unistr/u8-set'.
36099         * modules/unistr/u8-set-tests: New file.
36100         * tests/unistr/test-u8-set.c: New file.
36101         * tests/unistr/test-set.h: New file.
36102
36103         Tests for module 'unistr/u32-move'.
36104         * modules/unistr/u32-move-tests: New file.
36105         * tests/unistr/test-u32-move.c: New file.
36106
36107         Tests for module 'unistr/u16-move'.
36108         * modules/unistr/u16-move-tests: New file.
36109         * tests/unistr/test-u16-move.c: New file.
36110
36111         Tests for module 'unistr/u8-move'.
36112         * modules/unistr/u8-move-tests: New file.
36113         * tests/unistr/test-u8-move.c: New file.
36114         * tests/unistr/test-move.h: New file.
36115
36116         Tests for module 'unistr/u32-cpy'.
36117         * modules/unistr/u32-cpy-tests: New file.
36118         * tests/unistr/test-u32-cpy.c: New file.
36119
36120         Tests for module 'unistr/u16-cpy'.
36121         * modules/unistr/u16-cpy-tests: New file.
36122         * tests/unistr/test-u16-cpy.c: New file.
36123
36124         Tests for module 'unistr/u8-cpy'.
36125         * modules/unistr/u8-cpy-tests: New file.
36126         * tests/unistr/test-u8-cpy.c: New file.
36127         * tests/unistr/test-cpy.h: New file.
36128
36129 2010-01-09  Bruno Haible  <bruno@clisp.org>
36130
36131         Tests for module 'unistr/u32-uctomb'.
36132         * modules/unistr/u32-uctomb-tests: New file.
36133         * tests/unistr/test-u32-uctomb.c: New file.
36134
36135         Tests for module 'unistr/u16-uctomb'.
36136         * modules/unistr/u16-uctomb-tests: New file.
36137         * tests/unistr/test-u16-uctomb.c: New file.
36138
36139         Tests for module 'unistr/u8-uctomb'.
36140         * modules/unistr/u8-uctomb-tests: New file.
36141         * tests/unistr/test-u8-uctomb.c: New file.
36142
36143         Tests for module 'unistr/u32-mbtoucr'.
36144         * modules/unistr/u32-mbtoucr-tests: New file.
36145         * tests/unistr/test-u32-mbtoucr.c: New file.
36146
36147         Tests for module 'unistr/u16-mbtoucr'.
36148         * modules/unistr/u16-mbtoucr-tests: New file.
36149         * tests/unistr/test-u16-mbtoucr.c: New file.
36150
36151         Tests for module 'unistr/u8-mbtoucr'.
36152         * modules/unistr/u8-mbtoucr-tests: New file.
36153         * tests/unistr/test-u8-mbtoucr.c: New file.
36154
36155         Tests for module 'unistr/u32-mbtouc'.
36156         * modules/unistr/u32-mbtouc-tests: New file.
36157         * tests/unistr/test-u32-mbtouc.c: New file.
36158
36159         Tests for module 'unistr/u16-mbtouc'.
36160         * modules/unistr/u16-mbtouc-tests: New file.
36161         * tests/unistr/test-u16-mbtouc.c: New file.
36162
36163         Tests for module 'unistr/u8-mbtouc'.
36164         * modules/unistr/u8-mbtouc-tests: New file.
36165         * tests/unistr/test-u8-mbtouc.c: New file.
36166
36167         Tests for module 'unistr/u32-mbtouc-unsafe'.
36168         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36169         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36170         * tests/unistr/test-u32-mbtouc.h: New file.
36171
36172         Tests for module 'unistr/u16-mbtouc-unsafe'.
36173         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36174         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36175         * tests/unistr/test-u16-mbtouc.h: New file.
36176
36177         Tests for module 'unistr/u8-mbtouc-unsafe'.
36178         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36179         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36180         * tests/unistr/test-u8-mbtouc.h: New file.
36181
36182         Tests for module 'unistr/u32-mblen'.
36183         * modules/unistr/u32-mblen-tests: New file.
36184         * tests/unistr/test-u32-mblen.c: New file.
36185
36186         Tests for module 'unistr/u16-mblen'.
36187         * modules/unistr/u16-mblen-tests: New file.
36188         * tests/unistr/test-u16-mblen.c: New file.
36189
36190         Tests for module 'unistr/u8-mblen'.
36191         * modules/unistr/u8-mblen-tests: New file.
36192         * tests/unistr/test-u8-mblen.c: New file.
36193
36194         Tests for module 'unistr/u32-to-u16'.
36195         * modules/unistr/u32-to-u16-tests: New file.
36196         * tests/unistr/test-u32-to-u16.c: New file.
36197
36198         Tests for module 'unistr/u32-to-u8'.
36199         * modules/unistr/u32-to-u8-tests: New file.
36200         * tests/unistr/test-u32-to-u8.c: New file.
36201
36202         Tests for module 'unistr/u16-to-u32'.
36203         * modules/unistr/u16-to-u32-tests: New file.
36204         * tests/unistr/test-u16-to-u32.c: New file.
36205
36206         Tests for module 'unistr/u16-to-u8'.
36207         * modules/unistr/u16-to-u8-tests: New file.
36208         * tests/unistr/test-u16-to-u8.c: New file.
36209
36210         Tests for module 'unistr/u8-to-u32'.
36211         * modules/unistr/u8-to-u32-tests: New file.
36212         * tests/unistr/test-u8-to-u32.c: New file.
36213
36214         Tests for module 'unistr/u8-to-u16'.
36215         * modules/unistr/u8-to-u16-tests: New file.
36216         * tests/unistr/test-u8-to-u16.c: New file.
36217
36218         Tests for module 'unistr/u32-check'.
36219         * modules/unistr/u32-check-tests: New file.
36220         * tests/unistr/test-u32-check.c: New file.
36221
36222         Tests for module 'unistr/u16-check'.
36223         * modules/unistr/u16-check-tests: New file.
36224         * tests/unistr/test-u16-check.c: New file.
36225
36226         Tests for module 'unistr/u8-check'.
36227         * modules/unistr/u8-check-tests: New file.
36228         * tests/unistr/test-u8-check.c: New file.
36229
36230         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36231         (category_equals): New function.
36232         (main): Add more tests.
36233         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36234
36235         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36236
36237 2010-01-10  Bruno Haible  <bruno@clisp.org>
36238
36239         unistr/u*-strcoll: Try harder to distinguish different strings.
36240         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36241         compare s1 and s2 to see if they are different.
36242
36243 2010-01-10  Bruno Haible  <bruno@clisp.org>
36244
36245         unistr/u*-stpncpy: Fix the return value.
36246         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36247         description of the return value consistent with stpncpy in glibc.
36248         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36249         written non-NUL unit.
36250
36251 2010-01-10  Bruno Haible  <bruno@clisp.org>
36252
36253         unistr/u*-next: Add missing dependencies.
36254         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36255         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36256         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36257
36258 2010-01-10  Bruno Haible  <bruno@clisp.org>
36259
36260         unistr/u8-mbsnlen: Fix return value for incomplete character.
36261         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36262         u8_mblen.
36263         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36264         Remove unistr/u8-mblen.
36265         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36266         u16_mblen.
36267         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36268         Remove unistr/u16-mblen.
36269
36270 2010-01-10  Bruno Haible  <bruno@clisp.org>
36271
36272         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36273         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36274         Reported by Brian Gough <bjg@gnu.org> and
36275         Chris Clayton <chris2553@googlemail.com> via
36276         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36277
36278 2010-01-09  Bruno Haible  <bruno@clisp.org>
36279
36280         unistr/u16-to-u32: Reject invalid input.
36281         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36282         u16_mbtouc.
36283         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36284         Remove unistr/u16-mbtouc.
36285
36286         unistr/u16-to-u8: Reject invalid input.
36287         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36288         u16_mbtouc.
36289         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36290         Remove unistr/u16-mbtouc.
36291
36292         unistr/u8-to-u32: Reject invalid input.
36293         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36294         u8_mbtouc.
36295         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36296         Remove unistr/u8-mbtouc.
36297
36298         unistr/u8-to-u16: Reject invalid input.
36299         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36300         u8_mbtouc.
36301         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36302         Remove unistr/u8-mbtouc.
36303
36304 2010-01-09  Bruno Haible  <bruno@clisp.org>
36305
36306         Tests for module 'getlogin'.
36307         * modules/getlogin-tests: New file.
36308         * tests/test-getlogin.c: New file.
36309
36310         New module 'getlogin'.
36311         * lib/unistd.in.h (getlogin): New declaration.
36312         * lib/getlogin.c: New file.
36313         * m4/getlogin.m4: New file.
36314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36315         HAVE_GETLOGIN.
36316         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36317         HAVE_GETLOGIN.
36318         * modules/getlogin: New file.
36319         * doc/posix-functions/getlogin.texi: Mention the new module.
36320         Reported by John W. Eaton <jwe@gnu.org>.
36321
36322 2010-01-09  Bruno Haible  <bruno@clisp.org>
36323
36324         getlogin_r: Support for native Windows.
36325         * lib/getlogin_r.c: Include <windows.h>
36326         (getlogin_r): Implement for native Windows.
36327         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36328         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36329         via John W. Eaton <jwe@gnu.org>.
36330
36331 2010-01-09  Bruno Haible  <bruno@clisp.org>
36332
36333         getlogin_r: Small fixes.
36334         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36335         succeeds.
36336         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36337         before testing whether getlogin_r is declared. No need to set
36338         HAVE_DECL_GETLOGIN_R to 1.
36339         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36340
36341 2010-01-09  Bruno Haible  <bruno@clisp.org>
36342
36343         * lib/unistd.in.h (getlogin_r): Add comment.
36344
36345 2010-01-09  Bruno Haible  <bruno@clisp.org>
36346
36347         Tests for module 'getlogin_r'.
36348         * modules/getlogin_r-tests: New file.
36349         * tests/test-getlogin_r.c: New file.
36350
36351 2010-01-09  Jim Meyering  <meyering@redhat.com>
36352
36353         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36354         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36355         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36356
36357 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36358
36359         * lib/dup2.c (rpl_dup2): Improve comment.
36360
36361 2010-01-08  Eric Blake  <ebb9@byu.net>
36362
36363         maint.mk: allow packages to add makefile @@ exceptions
36364         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36365         (sc_makefile_check): Rename...
36366         (sc_makefile_at_at_check): ...to this, and use hook.
36367
36368         dup2: work around mingw bug
36369         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36370         Reported by Simon Josefsson.
36371
36372 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36373
36374         glob: Fix C++ compilation.
36375         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36376         C++.
36377
36378 2010-01-07  Bruno Haible  <bruno@clisp.org>
36379
36380         Fix indentation of wctype.in.h, broken since 2007-01-06.
36381         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36382
36383 2010-01-07  Bruno Haible  <bruno@clisp.org>
36384
36385         mbslen: Avoid collision with system function.
36386         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36387         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36388         * m4/mbslen.m4: New file.
36389         * modules/mbslen (Files): Add it.
36390         (configure.ac): Invoke gl_MBSLEN.
36391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36392         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36393         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36394         via Ian Beckwith <ianb@erislabs.net>.
36395
36396 2010-01-07  Bruno Haible  <bruno@clisp.org>
36397
36398         dirent: Document the last fix.
36399         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36400
36401 2010-01-07  Bruno Haible  <bruno@clisp.org>
36402
36403         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36404         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36405         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36406         va_list are defined.
36407         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36408         Reported by Eric Blake.
36409
36410 2010-01-07  Bruno Haible  <bruno@clisp.org>
36411
36412         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36413         * modules/xlist (Depends-on): Add 'list',
36414         * modules/xoset (Depends-on): Add 'oset'.
36415         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36416
36417 2010-01-07  Bruno Haible  <bruno@clisp.org>
36418
36419         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36420         * doc/posix-functions/strncasecmp.texi: Likewise.
36421
36422 2010-01-07  Bruno Haible  <bruno@clisp.org>
36423
36424         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
36425
36426 2010-01-07  John W. Eaton  <jwe@octave.org>
36427
36428         wctype: allow C++ use
36429         * lib/wctype.in.h: Add extern "C" block for C++.
36430
36431 2010-01-06  Eric Blake  <ebb9@byu.net>
36432
36433         maint.mk: detect incorrect GFDL usage
36434         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
36435
36436 2010-01-06  Jim Meyering  <meyering@redhat.com>
36437         and Eric Blake  <ebb9@byu.net>
36438
36439         maint.mk: ignore multi-line copyright in NEWS
36440         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
36441
36442 2010-01-06  Eric Blake  <ebb9@byu.net>
36443
36444         select: add missing dependency
36445         * modules/select-tests (Depends-on): Move sockets dependency...
36446         * modules/select (Depends-on): ...here.
36447         Reported by Ian Beckwith.
36448
36449         doc: regenerate INSTALL
36450         * doc/INSTALL: Reflect recent autoconf update.
36451         * doc/INSTALL.ISO: Likewise.
36452         * doc/INSTALL.UTF-8: Likewise.
36453
36454         pread: fix compilation on glibc
36455         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
36456         Reported by Ralf Wildenhues.
36457
36458         dirent: fix test failure
36459         * lib/dirent.in.h (includes): Guarantee ino_t.
36460         Reported by Ralf Wildenhues.
36461
36462 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36463
36464         linkat, renameat: avoid bad free
36465         * lib/at-func2.c (at_func2): Fix typo.
36466         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36467
36468 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36469
36470         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36471         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36472         to avoid failure of symlink test later.
36473
36474 2010-01-06  Eric Blake  <ebb9@byu.net>
36475
36476         stdio, unistd: guarantee ssize_t
36477         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36478         2008 are exposed when needed.
36479         * lib/stdio.in.h (includes): Likewise.
36480         Reported by Ralf Wildenhues.
36481
36482 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36483
36484         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36485         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36486         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36487
36488 2010-01-06  Jim Meyering  <meyering@redhat.com>
36489
36490         readtokens: this module *does* require xalloc.h
36491         It uses only functions that were omitted by the old syntax-check rule.
36492         * lib/readtokens.c: Include "xalloc.h" once again.
36493         * modules/readtokens (Depends-on): Add xalloc.
36494         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36495
36496 2010-01-05  Eric Blake  <ebb9@byu.net>
36497
36498         maint: support 'make announcement' from a VPATH build
36499         * top/maint.mk (announcement): Look for correct NEWS file.
36500
36501 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36502
36503         utimens (fdutimens): ignore a negative FD, per contract
36504         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36505         when we have a valid file descriptor.  Otherwise, using a brand
36506         new glibc (with just-patched futimens that now fails with EBADF)
36507         would cause this function to fail with ENOSYS.
36508         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36509         See also http://bugzilla.redhat.com/552320.
36510
36511 2010-01-05  Eric Blake  <ebb9@byu.net>
36512
36513         strcase: document what it provides
36514         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36515         gnulib module.
36516         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36517         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36518
36519 2010-01-05  Jim Meyering  <meyering@redhat.com>
36520
36521         maint: remove useless inclusions of "xalloc.h"
36522         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36523         * lib/readtokens.c: Likewise.
36524         * lib/same.c: Likewise.
36525         * modules/getloadavg (Depends-on): Remove xalloc.
36526         * modules/readtokens: Likewise.
36527         * modules/same: Likewise.
36528
36529         maint.mk: include 4 more function names in alloca.h-checking regexp
36530         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36531         regexp.  Before, we would give a false-positive (saying alloca.h
36532         is included unnecessarily) when the only uses involved omitted symbols.
36533
36534         xalloc.h: use consistent formatting
36535         * lib/xalloc.h: Move declarations to start in the first column.
36536
36537 2010-01-05  Eric Blake  <ebb9@byu.net>
36538
36539         mkdir: avoid xalloc
36540         * lib/mkdir.c (includes): Drop unused header.
36541         Reported by John W. Eaton.
36542
36543 2010-01-04  Jim Meyering  <meyering@redhat.com>
36544
36545         nl_langinfo: avoid configure-time syntax error
36546         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36547         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36548         the empty string.  Don't let that provoke a shell syntax error.
36549
36550         regcomp, regexec, fnmatch: avoid array bounds read error
36551         * lib/regcomp.c (build_equiv_class): From glibc:
36552         Use only the low 24 bits of a findidx return value as an index
36553         into the weights array.  Patch by Ulrich Drepper:
36554         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36555         * lib/regexec.c (check_node_accept_bytes): Likewise.
36556         * lib/fnmatch_loop.c (FCT): Likewise.
36557
36558         regcomp: skip collseq lookup when there are no rules
36559         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36560         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36561
36562         regcomp: recognize ill-formed { } expressions
36563         * lib/regcomp.c (parse_dup_op): From glibc:
36564         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36565
36566         regcomp: fix typo in comment
36567         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36568         s/satisfy/satisfies/.
36569
36570         regcomp: sync from glibc: remove dead store
36571         * lib/regcomp.c (duplicate_node_closure): Remove useless
36572         search_duplicated_node call and dead store.
36573
36574         regcomp: sync from glibc; always use nl_langinfo
36575         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36576         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36577         * modules/regex (Depends-on): Add nl_langinfo.
36578
36579 2010-01-04  Eric Blake  <ebb9@byu.net>
36580
36581         fdopendir: fix configure test
36582         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36583
36584 2010-01-01  Bruno Haible  <bruno@clisp.org>
36585
36586         wchar: Remove unused configure check.
36587         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36588
36589 2010-01-01  Eric Blake  <ebb9@byu.net>
36590
36591         headers: make check of system header explicit
36592         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36593         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36594         ourselves.
36595         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36596         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36597         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36598         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36599         internals.
36600         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36601         missing.
36602         Suggested by Bruno Haible.
36603
36604 2010-01-01  Jim Meyering  <meyering@redhat.com>
36605
36606         ChangeLog: tweak to eliminate unnecessary copyright line
36607         * ChangeLog: Remove a copyright line that was mistakenly updated
36608         by today's update-copyright run.  Reported by Eric Blake.
36609
36610         test-update-copyright: don't let envvar setting cause test failure
36611         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36612
36613 2010-01-01  Bruno Haible  <bruno@clisp.org>
36614
36615         localename: Avoid gcc warning.
36616         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36617         function if it is not used.
36618
36619 2010-01-01  Jim Meyering  <meyering@redhat.com>
36620
36621         update nearly all FSF copyright year lists to include 2010
36622         Use the same procedure as for 2009, outlined in
36623         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36624
36625         version-etc: set COPYRIGHT_YEAR to 2010
36626         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36627
36628 2009-12-31  Eric Blake  <ebb9@byu.net>
36629
36630         doc: correct availability of cygwin 1.5.x getopt
36631         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36632         variables.
36633         * doc/posix-functions/opterr.texi (opterr): Likewise.
36634         * doc/posix-functions/optind.texi (optind): Likewise.
36635         * doc/posix-functions/optopt.texi (optopt): Likewise.
36636         * doc/posix-functions/tzname.texi (tzname): Likewise.
36637
36638         openat: update maintainer
36639         * modules/openat (Maintainer): Add myself.
36640
36641         utimens: avoid shadowing warning
36642         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36643         buffers into one, to avoid shadowing, as well as avoiding a
36644         redundant stat.
36645         Reported by Jim Meyering.
36646
36647         test-dup2: avoid compiler warning
36648         * tests/test-dup2.c (is_inheritable): Only define if used.
36649
36650 2010-01-01  Bruno Haible  <bruno@clisp.org>
36651
36652         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36653         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36654         defined, use wctomb instead of wcrtomb.
36655
36656 2010-01-01  Bruno Haible  <bruno@clisp.org>
36657
36658         iconv: Reject native Solaris iconv.
36659         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36660         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36661
36662 2009-12-31  Bruno Haible  <bruno@clisp.org>
36663
36664         * tests/test-signal.c (main): Remove test of 'SIG'.
36665
36666 2009-12-31  Bruno Haible  <bruno@clisp.org>
36667
36668         spawn: Fix incomplete fix.
36669         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36670         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36671         warnings for GNULIB_POSIXCHECK again.
36672         Reported by Eric Blake.
36673
36674 2009-12-31  Bruno Haible  <bruno@clisp.org>
36675
36676         Avoid namespace pollution on glibc systems.
36677         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36678         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36679         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36680         glibc systems.
36681
36682 2009-12-31  Bruno Haible  <bruno@clisp.org>
36683
36684         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36685         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36686         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36687         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36688         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36689         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36690         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36691
36692 2009-12-31  Bruno Haible  <bruno@clisp.org>
36693
36694         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36695         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36696         afterwards.
36697
36698 2009-12-31  Bruno Haible  <bruno@clisp.org>
36699
36700         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36701         SYS_UTSNAME_H.
36702
36703 2009-12-31  Bruno Haible  <bruno@clisp.org>
36704
36705         spawn: Fix misapplied patch.
36706         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36707         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36708         warnings for GNULIB_POSIXCHECK.
36709
36710 2009-12-31  Bruno Haible  <bruno@clisp.org>
36711
36712         times: Update after sys_times changed.
36713         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36714         * modules/times (Files): Add it.
36715         (configure.ac): Invoke gl_FUNC_TIMES.
36716
36717 2009-12-31  Bruno Haible  <bruno@clisp.org>
36718
36719         Use AC_C_INLINE where necessary.
36720         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36721         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36722         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36723         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36724         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36725         * m4/mbiter.m4 (gl_MBITER): Likewise.
36726         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36727         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36728         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36729         * modules/u64 (configure.ac): Likewise.
36730
36731 2009-12-31  Bruno Haible  <bruno@clisp.org>
36732
36733         Use AC_C_INLINE instead of module 'inline' where possible.
36734         * modules/inline (Description): Clarify purpose.
36735         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36736         * modules/count-one-bits (Depends-on): Remove inline.
36737         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36738         * modules/openat (Depends-on): Remove inline.
36739         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36740         instead of depending on module 'inline'.
36741         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36742         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36743         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36744         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36745         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36746         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36747         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36748         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36749         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36750         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36751         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36752         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36753         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36754         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36755         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36756         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36757         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36758         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36759         Likewise.
36760         * modules/unictype/property-ascii-hex-digit (Depends-on,
36761         configure.ac): Likewise.
36762         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36763         configure.ac): Likewise.
36764         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36765         configure.ac): Likewise.
36766         * modules/unictype/property-bidi-block-separator (Depends-on,
36767         configure.ac): Likewise.
36768         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36769         configure.ac): Likewise.
36770         * modules/unictype/property-bidi-common-separator (Depends-on,
36771         configure.ac): Likewise.
36772         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36773         Likewise.
36774         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36775         configure.ac): Likewise.
36776         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36777         configure.ac): Likewise.
36778         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36779         configure.ac): Likewise.
36780         * modules/unictype/property-bidi-european-digit (Depends-on,
36781         configure.ac): Likewise.
36782         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36783         configure.ac): Likewise.
36784         * modules/unictype/property-bidi-left-to-right (Depends-on,
36785         configure.ac): Likewise.
36786         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36787         configure.ac): Likewise.
36788         * modules/unictype/property-bidi-other-neutral (Depends-on,
36789         configure.ac): Likewise.
36790         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36791         Likewise.
36792         * modules/unictype/property-bidi-segment-separator (Depends-on,
36793         configure.ac): Likewise.
36794         * modules/unictype/property-bidi-whitespace (Depends-on,
36795         configure.ac): Likewise.
36796         * modules/unictype/property-combining (Depends-on, configure.ac):
36797         Likewise.
36798         * modules/unictype/property-composite (Depends-on, configure.ac):
36799         Likewise.
36800         * modules/unictype/property-currency-symbol (Depends-on,
36801         configure.ac): Likewise.
36802         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36803         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36804         Likewise.
36805         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36806         configure.ac): Likewise.
36807         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36808         Likewise.
36809         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36810         Likewise.
36811         * modules/unictype/property-extender (Depends-on, configure.ac):
36812         Likewise.
36813         * modules/unictype/property-format-control (Depends-on, configure.ac):
36814         Likewise.
36815         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36816         Likewise.
36817         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36818         Likewise.
36819         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36820         Likewise.
36821         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36822         Likewise.
36823         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36824         Likewise.
36825         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36826         Likewise.
36827         * modules/unictype/property-id-start (Depends-on, configure.ac):
36828         Likewise.
36829         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36830         Likewise.
36831         * modules/unictype/property-ids-binary-operator (Depends-on,
36832         configure.ac): Likewise.
36833         * modules/unictype/property-ids-trinary-operator (Depends-on,
36834         configure.ac): Likewise.
36835         * modules/unictype/property-ignorable-control (Depends-on,
36836         configure.ac): Likewise.
36837         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36838         Likewise.
36839         * modules/unictype/property-join-control (Depends-on, configure.ac):
36840         Likewise.
36841         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36842         Likewise.
36843         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36844         Likewise.
36845         * modules/unictype/property-logical-order-exception (Depends-on,
36846         configure.ac): Likewise.
36847         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36848         Likewise.
36849         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36850         * modules/unictype/property-non-break (Depends-on, configure.ac):
36851         Likewise.
36852         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36853         Likewise.
36854         * modules/unictype/property-numeric (Depends-on, configure.ac):
36855         Likewise.
36856         * modules/unictype/property-other-alphabetic (Depends-on,
36857         configure.ac): Likewise.
36858         * modules/unictype/property-other-default-ignorable-code-point
36859         (Depends-on, configure.ac): Likewise.
36860         * modules/unictype/property-other-grapheme-extend (Depends-on,
36861         configure.ac): Likewise.
36862         * modules/unictype/property-other-id-continue (Depends-on,
36863         configure.ac): Likewise.
36864         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36865         Likewise.
36866         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36867         Likewise.
36868         * modules/unictype/property-other-math (Depends-on, configure.ac):
36869         Likewise.
36870         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36871         Likewise.
36872         * modules/unictype/property-paired-punctuation (Depends-on,
36873         configure.ac): Likewise.
36874         * modules/unictype/property-paragraph-separator (Depends-on,
36875         configure.ac): Likewise.
36876         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36877         Likewise.
36878         * modules/unictype/property-pattern-white-space (Depends-on,
36879         configure.ac): Likewise.
36880         * modules/unictype/property-private-use (Depends-on, configure.ac):
36881         Likewise.
36882         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36883         Likewise.
36884         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36885         Likewise.
36886         * modules/unictype/property-radical (Depends-on, configure.ac):
36887         Likewise.
36888         * modules/unictype/property-sentence-terminal (Depends-on,
36889         configure.ac): Likewise.
36890         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36891         Likewise.
36892         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36893         * modules/unictype/property-terminal-punctuation (Depends-on,
36894         configure.ac): Likewise.
36895         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36896         Likewise.
36897         * modules/unictype/property-unassigned-code-value (Depends-on,
36898         configure.ac): Likewise.
36899         * modules/unictype/property-unified-ideograph (Depends-on,
36900         configure.ac): Likewise.
36901         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36902         Likewise.
36903         * modules/unictype/property-variation-selector (Depends-on,
36904         configure.ac): Likewise.
36905         * modules/unictype/property-white-space (Depends-on, configure.ac):
36906         Likewise.
36907         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36908         Likewise.
36909         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36910         Likewise.
36911         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36912         Likewise.
36913         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36914         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36915         Likewise.
36916
36917 2009-12-31  Bruno Haible  <bruno@clisp.org>
36918
36919         Remove unnecessary AC_C_INLINE invocation.
36920         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36921         since 2009-08-21.
36922
36923 2009-12-31  Jim Meyering  <meyering@redhat.com>
36924
36925         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36926         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36927         With this change, we can all remove the gpg_key_ID = ... definition
36928         from our respective cfg.mk files.
36929
36930         maint.mk: create announcement template in ~/, not in /tmp
36931         * top/maint.mk (emit_upload_commands): Adjust.
36932         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36933         Remove temporary file, .ci-msg.
36934
36935 2009-12-31  Eric Blake  <ebb9@byu.net>
36936
36937         link-warning: always build headers with link warnings
36938         * modules/arpa_inet (Makefile.am): Always build replacement
36939         header.
36940         * modules/ctype (Makefile.am): Likewise.
36941         * modules/dirent (Makefile.am): Likewise.
36942         * modules/inttypes (Makefile.am): Likewise.
36943         * modules/langinfo (Makefile.am): Likewise.
36944         * modules/locale (Makefile.am): Likewise.
36945         * modules/spawn (Makefile.am): Likewise.
36946         * modules/sys_file (Makefile.am): Likewise.
36947         * modules/sys_ioctl (Makefile.am): Likewise.
36948         * modules/sys_select (Makefile.am): Likewise.
36949         * modules/sys_socket (Makefile.am): Likewise.
36950         * modules/sys_times (Makefile.am): Likewise.
36951         * modules/sys_utsname (Makefile.am): Likewise.
36952         * modules/sys_wait (Makefile.am): Likewise.
36953         * modules/wchar (Makefile.am): Likewise.
36954         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36955         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36956         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36957         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36958         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36959         Likewise.
36960         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36961         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36962         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36963         Likewise.
36964         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36965         Likewise.
36966         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36967         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36968         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36969         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36970         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36971         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36972         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36973         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36974         (gl_WCHAR_H_DEFAULTS): Likewise.
36975
36976 2009-12-31  Eric Blake  <ebb9@byu.net>
36977
36978         signal, spawn: use link warnings
36979         * lib/signal.in.h (sigset_t): Make unconditional.
36980         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36981         (sigpending, sigprocmask, sigaction): Add link warnings.
36982         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36983         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36984         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36985         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36986         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36987         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36988         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36989         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36990         (posix_spawn_file_actions_destroy)
36991         (posix_spawn_file_actions_addopen)
36992         (posix_spawn_file_actions_addclose)
36993         (posix_spawn_file_actions_adddup2): Likewise.
36994         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36995         * tests/test-signal.c (main): Enhance test.
36996
36997         spawn: improve wrapper support
36998         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36999         (gl_SPAWN_H_DEFAULTS): New defaults.
37000         * modules/spawn (Makefile.am): Substitute them.
37001         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
37002         Only declare if missing or broken.
37003
37004         sys_times, sys_utsname: use include_next
37005         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
37006         header.
37007         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
37008         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
37009         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
37010         * modules/sys_times (Depends-on): Add include_next.
37011         (Makefile.am): Substitute additional values.
37012         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37013         * lib/sys_times.in.h (includes): Include native header, if
37014         available.
37015         * lib/sys_utsname.in.h (includes): Likewise.
37016         * tests/test-sys_times.c (main): Enhance test.
37017
37018         fdutimensat: revert prior patch
37019         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
37020         utimens.h.
37021         Reported by Bruno Haible.
37022
37023 2009-12-30  Eric Blake  <ebb9@byu.net>
37024
37025         sys_wait: drop link-warning dependency
37026         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
37027         link-warning efforts.
37028         * lib/sys_wait.in.h: Likewise.
37029
37030         fdutimensat: remove bogus dependency
37031         * modules/fdutimensat (Depends-on): Drop inline.
37032
37033         unistd: fix typo
37034         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
37035
37036 2009-12-30  Bruno Haible  <bruno@clisp.org>
37037
37038         Fix compilation error with Solaris cc.
37039         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
37040         * lib/unicase/u16-is-invariant.c: Likewise.
37041         * lib/unicase/u32-is-invariant.c: Likewise.
37042         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
37043
37044 2009-12-30  Bruno Haible  <bruno@clisp.org>
37045
37046         Fix test crash.
37047         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
37048         locales.
37049         Reported by Simon Josefsson <simon@josefsson.org>.
37050
37051 2009-12-30  Bruno Haible  <bruno@clisp.org>
37052
37053         Fix compilation error on most platforms.
37054         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
37055         Reported by Simon Josefsson <simon@josefsson.org>
37056         and Nelson H. F. Beebe <beebe@math.utah.edu>.
37057
37058 2009-12-30  Eric Blake  <ebb9@byu.net>
37059
37060         futimens, utimensat: work around ntfs-3g bug
37061         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
37062         a ctime bug is present, and expand workaround to cover ntfs-3g.
37063         * lib/utimens.c (fdutimens, lutimens): Likewise.
37064         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
37065         (validate_timespec): Adjust return value.
37066         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
37067         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37068         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
37069
37070 2009-12-29  Eric Blake  <ebb9@byu.net>
37071
37072         link-warning: make usage consistent
37073         * modules/ctype (Depends-on): Add link-warning.
37074         (Makefile.am): Update rules accordingly.
37075         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37076         * modules/locale (Depends-on, Makefile.am): Likewise.
37077         * modules/sys_file (Makefile.am): Likewise.
37078         * modules/getopt-posix (Makefile.am): Delete unused link warning
37079         efforts.
37080         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
37081         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
37082         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
37083         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
37084
37085         stdio: remove unused variables
37086         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
37087         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
37088         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
37089
37090         tests: test more substitute headers
37091         * modules/ctype-tests: New file.
37092         * modules/dirent-tests: Likewise.
37093         * modules/spawn-tests: Likewise.
37094         * modules/sys_file-tests: Likewise.
37095         * modules/sys_ioctl-tests: Likewise.
37096         * modules/sys_wait-tests: Likewise.
37097         * tests/test-ctype.c: Likewise.
37098         * tests/test-dirent.c: Likewise.
37099         * tests/test-spawn.c: Likewise.
37100         * tests/test-sys_file.c: Likewise.
37101         * tests/test-sys_ioctl.c: Likewise.
37102         * tests/test-sys_wait.c: Likewise.
37103         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
37104         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
37105         whether or not flock is in use.
37106
37107         tests: remove License section from module
37108         * modules/arpa_inet-tests: Remove unneeded section.
37109         * modules/byteswap-tests: Likewise.
37110         * modules/ceilf-tests: Likewise.
37111         * modules/ceill-tests: Likewise.
37112         * modules/crypto/des-tests: Likewise.
37113         * modules/crypto/gc-arcfour-tests: Likewise.
37114         * modules/crypto/gc-arctwo-tests: Likewise.
37115         * modules/crypto/gc-des-tests: Likewise.
37116         * modules/crypto/gc-hmac-md5-tests: Likewise.
37117         * modules/crypto/gc-hmac-sha1-tests: Likewise.
37118         * modules/crypto/gc-md2-tests: Likewise.
37119         * modules/crypto/gc-md4-tests: Likewise.
37120         * modules/crypto/gc-md5-tests: Likewise.
37121         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
37122         * modules/crypto/gc-rijndael-tests: Likewise.
37123         * modules/crypto/gc-sha1-tests: Likewise.
37124         * modules/crypto/gc-tests: Likewise.
37125         * modules/crypto/md2-tests: Likewise.
37126         * modules/crypto/md4-tests: Likewise.
37127         * modules/fcntl-h-tests: Likewise.
37128         * modules/floorf-tests: Likewise.
37129         * modules/floorl-tests: Likewise.
37130         * modules/frexp-nolibm-tests: Likewise.
37131         * modules/frexp-tests: Likewise.
37132         * modules/frexpl-nolibm-tests: Likewise.
37133         * modules/frexpl-tests: Likewise.
37134         * modules/getaddrinfo-tests: Likewise.
37135         * modules/inttypes-tests: Likewise.
37136         * modules/isfinite-tests: Likewise.
37137         * modules/isinf-tests: Likewise.
37138         * modules/ldexpl-tests: Likewise.
37139         * modules/locale-tests: Likewise.
37140         * modules/math-tests: Likewise.
37141         * modules/netdb-tests: Likewise.
37142         * modules/netinet_in-tests: Likewise.
37143         * modules/printf-frexp-tests: Likewise.
37144         * modules/printf-frexpl-tests: Likewise.
37145         * modules/priv-set-tests: Likewise.
37146         * modules/random_r-tests: Likewise.
37147         * modules/round-tests: Likewise.
37148         * modules/roundf-tests: Likewise.
37149         * modules/roundl-tests: Likewise.
37150         * modules/search-tests: Likewise.
37151         * modules/select-tests: Likewise.
37152         * modules/signal-tests: Likewise.
37153         * modules/stdbool-tests: Likewise.
37154         * modules/stddef-tests: Likewise.
37155         * modules/stdint-tests: Likewise.
37156         * modules/stdio-tests: Likewise.
37157         * modules/stdlib-tests: Likewise.
37158         * modules/string-tests: Likewise.
37159         * modules/strings-tests: Likewise.
37160         * modules/sys_select-tests: Likewise.
37161         * modules/sys_socket-tests: Likewise.
37162         * modules/sys_stat-tests: Likewise.
37163         * modules/sys_time-tests: Likewise.
37164         * modules/sys_utsname-tests: Likewise.
37165         * modules/sysexits-tests: Likewise.
37166         * modules/time-tests: Likewise.
37167         * modules/trunc-tests: Likewise.
37168         * modules/truncf-tests: Likewise.
37169         * modules/truncl-tests: Likewise.
37170         * modules/tsearch-tests: Likewise.
37171         * modules/unistd-tests: Likewise.
37172         * modules/wchar-tests: Likewise.
37173         * modules/wctype-tests: Likewise.
37174
37175         tests: fix license on several tests
37176         * tests/test-des.c: Update to GPLv3+.
37177         * tests/test-flock.c: Likewise.
37178         * tests/test-fsync.c: Likewise.
37179         * tests/test-futimens.h: Likewise.
37180         * tests/test-gc-arcfour.c: Likewise.
37181         * tests/test-gc-arctwo.c: Likewise.
37182         * tests/test-gc-des.c: Likewise.
37183         * tests/test-gc-hmac-md5.c: Likewise.
37184         * tests/test-gc-hmac-sha1.c: Likewise.
37185         * tests/test-gc-md2.c: Likewise.
37186         * tests/test-gc-md4.c: Likewise.
37187         * tests/test-gc-md5.c: Likewise.
37188         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37189         * tests/test-gc-rijndael.c: Likewise.
37190         * tests/test-gc-sha1.c: Likewise.
37191         * tests/test-gc.c: Likewise.
37192         * tests/test-getcwd.c: Likewise.
37193         * tests/test-link.c: Likewise.
37194         * tests/test-link.h: Likewise.
37195         * tests/test-lutimens.h: Likewise.
37196         * tests/test-md2.c: Likewise.
37197         * tests/test-md4.c: Likewise.
37198         * tests/test-mkdir.h: Likewise.
37199         * tests/test-rename.c: Likewise.
37200         * tests/test-rename.h: Likewise.
37201         * tests/test-safe-alloc.c: Likewise.
37202         * tests/test-utimens-common.h: Likewise.
37203         * tests/test-utimens.h: Likewise.
37204
37205         maint: sync license texts
37206         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37207         * doc/gpl-3.0.texi: Revert copyright year update.
37208         * doc/lgpl-3.0.texi: Likewise.
37209
37210 2009-12-29  Jim Meyering  <meyering@redhat.com>
37211
37212         update nearly all FSF copyright year lists to include 2009
37213         The files named by the following are exempted:
37214             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37215               test -f "$dst" && { echo "$dst"; continue; }
37216               test -d "$dst" || continue
37217               echo "$dst"/$(basename "$src")
37218             done > exempt
37219             git ls-files tests/unictype >> exempt
37220         In the remaining files, convert to all-interval notation if
37221         - there is already at least one year interval like 2000-2003
37222         - the file is maintained by me
37223         - the file is in lib/uni*/, where that style already prevails
37224         Otherwise, use update-copyright's default.
37225
37226 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37227         and Eric Blake  <ebb9@byu.net>
37228
37229         tests: don't require debug system() to pass
37230         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37231         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37232         * tests/test-unlink.h (test_unlink_func): Likewise.
37233         * tests/test-fstatat.c (main): ...into callers.
37234         * tests/test-lstat.c (main): Likewise.
37235         * tests/test-rmdir.c (main): Likewise.
37236         * tests/test-unlink.c (main): Likewise.
37237         * tests/test-unlinkat.c (main): Likewise.
37238         * tests/test-areadlink-with-size.c (main): Don't require a
37239         debug-only system call to pass, aiding cross-testing to mingw.
37240         * tests/test-areadlink.c (main): Likewise.
37241         * tests/test-areadlinkat-with-size.c (main): Likewise.
37242         * tests/test-areadlinkat.c (main): Likewise.
37243         * tests/test-canonicalize-lgpl.c (main): Likewise.
37244         * tests/test-canonicalize.c (main): Likewise.
37245         * tests/test-chown.c (main): Likewise.
37246         * tests/test-fchownat.c (main): Likewise.
37247         * tests/test-lchown.c (main): Likewise.
37248         * tests/test-fdutimensat.c (main): Likewise.
37249         * tests/test-futimens.c (main): Likewise.
37250         * tests/test-link.c (main): Likewise.
37251         * tests/test-linkat.c (main): Likewise.
37252         * tests/test-mkdir.c (main): Likewise.
37253         * tests/test-mkdirat.c (main): Likewise.
37254         * tests/test-mkfifo.c (main): Likewise.
37255         * tests/test-mkfifoat.c (main): Likewise.
37256         * tests/test-mknod.c (main): Likewise.
37257         * tests/test-readlink.c (main): Likewise.
37258         * tests/test-remove.c (main): Likewise.
37259         * tests/test-rename.c (main): Likewise.
37260         * tests/test-renameat.c (main): Likewise.
37261         * tests/test-symlink.c (main): Likewise.
37262         * tests/test-symlinkat.c (main): Likewise.
37263         * tests/test-utimens.c (main): Likewise.
37264         * tests/test-utimensat.c (main): Likewise.
37265
37266 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37267
37268         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37269         on $(UNUSED_PARAMETER_H) to avoid build failure.
37270
37271 2009-12-28  Jim Meyering  <meyering@redhat.com>
37272
37273         update-copyright: you may specify a max. line length other than 72
37274         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37275
37276         maint: use consistent FSF copyright line syntax
37277         * lib/posixtm.c: Add missing comma in FSF copyright line.
37278         * lib/posixtm.h: Likewise.
37279         * lib/getugroups.c: Add missing ", Inc.".
37280
37281         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37282         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37283         FSF copyright line.  Remove trailing blanks.
37284
37285 2009-12-28  Eric Blake  <ebb9@byu.net>
37286
37287         test-dup2: reduce dependencies
37288         * modules/cloexec (Configure.ac): Set witness.
37289         * modules/dup2-tests (Depends-on): Drop cloexec.
37290         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37291         not present.
37292         Suggested by Bruno Haible.
37293
37294 2009-12-26  Bruno Haible  <bruno@clisp.org>
37295
37296         Remove an unneeded dependency.
37297         * modules/fseterr (Depends-on): Remove dup2.
37298
37299 2009-12-26  Eric Blake  <ebb9@byu.net>
37300
37301         tests: use macros.h in more places
37302         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37303         (ASSERT_STREAM): Provide default of stderr.
37304         * tests/test-dirent-safer.c: Include macros.h, using alternate
37305         stream for assertions.
37306         * tests/test-dup-safer.c: Likewise.
37307         * tests/test-freopen-safer.c: Likewise.
37308         * tests/test-getopt.c: Likewise.
37309         * tests/test-openat-safer.c: Likewise.
37310         * tests/test-pipe.c: Likewise.
37311         * tests/test-popen-safer.c: Likewise.
37312         * modules/dirent-safer-tests (Files): Include macros.h.
37313         * modules/unistd-safer-tests (Files): Likewise.
37314         * modules/freopen-safer-tests (Files): Likewise.
37315         * modules/getopt-posix-tests (Files): Likewise.
37316         * modules/openat-safer-tests (Files): Likewise.
37317         * modules/pipe-tests (Files): Likewise.
37318
37319 2009-12-26  Bruno Haible  <bruno@clisp.org>
37320
37321         javacomp: Portability fix.
37322         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37323         that it also works on Solaris.
37324
37325 2009-12-26  Bruno Haible  <bruno@clisp.org>
37326
37327         localename: Fix storage allocation of gl_locale_name_thread's result.
37328         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37329         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37330         all platforms that have 'uselocale'.
37331         (gl_locale_name_thread_unsafe): New function, extracted from
37332         gl_locale_name_thread.
37333         (gl_locale_name_thread): Call struniq on all platforms that have
37334         'uselocale'.
37335         * tests/test-localename.c (test_locale_name_thread): Check that the
37336         resulting strings are permanently allocated.
37337         * modules/localename-tests (Depends-on): Add strdup.
37338
37339 2009-12-26  Bruno Haible  <bruno@clisp.org>
37340
37341         * tests/test-localename.c (categories): Fill in the strings.
37342
37343 2009-12-26  Jim Meyering  <meyering@redhat.com>
37344
37345         isdir: complete the removal of m4/isdir.m4
37346         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37347
37348         isdir: clean up, since at least grep still uses it
37349         * lib/isdir.c: Include "isdir.h".
37350         (S_ISDIR): Remove now-unneeded definition.
37351         * modules/isdir (Files): Add lib/isdir.h.
37352         * lib/isdir.h: New file, with declaration.
37353         * m4/isdir.m4: Remove file -- unneeded.
37354
37355 2009-12-25  Bruno Haible  <bruno@clisp.org>
37356
37357         selinux-h: Make generated .h files standalone.
37358         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37359         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37360         * lib/se-selinux.in.h: Likewise.
37361         * modules/selinux-h (Depends-on): Add unused-parameter.
37362         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37363         selinux/selinux.h and selinux/context.h.
37364         Suggested by Eric Blake.
37365
37366 2009-12-25  Bruno Haible  <bruno@clisp.org>
37367
37368         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37369         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37370         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37371         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37372         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37373
37374 2009-12-24  Bruno Haible  <bruno@clisp.org>
37375
37376         openat: Fix warning.
37377         * lib/openat-proc.c: Include <unistd.h>.
37378
37379 2009-12-24  Bruno Haible  <bruno@clisp.org>
37380
37381         New module 'unused-parameter'.
37382         * build-aux/unused-parameter.h: New file, extracted from earlier
37383         gnulib-common.m4.
37384         * modules/unused-parameter: New file.
37385         * lib/unistr.h: Include unused-parameter.h.
37386         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37387         _GL_UNUSED.
37388         * modules/unistr/base (Depends-on): Add unused-parameter.
37389
37390 2009-12-24  Bruno Haible  <bruno@clisp.org>
37391
37392         Add missing dependencies to 'extensions' module.
37393         * m4/extensions.m4: Add comment.
37394         * modules/accept4 (Depends-on): Add extensions.
37395         * modules/dup3 (Depends-on): Likewise.
37396         * modules/fcntl (Depends-on): Likewise.
37397         * modules/futimens (Depends-on): Likewise.
37398         * modules/mknod (Depends-on): Likewise.
37399         * modules/pipe2 (Depends-on): Likewise.
37400         * modules/stat-time (Depends-on): Likewise.
37401         * modules/strcasestr-simple (Depends-on): Likewise.
37402         * modules/strsignal (Depends-on): Likewise.
37403         * modules/utimensat (Depends-on): Likewise.
37404         * modules/localcharset (Depends-on): Likewise. Needed because of
37405         gl_FCNTL_O_FLAGS.
37406         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37407         AC_TYPE_MBSTATE_T.
37408         * modules/wcsnrtombs (Depends-on): Likewise.
37409         * modules/wcsrtombs (Depends-on): Likewise.
37410
37411 2009-12-24  Bruno Haible  <bruno@clisp.org>
37412
37413         binary-io: Avoid gcc warning due to SET_BINARY.
37414         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37415         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37416
37417 2009-12-24  Bruno Haible  <bruno@clisp.org>
37418
37419         Avoid future namespace pollution on glibc systems.
37420         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37421         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37422         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37423         glibc systems.
37424
37425 2009-12-24  Bruno Haible  <bruno@clisp.org>
37426
37427         Refactor common macros used in tests.
37428         * tests/macros.h: New file.
37429         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
37430         and/or <stdlib.h>, if appropriate.
37431         (ASSERT, SIZEOF): Remove macros.
37432         * tests/test-areadlink-with-size.c: Likewise.
37433         * tests/test-areadlinkat.c: Likewise.
37434         * tests/test-areadlinkat-with-size.c: Likewise.
37435         * tests/test-argmatch.c: Likewise.
37436         * tests/test-argv-iter.c: Likewise.
37437         * tests/test-array-mergesort.c: Likewise.
37438         * tests/test-array_list.c: Likewise.
37439         * tests/test-array_oset.c: Likewise.
37440         * tests/test-avltree_list.c: Likewise.
37441         * tests/test-avltree_oset.c: Likewise.
37442         * tests/test-avltreehash_list.c: Likewise.
37443         * tests/test-base64.c: Likewise.
37444         * tests/test-binary-io.c: Likewise.
37445         * tests/test-bitrotate.c: Likewise.
37446         * tests/test-btowc.c: Likewise.
37447         * tests/test-byteswap.c: Likewise.
37448         * tests/test-c-ctype.c: Likewise.
37449         * tests/test-c-stack.c: Likewise.
37450         * tests/test-c-strcasecmp.c: Likewise.
37451         * tests/test-c-strcasestr.c: Likewise.
37452         * tests/test-c-strncasecmp.c: Likewise.
37453         * tests/test-c-strstr.c: Likewise.
37454         * tests/test-canonicalize-lgpl.c: Likewise.
37455         * tests/test-canonicalize.c: Likewise.
37456         * tests/test-carray_list.c: Likewise.
37457         * tests/test-ceilf1.c: Likewise.
37458         * tests/test-ceilf2.c: Likewise.
37459         * tests/test-ceill.c: Likewise.
37460         * tests/test-chown.c: Likewise.
37461         * tests/test-cloexec.c: Likewise.
37462         * tests/test-copy-acl.c: Likewise.
37463         * tests/test-copy-file.c: Likewise.
37464         * tests/test-count-one-bits.c: Likewise.
37465         * tests/test-dprintf-posix.c: Likewise.
37466         * tests/test-dup2.c: Likewise.
37467         * tests/test-dup3.c: Likewise.
37468         * tests/test-duplocale.c: Likewise.
37469         * tests/test-fbufmode.c: Likewise.
37470         * tests/test-fchdir.c: Likewise.
37471         * tests/test-fchownat.c: Likewise.
37472         * tests/test-fcntl-safer.c: Likewise.
37473         * tests/test-fcntl.c: Likewise.
37474         * tests/test-fdopendir.c: Likewise.
37475         * tests/test-fdutimensat.c: Likewise.
37476         * tests/test-fflush2.c: Likewise.
37477         * tests/test-file-has-acl.c: Likewise.
37478         * tests/test-filevercmp.c: Likewise.
37479         * tests/test-flock.c: Likewise.
37480         * tests/test-floorf1.c: Likewise.
37481         * tests/test-floorf2.c: Likewise.
37482         * tests/test-floorl.c: Likewise.
37483         * tests/test-fnmatch.c: Likewise.
37484         * tests/test-fopen.h: Likewise.
37485         * tests/test-fpending.c: Likewise.
37486         * tests/test-fprintf-posix.c: Likewise.
37487         * tests/test-fpurge.c: Likewise.
37488         * tests/test-freadable.c: Likewise.
37489         * tests/test-freadahead.c: Likewise.
37490         * tests/test-freading.c: Likewise.
37491         * tests/test-freadptr.c: Likewise.
37492         * tests/test-freadptr2.c: Likewise.
37493         * tests/test-freadseek.c: Likewise.
37494         * tests/test-freopen.c: Likewise.
37495         * tests/test-frexp.c: Likewise.
37496         * tests/test-frexpl.c: Likewise.
37497         * tests/test-fseek.c: Likewise.
37498         * tests/test-fseeko.c: Likewise.
37499         * tests/test-fstatat.c: Likewise.
37500         * tests/test-fstrcmp.c: Likewise.
37501         * tests/test-fsync.c: Likewise.
37502         * tests/test-ftell.c: Likewise.
37503         * tests/test-ftello.c: Likewise.
37504         * tests/test-func.c: Likewise.
37505         * tests/test-futimens.c: Likewise.
37506         * tests/test-fwritable.c: Likewise.
37507         * tests/test-fwriting.c: Likewise.
37508         * tests/test-getcwd.c: Likewise.
37509         * tests/test-getdate.c: Likewise.
37510         * tests/test-getdelim.c: Likewise.
37511         * tests/test-getdtablesize.c: Likewise.
37512         * tests/test-getgroups.c: Likewise.
37513         * tests/test-getline.c: Likewise.
37514         * tests/test-getndelim2.c: Likewise.
37515         * tests/test-glob.c: Likewise.
37516         * tests/test-hash.c: Likewise.
37517         * tests/test-i-ring.c: Likewise.
37518         * tests/test-iconv-utf.c: Likewise.
37519         * tests/test-iconv.c: Likewise.
37520         * tests/test-idpriv-drop.c: Likewise.
37521         * tests/test-idpriv-droptemp.c: Likewise.
37522         * tests/test-inet_ntop.c: Likewise.
37523         * tests/test-inet_pton.c: Likewise.
37524         * tests/test-isblank.c: Likewise.
37525         * tests/test-isfinite.c: Likewise.
37526         * tests/test-isinf.c: Likewise.
37527         * tests/test-isnan.c: Likewise.
37528         * tests/test-isnand.h: Likewise.
37529         * tests/test-isnanf.h: Likewise.
37530         * tests/test-isnanl.h: Likewise.
37531         * tests/test-lchown.c: Likewise.
37532         * tests/test-ldexpl.c: Likewise.
37533         * tests/test-link.c: Likewise.
37534         * tests/test-linkat.c: Likewise.
37535         * tests/test-linked_list.c: Likewise.
37536         * tests/test-linkedhash_list.c: Likewise.
37537         * tests/test-localename.c: Likewise.
37538         * tests/test-lseek.c: Likewise.
37539         * tests/test-lstat.c: Likewise.
37540         * tests/test-mbmemcasecmp.c: Likewise.
37541         * tests/test-mbmemcasecoll.c: Likewise.
37542         * tests/test-mbrtowc.c: Likewise.
37543         * tests/test-mbscasecmp.c: Likewise.
37544         * tests/test-mbscasestr1.c: Likewise.
37545         * tests/test-mbscasestr2.c: Likewise.
37546         * tests/test-mbscasestr3.c: Likewise.
37547         * tests/test-mbscasestr4.c: Likewise.
37548         * tests/test-mbschr.c: Likewise.
37549         * tests/test-mbscspn.c: Likewise.
37550         * tests/test-mbsinit.c: Likewise.
37551         * tests/test-mbsncasecmp.c: Likewise.
37552         * tests/test-mbsnrtowcs.c: Likewise.
37553         * tests/test-mbspbrk.c: Likewise.
37554         * tests/test-mbspcasecmp.c: Likewise.
37555         * tests/test-mbsrchr.c: Likewise.
37556         * tests/test-mbsrtowcs.c: Likewise.
37557         * tests/test-mbsspn.c: Likewise.
37558         * tests/test-mbsstr1.c: Likewise.
37559         * tests/test-mbsstr2.c: Likewise.
37560         * tests/test-mbsstr3.c: Likewise.
37561         * tests/test-memchr.c: Likewise.
37562         * tests/test-memchr2.c: Likewise.
37563         * tests/test-memcmp.c: Likewise.
37564         * tests/test-memmem.c: Likewise.
37565         * tests/test-memrchr.c: Likewise.
37566         * tests/test-mkdir.c: Likewise.
37567         * tests/test-mkdirat.c: Likewise.
37568         * tests/test-mkfifo.c: Likewise.
37569         * tests/test-mkfifoat.c: Likewise.
37570         * tests/test-mknod.c: Likewise.
37571         * tests/test-nanosleep.c: Likewise.
37572         * tests/test-nl_langinfo.c: Likewise.
37573         * tests/test-obstack-printf.c: Likewise.
37574         * tests/test-open.c: Likewise.
37575         * tests/test-openat.c: Likewise.
37576         * tests/test-pipe-filter-gi1.c: Likewise.
37577         * tests/test-pipe-filter-gi2-main.c: Likewise.
37578         * tests/test-pipe-filter-ii1.c: Likewise.
37579         * tests/test-pipe-filter-ii2-main.c: Likewise.
37580         * tests/test-pipe2.c: Likewise.
37581         * tests/test-popen.h: Likewise.
37582         * tests/test-posixtm.c: Likewise.
37583         * tests/test-pread.c: Likewise.
37584         * tests/test-printf-frexp.c: Likewise.
37585         * tests/test-printf-frexpl.c: Likewise.
37586         * tests/test-printf-posix.c: Likewise.
37587         * tests/test-priv-set.c: Likewise.
37588         * tests/test-quotearg.c: Likewise.
37589         * tests/test-random_r.c: Likewise.
37590         * tests/test-rawmemchr.c: Likewise.
37591         * tests/test-rbtree_list.c: Likewise.
37592         * tests/test-rbtree_oset.c: Likewise.
37593         * tests/test-rbtreehash_list.c: Likewise.
37594         * tests/test-readlink.c: Likewise.
37595         * tests/test-remove.c: Likewise.
37596         * tests/test-rename.c: Likewise.
37597         * tests/test-renameat.c: Likewise.
37598         * tests/test-rmdir.c: Likewise.
37599         * tests/test-round1.c: Likewise.
37600         * tests/test-roundf1.c: Likewise.
37601         * tests/test-roundl.c: Likewise.
37602         * tests/test-safe-alloc.c: Likewise.
37603         * tests/test-sameacls.c: Likewise.
37604         * tests/test-set-mode-acl.c: Likewise.
37605         * tests/test-setenv.c: Likewise.
37606         * tests/test-sigaction.c: Likewise.
37607         * tests/test-signbit.c: Likewise.
37608         * tests/test-sleep.c: Likewise.
37609         * tests/test-snprintf-posix.c: Likewise.
37610         * tests/test-snprintf.c: Likewise.
37611         * tests/test-sprintf-posix.c: Likewise.
37612         * tests/test-stat-time.c: Likewise.
37613         * tests/test-stat.c: Likewise.
37614         * tests/test-strcasestr.c: Likewise.
37615         * tests/test-strchrnul.c: Likewise.
37616         * tests/test-strerror.c: Likewise.
37617         * tests/test-striconv.c: Likewise.
37618         * tests/test-striconveh.c: Likewise.
37619         * tests/test-striconveha.c: Likewise.
37620         * tests/test-strsignal.c: Likewise.
37621         * tests/test-strstr.c: Likewise.
37622         * tests/test-strtod.c: Likewise.
37623         * tests/test-strverscmp.c: Likewise.
37624         * tests/test-symlink.c: Likewise.
37625         * tests/test-symlinkat.c: Likewise.
37626         * tests/test-trunc1.c: Likewise.
37627         * tests/test-trunc2.c: Likewise.
37628         * tests/test-truncf1.c: Likewise.
37629         * tests/test-truncf2.c: Likewise.
37630         * tests/test-truncl.c: Likewise.
37631         * tests/test-uname.c: Likewise.
37632         * tests/test-unlink.c: Likewise.
37633         * tests/test-unlinkat.c: Likewise.
37634         * tests/test-unsetenv.c: Likewise.
37635         * tests/test-usleep.c: Likewise.
37636         * tests/test-utimens.c: Likewise.
37637         * tests/test-utimensat.c: Likewise.
37638         * tests/test-vasnprintf-posix.c: Likewise.
37639         * tests/test-vasnprintf-posix2.c: Likewise.
37640         * tests/test-vasnprintf.c: Likewise.
37641         * tests/test-vasprintf-posix.c: Likewise.
37642         * tests/test-vasprintf.c: Likewise.
37643         * tests/test-vdprintf-posix.c: Likewise.
37644         * tests/test-vfprintf-posix.c: Likewise.
37645         * tests/test-vprintf-posix.c: Likewise.
37646         * tests/test-vsnprintf-posix.c: Likewise.
37647         * tests/test-vsnprintf.c: Likewise.
37648         * tests/test-vsprintf-posix.c: Likewise.
37649         * tests/test-wcrtomb.c: Likewise.
37650         * tests/test-wcsnrtombs.c: Likewise.
37651         * tests/test-wcsrtombs.c: Likewise.
37652         * tests/test-wctype.c: Likewise.
37653         * tests/test-wcwidth.c: Likewise.
37654         * tests/test-xfprintf-posix.c: Likewise.
37655         * tests/test-xmemdup0.c: Likewise.
37656         * tests/test-xprintf-posix.c: Likewise.
37657         * tests/test-xvasprintf.c: Likewise.
37658         * tests/unicase/test-locale-language.c: Likewise.
37659         * tests/unicase/test-mapping-part1.h: Likewise.
37660         * tests/unicase/test-predicate-part1.h: Likewise.
37661         * tests/unicase/test-u8-casecmp.c: Likewise.
37662         * tests/unicase/test-u8-casecoll.c: Likewise.
37663         * tests/unicase/test-u8-casefold.c: Likewise.
37664         * tests/unicase/test-u8-is-cased.c: Likewise.
37665         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37666         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37667         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37668         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37669         * tests/unicase/test-u8-tolower.c: Likewise.
37670         * tests/unicase/test-u8-totitle.c: Likewise.
37671         * tests/unicase/test-u8-toupper.c: Likewise.
37672         * tests/unicase/test-u16-casecmp.c: Likewise.
37673         * tests/unicase/test-u16-casecoll.c: Likewise.
37674         * tests/unicase/test-u16-casefold.c: Likewise.
37675         * tests/unicase/test-u16-is-cased.c: Likewise.
37676         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37677         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37678         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37679         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37680         * tests/unicase/test-u16-tolower.c: Likewise.
37681         * tests/unicase/test-u16-totitle.c: Likewise.
37682         * tests/unicase/test-u16-toupper.c: Likewise.
37683         * tests/unicase/test-u32-casecmp.c: Likewise.
37684         * tests/unicase/test-u32-casecoll.c: Likewise.
37685         * tests/unicase/test-u32-casefold.c: Likewise.
37686         * tests/unicase/test-u32-is-cased.c: Likewise.
37687         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37688         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37689         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37690         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37691         * tests/unicase/test-u32-tolower.c: Likewise.
37692         * tests/unicase/test-u32-totitle.c: Likewise.
37693         * tests/unicase/test-u32-toupper.c: Likewise.
37694         * tests/unicase/test-ulc-casecmp.c: Likewise.
37695         * tests/unicase/test-ulc-casecoll.c: Likewise.
37696         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37697         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37698         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37699         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37700         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37701         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37702         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37703         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37704         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37705         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37706         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37707         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37708         * tests/unictype/test-bidi_byname.c: Likewise.
37709         * tests/unictype/test-bidi_name.c: Likewise.
37710         * tests/unictype/test-bidi_of.c: Likewise.
37711         * tests/unictype/test-bidi_test.c: Likewise.
37712         * tests/unictype/test-block_list.c: Likewise.
37713         * tests/unictype/test-block_of.c: Likewise.
37714         * tests/unictype/test-block_test.c: Likewise.
37715         * tests/unictype/test-categ_and.c: Likewise.
37716         * tests/unictype/test-categ_and_not.c: Likewise.
37717         * tests/unictype/test-categ_byname.c: Likewise.
37718         * tests/unictype/test-categ_name.c: Likewise.
37719         * tests/unictype/test-categ_none.c: Likewise.
37720         * tests/unictype/test-categ_of.c: Likewise.
37721         * tests/unictype/test-categ_or.c: Likewise.
37722         * tests/unictype/test-categ_test_withtable.c: Likewise.
37723         * tests/unictype/test-combining.c: Likewise.
37724         * tests/unictype/test-decdigit.c: Likewise.
37725         * tests/unictype/test-digit.c: Likewise.
37726         * tests/unictype/test-mirror.c: Likewise.
37727         * tests/unictype/test-numeric.c: Likewise.
37728         * tests/unictype/test-pr_byname.c: Likewise.
37729         * tests/unictype/test-pr_test.c: Likewise.
37730         * tests/unictype/test-predicate-part1.h: Likewise.
37731         * tests/unictype/test-scripts.c: Likewise.
37732         * tests/unictype/test-sy_c_ident.c: Likewise.
37733         * tests/unictype/test-sy_java_ident.c: Likewise.
37734         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37735         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37736         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37737         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37738         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37739         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37740         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37741         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37742         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37743         * tests/uninorm/test-compat-decomposition.c: Likewise.
37744         * tests/uninorm/test-composition.c: Likewise.
37745         * tests/uninorm/test-decomposing-form.c: Likewise.
37746         * tests/uninorm/test-decomposition.c: Likewise.
37747         * tests/uninorm/test-u8-nfc.c: Likewise.
37748         * tests/uninorm/test-u8-nfd.c: Likewise.
37749         * tests/uninorm/test-u8-nfkc.c: Likewise.
37750         * tests/uninorm/test-u8-nfkd.c: Likewise.
37751         * tests/uninorm/test-u8-normcmp.c: Likewise.
37752         * tests/uninorm/test-u8-normcoll.c: Likewise.
37753         * tests/uninorm/test-u16-nfc.c: Likewise.
37754         * tests/uninorm/test-u16-nfd.c: Likewise.
37755         * tests/uninorm/test-u16-nfkc.c: Likewise.
37756         * tests/uninorm/test-u16-nfkd.c: Likewise.
37757         * tests/uninorm/test-u16-normcmp.c: Likewise.
37758         * tests/uninorm/test-u16-normcoll.c: Likewise.
37759         * tests/uninorm/test-u32-nfc.c: Likewise.
37760         * tests/uninorm/test-u32-nfd.c: Likewise.
37761         * tests/uninorm/test-u32-nfkc.c: Likewise.
37762         * tests/uninorm/test-u32-nfkd.c: Likewise.
37763         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37764         * tests/uninorm/test-u32-normcmp.c: Likewise.
37765         * tests/uninorm/test-u32-normcoll.c: Likewise.
37766         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37767         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37768         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37769         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37770         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37771         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37772         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37773         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37774         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37775         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37776         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37777         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37778         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37779         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37780         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37781         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37782         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37783         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37784         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37785         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37786         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37787         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37788         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37789         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37790         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37791         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37792         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37793         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37794         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37795         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37796         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37797         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37798         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37799         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37800         * tests/uniwidth/test-u8-width.c: Likewise.
37801         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37802         * tests/uniwidth/test-u16-width.c: Likewise.
37803         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37804         * tests/uniwidth/test-u32-width.c: Likewise.
37805         * tests/uniwidth/test-uc_width.c: Likewise.
37806         * tests/uniwidth/test-uc_width2.c: Likewise.
37807         * modules/acl-tests (Files): Add tests/macros.h.
37808         * modules/areadlink-tests (Files): Likewise.
37809         * modules/areadlink-with-size-tests (Files): Likewise.
37810         * modules/areadlinkat-tests (Files): Likewise.
37811         * modules/areadlinkat-with-size-tests (Files): Likewise.
37812         * modules/argmatch-tests (Files): Likewise.
37813         * modules/argv-iter-tests (Files): Likewise.
37814         * modules/array-list-tests (Files): Likewise.
37815         * modules/array-mergesort-tests (Files): Likewise.
37816         * modules/array-oset-tests (Files): Likewise.
37817         * modules/avltree-list-tests (Files): Likewise.
37818         * modules/avltree-oset-tests (Files): Likewise.
37819         * modules/avltreehash-list-tests (Files): Likewise.
37820         * modules/base64-tests (Files): Likewise.
37821         * modules/binary-io-tests (Files): Likewise.
37822         * modules/bitrotate-tests (Files): Likewise.
37823         * modules/btowc-tests (Files): Likewise.
37824         * modules/byteswap-tests (Files): Likewise.
37825         * modules/c-ctype-tests (Files): Likewise.
37826         * modules/c-stack-tests (Files): Likewise.
37827         * modules/c-strcase-tests (Files): Likewise.
37828         * modules/c-strcasestr-tests (Files): Likewise.
37829         * modules/c-strstr-tests (Files): Likewise.
37830         * modules/canonicalize-lgpl-tests (Files): Likewise.
37831         * modules/canonicalize-tests (Files): Likewise.
37832         * modules/carray-list-tests (Files): Likewise.
37833         * modules/ceilf-tests (Files): Likewise.
37834         * modules/ceill-tests (Files): Likewise.
37835         * modules/chown-tests (Files): Likewise.
37836         * modules/cloexec-tests (Files): Likewise.
37837         * modules/copy-file-tests (Files): Likewise.
37838         * modules/count-one-bits-tests (Files): Likewise.
37839         * modules/dprintf-posix-tests (Files): Likewise.
37840         * modules/dup2-tests (Files): Likewise.
37841         * modules/dup3-tests (Files): Likewise.
37842         * modules/duplocale-tests (Files): Likewise.
37843         * modules/fbufmode-tests (Files): Likewise.
37844         * modules/fchdir-tests (Files): Likewise.
37845         * modules/fcntl-safer-tests (Files): Likewise.
37846         * modules/fcntl-tests (Files): Likewise.
37847         * modules/fdopendir-tests (Files): Likewise.
37848         * modules/fdutimensat-tests (Files): Likewise.
37849         * modules/fflush-tests (Files): Likewise.
37850         * modules/filevercmp-tests (Files): Likewise.
37851         * modules/flock-tests (Files): Likewise.
37852         * modules/floorf-tests (Files): Likewise.
37853         * modules/floorl-tests (Files): Likewise.
37854         * modules/fnmatch-tests (Files): Likewise.
37855         * modules/fopen-safer-tests (Files): Likewise.
37856         * modules/fopen-tests (Files): Likewise.
37857         * modules/fpending-tests (Files): Likewise.
37858         * modules/fprintf-posix-tests (Files): Likewise.
37859         * modules/fpurge-tests (Files): Likewise.
37860         * modules/freadable-tests (Files): Likewise.
37861         * modules/freadahead-tests (Files): Likewise.
37862         * modules/freading-tests (Files): Likewise.
37863         * modules/freadptr-tests (Files): Likewise.
37864         * modules/freadseek-tests (Files): Likewise.
37865         * modules/freopen-tests (Files): Likewise.
37866         * modules/frexp-nolibm-tests (Files): Likewise.
37867         * modules/frexp-tests (Files): Likewise.
37868         * modules/frexpl-nolibm-tests (Files): Likewise.
37869         * modules/frexpl-tests (Files): Likewise.
37870         * modules/fseek-tests (Files): Likewise.
37871         * modules/fseeko-tests (Files): Likewise.
37872         * modules/fstrcmp-tests (Files): Likewise.
37873         * modules/fsync-tests (Files): Likewise.
37874         * modules/ftell-tests (Files): Likewise.
37875         * modules/ftello-tests (Files): Likewise.
37876         * modules/func-tests (Files): Likewise.
37877         * modules/futimens-tests (Files): Likewise.
37878         * modules/fwritable-tests (Files): Likewise.
37879         * modules/fwriting-tests (Files): Likewise.
37880         * modules/getcwd-tests (Files): Likewise.
37881         * modules/getdate-tests (Files): Likewise.
37882         * modules/getdelim-tests (Files): Likewise.
37883         * modules/getdtablesize-tests (Files): Likewise.
37884         * modules/getgroups-tests (Files): Likewise.
37885         * modules/getline-tests (Files): Likewise.
37886         * modules/getndelim2-tests (Files): Likewise.
37887         * modules/glob-tests (Files): Likewise.
37888         * modules/hash-tests (Files): Likewise.
37889         * modules/i-ring-tests (Files): Likewise.
37890         * modules/iconv-tests (Files): Likewise.
37891         * modules/iconv_open-utf-tests (Files): Likewise.
37892         * modules/idpriv-drop-tests (Files): Likewise.
37893         * modules/idpriv-droptemp-tests (Files): Likewise.
37894         * modules/inet_ntop-tests (Files): Likewise.
37895         * modules/inet_pton-tests (Files): Likewise.
37896         * modules/isblank-tests (Files): Likewise.
37897         * modules/isfinite-tests (Files): Likewise.
37898         * modules/isinf-tests (Files): Likewise.
37899         * modules/isnan-tests (Files): Likewise.
37900         * modules/isnand-nolibm-tests (Files): Likewise.
37901         * modules/isnand-tests (Files): Likewise.
37902         * modules/isnanf-nolibm-tests (Files): Likewise.
37903         * modules/isnanf-tests (Files): Likewise.
37904         * modules/isnanl-nolibm-tests (Files): Likewise.
37905         * modules/isnanl-tests (Files): Likewise.
37906         * modules/lchown-tests (Files): Likewise.
37907         * modules/ldexpl-tests (Files): Likewise.
37908         * modules/link-tests (Files): Likewise.
37909         * modules/linkat-tests (Files): Likewise.
37910         * modules/linked-list-tests (Files): Likewise.
37911         * modules/linkedhash-list-tests (Files): Likewise.
37912         * modules/localename-tests (Files): Likewise.
37913         * modules/lseek-tests (Files): Likewise.
37914         * modules/lstat-tests (Files): Likewise.
37915         * modules/mbmemcasecmp-tests (Files): Likewise.
37916         * modules/mbmemcasecoll-tests (Files): Likewise.
37917         * modules/mbrtowc-tests (Files): Likewise.
37918         * modules/mbscasecmp-tests (Files): Likewise.
37919         * modules/mbscasestr-tests (Files): Likewise.
37920         * modules/mbschr-tests (Files): Likewise.
37921         * modules/mbscspn-tests (Files): Likewise.
37922         * modules/mbsinit-tests (Files): Likewise.
37923         * modules/mbsncasecmp-tests (Files): Likewise.
37924         * modules/mbsnrtowcs-tests (Files): Likewise.
37925         * modules/mbspbrk-tests (Files): Likewise.
37926         * modules/mbspcasecmp-tests (Files): Likewise.
37927         * modules/mbsrchr-tests (Files): Likewise.
37928         * modules/mbsrtowcs-tests (Files): Likewise.
37929         * modules/mbsspn-tests (Files): Likewise.
37930         * modules/mbsstr-tests (Files): Likewise.
37931         * modules/memchr-tests (Files): Likewise.
37932         * modules/memchr2-tests (Files): Likewise.
37933         * modules/memcmp-tests (Files): Likewise.
37934         * modules/memmem-tests (Files): Likewise.
37935         * modules/memrchr-tests (Files): Likewise.
37936         * modules/mkdir-tests (Files): Likewise.
37937         * modules/mkfifo-tests (Files): Likewise.
37938         * modules/mkfifoat-tests (Files): Likewise.
37939         * modules/mknod-tests (Files): Likewise.
37940         * modules/nanosleep-tests (Files): Likewise.
37941         * modules/nl_langinfo-tests (Files): Likewise.
37942         * modules/obstack-printf-tests (Files): Likewise.
37943         * modules/open-tests (Files): Likewise.
37944         * modules/openat-tests (Files): Likewise.
37945         * modules/pipe-filter-gi-tests (Files): Likewise.
37946         * modules/pipe-filter-ii-tests (Files): Likewise.
37947         * modules/pipe2-tests (Files): Likewise.
37948         * modules/popen-safer-tests (Files): Likewise.
37949         * modules/popen-tests (Files): Likewise.
37950         * modules/posixtm-tests (Files): Likewise.
37951         * modules/pread-tests (Files): Likewise.
37952         * modules/printf-frexp-tests (Files): Likewise.
37953         * modules/printf-frexpl-tests (Files): Likewise.
37954         * modules/printf-posix-tests (Files): Likewise.
37955         * modules/priv-set-tests (Files): Likewise.
37956         * modules/quotearg-tests (Files): Likewise.
37957         * modules/random_r-tests (Files): Likewise.
37958         * modules/rawmemchr-tests (Files): Likewise.
37959         * modules/rbtree-list-tests (Files): Likewise.
37960         * modules/rbtree-oset-tests (Files): Likewise.
37961         * modules/rbtreehash-list-tests (Files): Likewise.
37962         * modules/readlink-tests (Files): Likewise.
37963         * modules/remove-tests (Files): Likewise.
37964         * modules/rename-tests (Files): Likewise.
37965         * modules/renameat-tests (Files): Likewise.
37966         * modules/rmdir-tests (Files): Likewise.
37967         * modules/round-tests (Files): Likewise.
37968         * modules/roundf-tests (Files): Likewise.
37969         * modules/roundl-tests (Files): Likewise.
37970         * modules/safe-alloc-tests (Files): Likewise.
37971         * modules/setenv-tests (Files): Likewise.
37972         * modules/sigaction-tests (Files): Likewise.
37973         * modules/signbit-tests (Files): Likewise.
37974         * modules/sleep-tests (Files): Likewise.
37975         * modules/snprintf-posix-tests (Files): Likewise.
37976         * modules/snprintf-tests (Files): Likewise.
37977         * modules/sprintf-posix-tests (Files): Likewise.
37978         * modules/stat-tests (Files): Likewise.
37979         * modules/stat-time-tests (Files): Likewise.
37980         * modules/strcasestr-tests (Files): Likewise.
37981         * modules/strchrnul-tests (Files): Likewise.
37982         * modules/strerror-tests (Files): Likewise.
37983         * modules/striconv-tests (Files): Likewise.
37984         * modules/striconveh-tests (Files): Likewise.
37985         * modules/striconveha-tests (Files): Likewise.
37986         * modules/strsignal-tests (Files): Likewise.
37987         * modules/strstr-tests (Files): Likewise.
37988         * modules/strtod-tests (Files): Likewise.
37989         * modules/strverscmp-tests (Files): Likewise.
37990         * modules/symlink-tests (Files): Likewise.
37991         * modules/symlinkat-tests (Files): Likewise.
37992         * modules/trunc-tests (Files): Likewise.
37993         * modules/truncf-tests (Files): Likewise.
37994         * modules/truncl-tests (Files): Likewise.
37995         * modules/uname-tests (Files): Likewise.
37996         * modules/unicase/cased-tests (Files): Likewise.
37997         * modules/unicase/ignorable-tests (Files): Likewise.
37998         * modules/unicase/locale-language-tests (Files): Likewise.
37999         * modules/unicase/tolower-tests (Files): Likewise.
38000         * modules/unicase/totitle-tests (Files): Likewise.
38001         * modules/unicase/toupper-tests (Files): Likewise.
38002         * modules/unicase/u8-casecmp-tests (Files): Likewise.
38003         * modules/unicase/u8-casecoll-tests (Files): Likewise.
38004         * modules/unicase/u8-casefold-tests (Files): Likewise.
38005         * modules/unicase/u8-is-cased-tests (Files): Likewise.
38006         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
38007         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
38008         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
38009         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
38010         * modules/unicase/u8-tolower-tests (Files): Likewise.
38011         * modules/unicase/u8-totitle-tests (Files): Likewise.
38012         * modules/unicase/u8-toupper-tests (Files): Likewise.
38013         * modules/unicase/u16-casecmp-tests (Files): Likewise.
38014         * modules/unicase/u16-casecoll-tests (Files): Likewise.
38015         * modules/unicase/u16-casefold-tests (Files): Likewise.
38016         * modules/unicase/u16-is-cased-tests (Files): Likewise.
38017         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
38018         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
38019         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
38020         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
38021         * modules/unicase/u16-tolower-tests (Files): Likewise.
38022         * modules/unicase/u16-totitle-tests (Files): Likewise.
38023         * modules/unicase/u16-toupper-tests (Files): Likewise.
38024         * modules/unicase/u32-casecmp-tests (Files): Likewise.
38025         * modules/unicase/u32-casecoll-tests (Files): Likewise.
38026         * modules/unicase/u32-casefold-tests (Files): Likewise.
38027         * modules/unicase/u32-is-cased-tests (Files): Likewise.
38028         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
38029         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
38030         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
38031         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
38032         * modules/unicase/u32-tolower-tests (Files): Likewise.
38033         * modules/unicase/u32-totitle-tests (Files): Likewise.
38034         * modules/unicase/u32-toupper-tests (Files): Likewise.
38035         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
38036         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
38037         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
38038         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
38039         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
38040         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
38041         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
38042         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
38043         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
38044         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
38045         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
38046         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
38047         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
38048         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
38049         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
38050         * modules/unictype/bidicategory-name-tests (Files): Likewise.
38051         * modules/unictype/bidicategory-of-tests (Files): Likewise.
38052         * modules/unictype/bidicategory-test-tests (Files): Likewise.
38053         * modules/unictype/block-list-tests (Files): Likewise.
38054         * modules/unictype/block-of-tests (Files): Likewise.
38055         * modules/unictype/block-test-tests (Files): Likewise.
38056         * modules/unictype/category-C-tests (Files): Likewise.
38057         * modules/unictype/category-Cc-tests (Files): Likewise.
38058         * modules/unictype/category-Cf-tests (Files): Likewise.
38059         * modules/unictype/category-Cn-tests (Files): Likewise.
38060         * modules/unictype/category-Co-tests (Files): Likewise.
38061         * modules/unictype/category-Cs-tests (Files): Likewise.
38062         * modules/unictype/category-L-tests (Files): Likewise.
38063         * modules/unictype/category-Ll-tests (Files): Likewise.
38064         * modules/unictype/category-Lm-tests (Files): Likewise.
38065         * modules/unictype/category-Lo-tests (Files): Likewise.
38066         * modules/unictype/category-Lt-tests (Files): Likewise.
38067         * modules/unictype/category-Lu-tests (Files): Likewise.
38068         * modules/unictype/category-M-tests (Files): Likewise.
38069         * modules/unictype/category-Mc-tests (Files): Likewise.
38070         * modules/unictype/category-Me-tests (Files): Likewise.
38071         * modules/unictype/category-Mn-tests (Files): Likewise.
38072         * modules/unictype/category-N-tests (Files): Likewise.
38073         * modules/unictype/category-Nd-tests (Files): Likewise.
38074         * modules/unictype/category-Nl-tests (Files): Likewise.
38075         * modules/unictype/category-No-tests (Files): Likewise.
38076         * modules/unictype/category-P-tests (Files): Likewise.
38077         * modules/unictype/category-Pc-tests (Files): Likewise.
38078         * modules/unictype/category-Pd-tests (Files): Likewise.
38079         * modules/unictype/category-Pe-tests (Files): Likewise.
38080         * modules/unictype/category-Pf-tests (Files): Likewise.
38081         * modules/unictype/category-Pi-tests (Files): Likewise.
38082         * modules/unictype/category-Po-tests (Files): Likewise.
38083         * modules/unictype/category-Ps-tests (Files): Likewise.
38084         * modules/unictype/category-S-tests (Files): Likewise.
38085         * modules/unictype/category-Sc-tests (Files): Likewise.
38086         * modules/unictype/category-Sk-tests (Files): Likewise.
38087         * modules/unictype/category-Sm-tests (Files): Likewise.
38088         * modules/unictype/category-So-tests (Files): Likewise.
38089         * modules/unictype/category-Z-tests (Files): Likewise.
38090         * modules/unictype/category-Zl-tests (Files): Likewise.
38091         * modules/unictype/category-Zp-tests (Files): Likewise.
38092         * modules/unictype/category-Zs-tests (Files): Likewise.
38093         * modules/unictype/category-and-not-tests (Files): Likewise.
38094         * modules/unictype/category-and-tests (Files): Likewise.
38095         * modules/unictype/category-byname-tests (Files): Likewise.
38096         * modules/unictype/category-name-tests (Files): Likewise.
38097         * modules/unictype/category-none-tests (Files): Likewise.
38098         * modules/unictype/category-of-tests (Files): Likewise.
38099         * modules/unictype/category-or-tests (Files): Likewise.
38100         * modules/unictype/category-test-withtable-tests (Files): Likewise.
38101         * modules/unictype/combining-class-tests (Files): Likewise.
38102         * modules/unictype/ctype-alnum-tests (Files): Likewise.
38103         * modules/unictype/ctype-alpha-tests (Files): Likewise.
38104         * modules/unictype/ctype-blank-tests (Files): Likewise.
38105         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
38106         * modules/unictype/ctype-digit-tests (Files): Likewise.
38107         * modules/unictype/ctype-graph-tests (Files): Likewise.
38108         * modules/unictype/ctype-lower-tests (Files): Likewise.
38109         * modules/unictype/ctype-print-tests (Files): Likewise.
38110         * modules/unictype/ctype-punct-tests (Files): Likewise.
38111         * modules/unictype/ctype-space-tests (Files): Likewise.
38112         * modules/unictype/ctype-upper-tests (Files): Likewise.
38113         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
38114         * modules/unictype/decimal-digit-tests (Files): Likewise.
38115         * modules/unictype/digit-tests (Files): Likewise.
38116         * modules/unictype/mirror-tests (Files): Likewise.
38117         * modules/unictype/numeric-tests (Files): Likewise.
38118         * modules/unictype/property-alphabetic-tests (Files): Likewise.
38119         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
38120         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
38121         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
38122         Likewise.
38123         * modules/unictype/property-bidi-block-separator-tests (Files):
38124         Likewise.
38125         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
38126         Likewise.
38127         * modules/unictype/property-bidi-common-separator-tests (Files):
38128         Likewise.
38129         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38130         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38131         Likewise.
38132         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38133         Likewise.
38134         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38135         Likewise.
38136         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38137         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38138         Likewise.
38139         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38140         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38141         Likewise.
38142         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38143         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38144         * modules/unictype/property-bidi-segment-separator-tests (Files):
38145         Likewise.
38146         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38147         * modules/unictype/property-byname-tests (Files): Likewise.
38148         * modules/unictype/property-combining-tests (Files): Likewise.
38149         * modules/unictype/property-composite-tests (Files): Likewise.
38150         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38151         * modules/unictype/property-dash-tests (Files): Likewise.
38152         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38153         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38154         Likewise.
38155         * modules/unictype/property-deprecated-tests (Files): Likewise.
38156         * modules/unictype/property-diacritic-tests (Files): Likewise.
38157         * modules/unictype/property-extender-tests (Files): Likewise.
38158         * modules/unictype/property-format-control-tests (Files): Likewise.
38159         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38160         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38161         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38162         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38163         * modules/unictype/property-hyphen-tests (Files): Likewise.
38164         * modules/unictype/property-id-continue-tests (Files): Likewise.
38165         * modules/unictype/property-id-start-tests (Files): Likewise.
38166         * modules/unictype/property-ideographic-tests (Files): Likewise.
38167         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38168         * modules/unictype/property-ids-trinary-operator-tests (Files):
38169         Likewise.
38170         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38171         * modules/unictype/property-iso-control-tests (Files): Likewise.
38172         * modules/unictype/property-join-control-tests (Files): Likewise.
38173         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38174         * modules/unictype/property-line-separator-tests (Files): Likewise.
38175         * modules/unictype/property-logical-order-exception-tests (Files):
38176         Likewise.
38177         * modules/unictype/property-lowercase-tests (Files): Likewise.
38178         * modules/unictype/property-math-tests (Files): Likewise.
38179         * modules/unictype/property-non-break-tests (Files): Likewise.
38180         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38181         * modules/unictype/property-numeric-tests (Files): Likewise.
38182         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38183         * modules/unictype/property-other-default-ignorable-code-point-tests
38184         (Files): Likewise.
38185         * modules/unictype/property-other-grapheme-extend-tests (Files):
38186         Likewise.
38187         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38188         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38189         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38190         * modules/unictype/property-other-math-tests (Files): Likewise.
38191         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38192         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38193         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38194         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38195         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38196         * modules/unictype/property-private-use-tests (Files): Likewise.
38197         * modules/unictype/property-punctuation-tests (Files): Likewise.
38198         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38199         * modules/unictype/property-radical-tests (Files): Likewise.
38200         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38201         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38202         * modules/unictype/property-space-tests (Files): Likewise.
38203         * modules/unictype/property-terminal-punctuation-tests (Files):
38204         Likewise.
38205         * modules/unictype/property-test-tests (Files): Likewise.
38206         * modules/unictype/property-titlecase-tests (Files): Likewise.
38207         * modules/unictype/property-unassigned-code-value-tests (Files):
38208         Likewise.
38209         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38210         * modules/unictype/property-uppercase-tests (Files): Likewise.
38211         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38212         * modules/unictype/property-white-space-tests (Files): Likewise.
38213         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38214         * modules/unictype/property-xid-start-tests (Files): Likewise.
38215         * modules/unictype/property-zero-width-tests (Files): Likewise.
38216         * modules/unictype/scripts-tests (Files): Likewise.
38217         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38218         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38219         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38220         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38221         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38222         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38223         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38224         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38225         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38226         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38227         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38228         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38229         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38230         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38231         * modules/uninorm/composition-tests (Files): Likewise.
38232         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38233         * modules/uninorm/decomposition-tests (Files): Likewise.
38234         * modules/uninorm/filter-tests (Files): Likewise.
38235         * modules/uninorm/nfc-tests (Files): Likewise.
38236         * modules/uninorm/nfd-tests (Files): Likewise.
38237         * modules/uninorm/nfkc-tests (Files): Likewise.
38238         * modules/uninorm/nfkd-tests (Files): Likewise.
38239         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38240         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38241         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38242         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38243         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38244         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38245         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38246         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38247         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38248         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38249         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38250         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38251         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38252         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38253         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38254         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38255         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38256         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38257         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38258         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38259         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38260         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38261         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38262         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38263         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38264         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38265         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38266         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38267         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38268         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38269         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38270         * modules/uniwidth/u8-width-tests (Files): Likewise.
38271         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38272         * modules/uniwidth/u16-width-tests (Files): Likewise.
38273         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38274         * modules/uniwidth/u32-width-tests (Files): Likewise.
38275         * modules/uniwidth/width-tests (Files): Likewise.
38276         * modules/unlink-tests (Files): Likewise.
38277         * modules/unsetenv-tests (Files): Likewise.
38278         * modules/usleep-tests (Files): Likewise.
38279         * modules/utimens-tests (Files): Likewise.
38280         * modules/utimensat-tests (Files): Likewise.
38281         * modules/vasnprintf-posix-tests (Files): Likewise.
38282         * modules/vasnprintf-tests (Files): Likewise.
38283         * modules/vasprintf-posix-tests (Files): Likewise.
38284         * modules/vasprintf-tests (Files): Likewise.
38285         * modules/vdprintf-posix-tests (Files): Likewise.
38286         * modules/vfprintf-posix-tests (Files): Likewise.
38287         * modules/vprintf-posix-tests (Files): Likewise.
38288         * modules/vsnprintf-posix-tests (Files): Likewise.
38289         * modules/vsnprintf-tests (Files): Likewise.
38290         * modules/vsprintf-posix-tests (Files): Likewise.
38291         * modules/wcrtomb-tests (Files): Likewise.
38292         * modules/wcsnrtombs-tests (Files): Likewise.
38293         * modules/wcsrtombs-tests (Files): Likewise.
38294         * modules/wctype-tests (Files): Likewise.
38295         * modules/wcwidth-tests (Files): Likewise.
38296         * modules/xmemdup0-tests (Files): Likewise.
38297         * modules/xprintf-posix-tests (Files): Likewise.
38298         * modules/xvasprintf-tests (Files): Likewise.
38299
38300 2009-12-24  Eric Blake  <ebb9@byu.net>
38301
38302         test-nanosleep: fix typo
38303         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38304         patch.
38305         Reported by Bruno Haible.
38306
38307 2009-12-24  Bruno Haible  <bruno@clisp.org>
38308
38309         Reduce namespace pollution on glibc systems.
38310         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38311         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38312         systems.
38313         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38314         <getopt.h> on glibc systems.
38315         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38316         systems.
38317         * lib/fcntl.c: Include <unistd.h> here instead.
38318
38319 2009-12-24  Bruno Haible  <bruno@clisp.org>
38320
38321         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38322
38323 2009-12-24  Eric Blake  <ebb9@byu.net>
38324
38325         tests: add signature checks
38326         * tests/signature.h (SIGNATURE_CHECK): New file.
38327         * modules/atexit-tests (Files): Use it.
38328         * modules/btowc-tests (Files): Likewise.
38329         * modules/canonicalize-lgpl-tests (Files): Likewise.
38330         * modules/ceilf-tests (Files): Likewise.
38331         * modules/ceill-tests (Files): Likewise.
38332         * modules/chown-tests (Files): Likewise.
38333         * modules/dprintf-posix-tests (Files): Likewise.
38334         * modules/dup2-tests (Files): Likewise.
38335         * modules/dup3-tests (Files): Likewise.
38336         * modules/duplocale-tests (Files): Likewise.
38337         * modules/fchdir-tests (Files): Likewise.
38338         * modules/fcntl-tests (Files): Likewise.
38339         * modules/fdopendir-tests (Files): Likewise.
38340         * modules/fflush-tests (Files): Likewise.
38341         * modules/flock-tests (Files): Likewise.
38342         * modules/floorf-tests (Files): Likewise.
38343         * modules/floorl-tests (Files): Likewise.
38344         * modules/fnmatch-tests (Files): Likewise.
38345         * modules/fopen-tests (Files): Likewise.
38346         * modules/fprintf-posix-tests (Files): Likewise.
38347         * modules/freopen-tests (Files): Likewise.
38348         * modules/frexp-nolibm-tests (Files): Likewise.
38349         * modules/frexp-tests (Files): Likewise.
38350         * modules/frexpl-nolibm-tests (Files): Likewise.
38351         * modules/frexpl-tests (Files): Likewise.
38352         * modules/fseek-tests (Files): Likewise.
38353         * modules/fseeko-tests (Files): Likewise.
38354         * modules/fsync-tests (Files): Likewise.
38355         * modules/ftell-tests (Files): Likewise.
38356         * modules/ftello-tests (Files): Likewise.
38357         * modules/futimens-tests (Files): Likewise.
38358         * modules/getaddrinfo-tests (Files): Likewise.
38359         * modules/getcwd-tests (Files): Likewise.
38360         * modules/getdelim-tests (Files): Likewise.
38361         * modules/getdtablesize-tests (Files): Likewise.
38362         * modules/getgroups-tests (Files): Likewise.
38363         * modules/gethostname-tests (Files): Likewise.
38364         * modules/getline-tests (Files): Likewise.
38365         * modules/getopt-posix-tests (Files): Likewise.
38366         * modules/gettimeofday-tests (Files): Likewise.
38367         * modules/glob-tests (Files): Likewise.
38368         * modules/iconv-tests (Files): Likewise.
38369         * modules/inet_ntop-tests (Files): Likewise.
38370         * modules/inet_pton-tests (Files): Likewise.
38371         * modules/isblank-tests (Files): Likewise.
38372         * modules/lchown-tests (Files): Likewise.
38373         * modules/ldexpl-tests (Files): Likewise.
38374         * modules/link-tests (Files): Likewise.
38375         * modules/linkat-tests (Files): Likewise.
38376         * modules/lseek-tests (Files): Likewise.
38377         * modules/lstat-tests (Files): Likewise.
38378         * modules/mbrtowc-tests (Files): Likewise.
38379         * modules/mbsinit-tests (Files): Likewise.
38380         * modules/mbsnrtowcs-tests (Files): Likewise.
38381         * modules/mbsrtowcs-tests (Files): Likewise.
38382         * modules/memchr-tests (Files): Likewise.
38383         * modules/memcmp-tests (Files): Likewise.
38384         * modules/memmem-tests (Files): Likewise.
38385         * modules/memrchr-tests (Files): Likewise.
38386         * modules/mkdir-tests (Files): Likewise.
38387         * modules/mkfifo-tests (Files): Likewise.
38388         * modules/mkfifoat-tests (Files): Likewise.
38389         * modules/mknod-tests (Files): Likewise.
38390         * modules/nanosleep-tests (Files): Likewise.
38391         * modules/nl_langinfo-tests (Files): Likewise.
38392         * modules/obstack-printf-tests (Files): Likewise.
38393         * modules/open-tests (Files): Likewise.
38394         * modules/openat-tests (Files): Likewise.
38395         * modules/perror-tests (Files): Likewise.
38396         * modules/pipe2-tests (Files): Likewise.
38397         * modules/poll-tests (Files): Likewise.
38398         * modules/popen-tests (Files): Likewise.
38399         * modules/posix_spawn-tests (Files): Likewise.
38400         * modules/posix_spawnp-tests (Files): Likewise.
38401         * modules/pread-tests (Files): Likewise.
38402         * modules/printf-posix-tests (Files): Likewise.
38403         * modules/pty-tests (Files): Likewise.
38404         * modules/random_r-tests (Files): Likewise.
38405         * modules/rawmemchr-tests (Files): Likewise.
38406         * modules/readlink-tests (Files): Likewise.
38407         * modules/remove-tests (Files): Likewise.
38408         * modules/rename-tests (Files): Likewise.
38409         * modules/renameat-tests (Files): Likewise.
38410         * modules/rmdir-tests (Files): Likewise.
38411         * modules/round-tests (Files): Likewise.
38412         * modules/roundf-tests (Files): Likewise.
38413         * modules/roundl-tests (Files): Likewise.
38414         * modules/select-tests (Files): Likewise.
38415         * modules/setenv-tests (Files): Likewise.
38416         * modules/sigaction-tests (Files): Likewise.
38417         * modules/sleep-tests (Files): Likewise.
38418         * modules/snprintf-posix-tests (Files): Likewise.
38419         * modules/snprintf-tests (Files): Likewise.
38420         * modules/sprintf-posix-tests (Files): Likewise.
38421         * modules/stat-tests (Files): Likewise.
38422         * modules/strcasestr-tests (Files): Likewise.
38423         * modules/strchrnul-tests (Files): Likewise.
38424         * modules/strerror-tests (Files): Likewise.
38425         * modules/strsignal-tests (Files): Likewise.
38426         * modules/strstr-tests (Files): Likewise.
38427         * modules/strtod-tests (Files): Likewise.
38428         * modules/strverscmp-tests (Files): Likewise.
38429         * modules/symlink-tests (Files): Likewise.
38430         * modules/symlinkat-tests (Files): Likewise.
38431         * modules/times-tests (Files): Likewise.
38432         * modules/trunc-tests (Files): Likewise.
38433         * modules/truncf-tests (Files): Likewise.
38434         * modules/truncl-tests (Files): Likewise.
38435         * modules/tsearch-tests (Files): Likewise.
38436         * modules/uname-tests (Files): Likewise.
38437         * modules/unlink-tests (Files): Likewise.
38438         * modules/unsetenv-tests (Files): Likewise.
38439         * modules/usleep-tests (Files): Likewise.
38440         * modules/utimensat-tests (Files): Likewise.
38441         * modules/vasprintf-tests (Files): Likewise.
38442         * modules/vdprintf-posix-tests (Files): Likewise.
38443         * modules/vfprintf-posix-tests (Files): Likewise.
38444         * modules/vprintf-posix-tests (Files): Likewise.
38445         * modules/vsnprintf-posix-tests (Files): Likewise.
38446         * modules/vsnprintf-tests (Files): Likewise.
38447         * modules/vsprintf-posix-tests (Files): Likewise.
38448         * modules/wcrtomb-tests (Files): Likewise.
38449         * modules/wcsnrtombs-tests (Files): Likewise.
38450         * modules/wcsrtombs-tests (Files): Likewise.
38451         * modules/wcwidth-tests (Files): Likewise.
38452         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
38453         * tests/test-isinf.c (isinf): Likewise.
38454         * tests/test-isnan.c (isnan): Likewise.
38455         * tests/test-signbit.c (signbit): Likewise.
38456         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
38457         declaration, either as macro or with correct signature.
38458         (select): Ensure function under test is declared with correct
38459         signature in correct header.
38460         * tests/test-atexit.c (atexit): Likewise.
38461         * tests/test-btowc.c (btowc): Likewise.
38462         * tests/test-canonicalize-lgpl.c (realpath)
38463         (canonicalize_file_name): Likewise.
38464         * tests/test-ceilf1.c (ceilf): Likewise.
38465         * tests/test-ceill.c (ceill): Likewise.
38466         * tests/test-chown.c (chown): Likewise.
38467         * tests/test-dprintf-posix.c (dprintf): Likewise.
38468         * tests/test-dup2.c (dup2): Likewise.
38469         * tests/test-dup3.c (dup3): Likewise.
38470         * tests/test-duplocale.c (duplocale): Likewise.
38471         * tests/test-fchdir.c (fchdir): Likewise.
38472         * tests/test-fchownat.c (fchownat): Likewise.
38473         * tests/test-fcntl.c (fcntl): Likewise.
38474         * tests/test-fdopendir.c (fdopendir): Likewise.
38475         * tests/test-fflush.c (fflush): Likewise.
38476         * tests/test-flock.c (flock): Likewise.
38477         * tests/test-floorf1.c (floorf): Likewise.
38478         * tests/test-floorl.c (floorl): Likewise.
38479         * tests/test-fnmatch.c (fnmatch): Likewise.
38480         * tests/test-fopen.c (fopen): Likewise.
38481         * tests/test-fprintf-posix.c (fprintf): Likewise.
38482         * tests/test-freopen.c (freopen): Likewise.
38483         * tests/test-frexp.c (frexp): Likewise.
38484         * tests/test-frexpl.c (frexpl): Likewise.
38485         * tests/test-fseek.c (fseek): Likewise.
38486         * tests/test-fseeko.c (fseeko): Likewise.
38487         * tests/test-fstatat.c (fstatat): Likewise.
38488         * tests/test-fsync.c (fsync): Likewise.
38489         * tests/test-ftell.c (ftell): Likewise.
38490         * tests/test-ftello.c (ftello): Likewise.
38491         * tests/test-futimens.c (futimens): Likewise.
38492         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38493         (gai_strerror): Likewise.
38494         * tests/test-getcwd.c (getcwd): Likewise.
38495         * tests/test-getdelim.c (getdelim): Likewise.
38496         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38497         * tests/test-getgroups.c (getgroups): Likewise.
38498         * tests/test-gethostname.c (gethostname): Likewise.
38499         * tests/test-getline.c (getline): Likewise.
38500         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38501         Likewise.
38502         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38503         * tests/test-glob.c (glob, globfree): Likewise.
38504         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38505         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38506         * tests/test-inet_pton.c (inet_pton): Likewise.
38507         * tests/test-isblank.c (isblank): Likewise.
38508         * tests/test-lchown.c (lchown): Likewise.
38509         * tests/test-ldexpl.c (ldexpl): Likewise.
38510         * tests/test-link.c (link): Likewise.
38511         * tests/test-linkat.c (linkat): Likewise.
38512         * tests/test-lseek.c (lseek): Likewise.
38513         * tests/test-lstat.c (lstat): Likewise.
38514         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38515         * tests/test-mbsinit.c (mbsinit): Likewise.
38516         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38517         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38518         * tests/test-memchr.c (memchr): Likewise.
38519         * tests/test-memcmp.c (memcmp): Likewise.
38520         * tests/test-memmem.c (memmem): Likewise.
38521         * tests/test-memrchr.c (memrchr): Likewise.
38522         * tests/test-mkdir.c (mkdir): Likewise.
38523         * tests/test-mkdirat.c (mkdirat): Likewise.
38524         * tests/test-mkfifo.c (mkfifo): Likewise.
38525         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38526         * tests/test-mknod.c (mknod): Likewise.
38527         * tests/test-nanosleep.c (nanosleep): Likewise.
38528         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38529         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38530         Likewise.
38531         * tests/test-open.c (open): Likewise.
38532         * tests/test-openat.c (openat): Likewise.
38533         * tests/test-perror.c (perror): Likewise.
38534         * tests/test-pipe2.c (pipe2): Likewise.
38535         * tests/test-poll.c (poll): Likewise.
38536         * tests/test-popen.c (popen, pclose): Likewise.
38537         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38538         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38539         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38540         (posix_spawn_file_actions_destroy)
38541         (posix_spawn_file_actions_addclose)
38542         (posix_spawn_file_actions_addopen)
38543         (posix_spawn_file_actions_adddup2): Likewise.
38544         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38545         * tests/test-pread.c (pread): Likewise.
38546         * tests/test-printf-posix.c (printf): Likewise.
38547         * tests/test-pty.c (openpty, forkpty): Likewise.
38548         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38549         (random_r): Likewise.
38550         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38551         * tests/test-readlink.c (readlink): Likewise.
38552         * tests/test-remove.c (remove): Likewise.
38553         * tests/test-rename.c (rename): Likewise.
38554         * tests/test-renameat.c (renameat): Likewise.
38555         * tests/test-rmdir.c (rmdir): Likewise.
38556         * tests/test-round1.c (round): Likewise.
38557         * tests/test-roundf1.c (roundf): Likewise.
38558         * tests/test-roundl.c (roundl): Likewise.
38559         * tests/test-setenv.c (setenv): Likewise.
38560         * tests/test-sigaction.c (sigaction): Likewise.
38561         * tests/test-sleep.c (sleep): Likewise.
38562         * tests/test-snprintf.c (snprintf): Likewise.
38563         * tests/test-sprintf-posix.c (sprintf): Likewise.
38564         * tests/test-stat.c (stat): Likewise.
38565         * tests/test-stpncpy.c (stpncpy): Likewise.
38566         * tests/test-strcasestr.c (strcasestr): Likewise.
38567         * tests/test-strchrnul.c (strchrnul): Likewise.
38568         * tests/test-strerror.c (strerror): Likewise.
38569         * tests/test-strsignal.c (strsignal): Likewise.
38570         * tests/test-strstr.c (strstr): Likewise.
38571         * tests/test-strtod.c (strtod): Likewise.
38572         * tests/test-strverscmp.c (strverscmp): Likewise.
38573         * tests/test-symlink.c (symlink): Likewise.
38574         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38575         * tests/test-times.c (times): Likewise.
38576         * tests/test-trunc1.c (trunc): Likewise.
38577         * tests/test-truncf1.c (truncf): Likewise.
38578         * tests/test-truncl.c (truncl): Likewise.
38579         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38580         Likewise.
38581         * tests/test-uname.c (uname): Likewise.
38582         * tests/test-unlink.c (unlink): Likewise.
38583         * tests/test-unlinkat.c (unlinkat): Likewise.
38584         * tests/test-unsetenv.c (unsetenv): Likewise.
38585         * tests/test-usleep.c (usleep): Likewise.
38586         * tests/test-utimensat.c (utimensat): Likewise.
38587         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38588         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38589         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38590         * tests/test-vprintf-posix.c (vprintf): Likewise.
38591         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38592         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38593         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38594         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38595         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38596         * tests/test-wcwidth.c (wcwidth): Likewise.
38597
38598         build: pull in conditional headers during GNULIB_POSIXCHECK
38599         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38600         definitions from any conditionally-included headers.
38601         * lib/stdlib.in.h (includes): Likewise.
38602         * lib/unistd.in.h (includes): Likewise.
38603
38604 2009-12-24  Bruno Haible  <bruno@clisp.org>
38605
38606         * tests/test-argv-iter.c: Include header file being tested immediately
38607         after config.h.
38608         * tests/test-base64.c: Likewise.
38609         * tests/test-flock.c: Likewise.
38610         * tests/test-fsync.c: Likewise.
38611         * tests/test-getdate.c: Likewise.
38612         * tests/test-getndelim2.c: Likewise.
38613         * tests/test-isfinite.c: Likewise.
38614         * tests/test-isinf.c: Likewise.
38615         * tests/test-strerror.c: Likewise.
38616         * tests/test-strsignal.c: Likewise.
38617
38618 2009-12-23  Eric Blake  <ebb9@byu.net>
38619
38620         unistd: work around cygwin bug
38621         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38622         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38623         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38624
38625 2009-12-23  Bruno Haible  <bruno@clisp.org>
38626
38627         localename: More tests.
38628         * tests/test-localename.c (SIZEOF): New macro.
38629         (categories): New variable.
38630         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38631         test_locale_name_default): Add test w.r.t. thread locale.
38632         (test_locale_name_thread): New function.
38633         (main): Invoke it.
38634
38635         localename: Make aware of thread locale.
38636         * lib/localename.h (gl_locale_name_thread): New declaration.
38637         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38638         behaviour with respect to thread locale.
38639         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38640         <langinfo.h>, glthread/lock.h.
38641         (SIZE_BITS): New macro.
38642         (string_hash): New function.
38643         (struct hash_node): New type.
38644         (HASH_TABLE_SIZE): New macro.
38645         (struniq_hash_table, struniq_lock): New variables.
38646         (struniq): New function.
38647         (gl_locale_name_thread): New function.
38648         (gl_locale_name): Invoke it.
38649         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38650         * modules/localename (Depends-on): Add lock.
38651         Reported by Mike Gran <spk121@yahoo.com>.
38652
38653 2009-12-23  Eric Blake  <ebb9@byu.net>
38654
38655         va-args: new module
38656         * modules/va-args: New file.
38657         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38658         * MODULES.html.sh (Core language properties): Mention it.
38659
38660         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38661         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38662         named alias for __attribute__((__unused__)).
38663         * lib/chown.c: Update client.
38664         * lib/fchmodat.c: Likewise.
38665         * lib/fts.c: Likewise.
38666         * lib/getdate.y: Likewise.
38667         * lib/getgroups.c: Likewise.
38668         * lib/getopt.c: Likewise.
38669         * lib/getugroups.c: Likewise.
38670         * lib/mkdir.c: Likewise.
38671         * lib/mkfifo.c: Likewise.
38672         * lib/mkfifoat.c: Likewise.
38673         * lib/mknod.c: Likewise.
38674         * lib/mknodat.c: Likewise.
38675         * lib/readlink.c: Likewise.
38676         * lib/se-context.in.h: Likewise.
38677         * lib/se-selinux.in.h: Likewise.
38678         * lib/sockets.c: Likewise.
38679         * lib/symlink.c: Likewise.
38680         * lib/symlinkat.c: Likewise.
38681         * lib/unicodeio.c: Likewise.
38682         * lib/unistr.h: Likewise.
38683         * tests/test-areadlink.c: Likewise.
38684         * tests/test-areadlinkat.c: Likewise.
38685         * tests/test-filenamecat.c: Likewise.
38686         * tests/test-fseeko.c: Likewise.
38687         * tests/test-ftello.c: Likewise.
38688         * tests/test-getdate.c: Likewise.
38689         * tests/test-getgroups.c: Likewise.
38690         * tests/test-gethostname.c: Likewise.
38691         * tests/test-quotearg.c: Likewise.
38692         * tests/test-version-etc.c: Likewise.
38693         * tests/test-xalloc-die.c: Likewise.
38694         * tests/test-xfprintf-posix.c: Likewise.
38695         * tests/test-xprintf-posix.c: Likewise.
38696         * tests/test-xvasprintf.c: Likewise.
38697
38698         tests: avoid compiler warnings
38699         * tests/test-fcntl.c (main): Delete unused parameters.
38700         * tests/test-freopen-safer.c (main): Likewise.
38701         * tests/test-xalloc-die.c (main): Mark unused parameters.
38702         * tests/test-fseeko.c (main): Likewise.
38703         * tests/test-ftello.c (main): Likewise.
38704         * tests/test-nanosleep.c (main): Avoid declaration warning.
38705         * tests/test-sleep.c (main): Likewise.
38706         * tests/test-unsetenv.c (main): Silence warning about string
38707         literal.
38708         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38709
38710 2009-12-23  Bruno Haible  <bruno@clisp.org>
38711
38712         * tests/test-localename.c (test_locale_name): New function, extracted
38713         from main. Also test mixed situations.
38714         (test_locale_name_posix, test_locale_name_environ,
38715         test_locale_name_default): New functions.
38716         (main): Invoke them all.
38717         * modules/localename-tests (configure.ac): Test for newlocale.
38718
38719 2009-12-23  Bruno Haible  <bruno@clisp.org>
38720
38721         unistd: Ensure getcwd gets declared before being overridden.
38722         * lib/unistd.in.h: Conditionally include <io.h>.
38723
38724 2009-12-22  Bruno Haible  <bruno@clisp.org>
38725
38726         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38727         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38728         (gl_WCHAR_H): Invoke it.
38729         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38730         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38731         Reported by Karl Berry <karl@freefriends.org>.
38732
38733 2009-12-22  Eric Blake  <ebb9@byu.net>
38734
38735         math, unistd: avoid redundant includes
38736         * lib/math.in.h (isnan): No need to re-include <math.h>.
38737         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38738
38739         getsubopt: work around cygwin bug
38740         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38741         avoid conflicting with system getsubopt.
38742         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38743         bug.
38744
38745         getopt: synchronize from glibc
38746         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38747         parameter order.  Adjust all callers.
38748         (_getopt_internal_r, main): Adjust quoting in error messages.
38749         Drop considerations for outdated POSIX 1003.2 error message.
38750         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38751         callers.
38752         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38753
38754         test-getopt: test stderr behavior
38755         * modules/getopt-posix-tests (Depends-on): Add dup2.
38756         * tests/test-getopt.c (ASSERT): Avoid stderr.
38757         (main): Move stderr to a temporary file.
38758         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38759         Instead, add parameter to inform caller if output occurred.
38760         (test_getopt): Adjust all existing tests to expect silence, and
38761         add new tests of leading ":".
38762         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38763         glibc shortcomings with leading "-:" or "+:" in optstring.
38764         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38765         Likewise.
38766         * doc/posix-functions/getopt.texi (getopt): Likewise.
38767
38768         test-getopt: enhance test
38769         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38770         supports optind=0.
38771         * tests/test-getopt.c (OPTIND_MIN): Move...
38772         * tests/test-getopt.h (OPTIND_MIN): ...here.
38773         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38774         Require that optind=0 works, since modern BSD supports it in
38775         addition to optreset, and since coreutils expects it.
38776         (test_getopt_long_only): New test.
38777         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38778         glibc shortcomings with 'W;', and enforcement of optind=0.
38779         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38780         Likewise.
38781
38782 2009-12-21  Bruno Haible  <bruno@clisp.org>
38783
38784         localename: Improvements for MacOS X and Cygwin.
38785         * lib/localename.h (gl_locale_name_environ): New declaration.
38786         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38787         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38788         (gl_locale_name_posix): Invoke it.
38789         (gl_locale_name_default): Add comments. Use Windows native API also on
38790         Cygwin.
38791
38792 2009-12-21  Bruno Haible  <bruno@clisp.org>
38793
38794         Update list of Win32 locale ids.
38795         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38796         (LANG_SAMI): Renamed from LANG_SAAMI.
38797         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38798         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38799         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38800         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38801         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38802         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38803         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38804         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38805         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38806         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38807         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38808         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38809         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38810         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38811         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38812         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38813         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38814         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38815         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38816         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38817         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38818         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38819         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38820         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38821         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38822         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38823         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38824         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38825         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38826         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38827         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38828         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38829         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38830         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38831         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38832         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38833         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38834         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38835         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38836         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38837         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38838         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38839         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38840         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38841         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38842         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38843         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38844         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38845         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38846         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38847         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38848         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38849         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38850         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38851         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38852         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38853         Add more languages and countries for Sami, Sorbian. Add more countries
38854         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38855         for Pashto. Change country for Syriac, Tswana.
38856
38857 2009-12-21  Eric Blake  <ebb9@byu.net>
38858
38859         test-utimens: avoid spurious failure
38860         * tests/test-chown.h (nap): Factor...
38861         * tests/nap.h: ...into new file.
38862         * tests/test-lchown.h (nap): Avoid duplication.
38863         * tests/test-utimens-common.h (nap): Use shared implementation,
38864         necessary on file systems with 1-second resolution.
38865         * modules/chown-tests (Files): Include new file.
38866         * modules/fdutimensat-tests (Files): Likewise.
38867         * modules/futimens-tests (Files): Likewise.
38868         * modules/lchown-tests (Files): Likewise.
38869         * modules/openat-tests (Files): Likewise.
38870         * modules/utimens-tests (Files): Likewise.
38871         * modules/utimensat-tests (Files): Likewise.
38872
38873 2009-12-19  Eric Blake  <ebb9@byu.net>
38874
38875         futimens, utimensat: work around Linux bug
38876         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38877         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38878         * lib/utimensat.c (rpl_utimensat): Work around it.
38879         * lib/futimens.c (rpl_futimens): Adjust comment.
38880
38881         utimens: work around Linux ctime bug
38882         * lib/utimens.c (detect_ctime_bug): New helper function.
38883         (update_timespec): Differentiate between workaround needed for
38884         this bug vs. what is needed for systems that lack utimensat.
38885         (fdutimens, lutimens): Work around bug.
38886
38887         utimens: check for ctime update
38888         * tests/test-utimens-common.h (check_ctime): Define.
38889         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38890         * tests/test-futimens.h (test_futimens): Likewise.
38891         * tests/test-lutimens.h (test_lutimens): Likewise.
38892         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38893         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38894
38895 2009-12-19  Bruno Haible  <bruno@clisp.org>
38896
38897         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38898         * tests/test-dprintf-posix2.sh: New file.
38899         * tests/test-dprintf-posix2.c: New file.
38900         * modules/dprintf-posix-tests (Files): Add them.
38901         (configure.ac): Check for getrlimit and setrlimit.
38902         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38903
38904 2009-12-19  Bruno Haible  <bruno@clisp.org>
38905
38906         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38907         * tests/test-fprintf-posix3.sh: New file.
38908         * tests/test-fprintf-posix3.c: New file.
38909         * modules/fprintf-posix-tests (Files): Add them.
38910         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38911
38912 2009-12-19  Eric Blake  <ebb9@byu.net>
38913
38914         dirfd: fix prototype
38915         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38916         * lib/dirfd.c (dirfd): Likewise.
38917
38918         canonicalize: reduce memory usage
38919         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38920         allocation to size.
38921         Reported by Solar Designer <solar@openwall.com>.
38922
38923 2009-12-19  Bruno Haible  <bruno@clisp.org>
38924
38925         New module attribute 'Applicability'.
38926         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38927         * gnulib-tool: New option --extract-applicability.
38928         (func_usage): Document it.
38929         (sed_extract_prog): Recognize it.
38930         (func_get_applicability): New function.
38931         (func_import): Generalize handling of 'link-warning' module.
38932         * modules/link-warning (Applicability): New section.
38933         * modules/arg-nonnull (Applicability): New section.
38934         Repoted by Simon Josefsson <simon@josefsson.org>.
38935
38936 2009-12-19  Bruno Haible  <bruno@clisp.org>
38937
38938         fflush: tweak
38939         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38940         * lib/fseeko.c (rpl_fseeko): Likewise.
38941
38942 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38943
38944         * lib/gl_list.h: Fix typo in comment.
38945
38946 2009-12-16  Eric Blake  <ebb9@byu.net>
38947
38948         fcntl: use to simplify other modules
38949         * modules/cloexec (Depends-on): Add fcntl.
38950         * modules/fchdir (Depends-on): Likewise.
38951         * modules/fd-safer-flag (Depends-on): Likewise.
38952         * modules/unistd-safer (Depends-on): Likewise.
38953         * modules/dup3 (configure.ac): Set module indicator.
38954         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38955         missing.
38956         * lib/fchdir.c (_gl_register_dup): Fix comment.
38957         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38958         * lib/dup-safer.c (dup_safer): Likewise.
38959         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38960         * lib/dup3.c (dup3): Likewise.
38961         * tests/test-fchdir.c (main): Enhance test.
38962         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38963
38964         fcntl: port portions of fcntl to mingw
38965         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38966         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38967         replacement for mingw.
38968         * modules/fcntl (Description): Update.
38969         (Depends-on): Add dup2.
38970         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38971         * modules/fcntl-h (Makefile.am): Substitute it.
38972         * lib/fcntl.in.h (fcntl): Update declaration.
38973         (F_DUPFD, F_GETFD): New macros, when needed.
38974         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38975         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38976         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38977         we now guarantee.
38978
38979         fcntl: work around cygwin bug in F_DUPFD
38980         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38981         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38982         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38983         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38984         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38985
38986         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38987         * modules/fcntl (Files): List new files.
38988         (configure.ac): Run a test.
38989         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38990         * lib/fcntl.c (rpl_fcntl): Likewise.
38991         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38992         (gl_FCNTL_H): Always replace fcntl.h.
38993         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38994         * lib/fcntl.in.h (fcntl): Declare replacement.
38995         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38996         needed, plus a witness.
38997         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38998         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38999         * tests/test-fcntl.c: New file.
39000         * modules/fcntl-tests: Likewise.
39001
39002         binary-io: avoid potential compilation warning
39003         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
39004         directives.
39005
39006         fflush: avoid compilation error on NetBSD
39007         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
39008         between off_t and fpos_t, since the latter is sometimes a struct.
39009         * lib/fseeko.c (rpl_fseeko): Likewise.
39010         Reported by Alexander Nasonov <alnsn@yandex.ru>.
39011
39012 2009-12-15  Eric Blake  <ebb9@byu.net>
39013
39014         fcntl-h, stdio, sys_ioctl: fix declarations
39015         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
39016         function must not take arguments.
39017         * lib/sys_ioctl.in.h (ioctl): Likewise.
39018         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
39019         (open): Add a link warning.
39020
39021 2009-12-15  Jim Meyering  <meyering@redhat.com>
39022
39023         areadlink, areadlink-with-size: relax license to LGPLv2+
39024         * modules/areadlink (License): Relax to LGPLv2+.
39025         * modules/areadlink-with-size (License): Likewise.
39026
39027 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
39028             Bruno Haible  <bruno@clisp.org>
39029
39030         *printf: Fix memory leak.
39031         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
39032         * lib/vfprintf.c (vfprintf): Likewise.
39033         * lib/dprintf.c (dprintf): Likewise.
39034         * lib/vdprintf.c (vdprintf): Likewise.
39035
39036 2009-12-14  Eric Blake  <ebb9@byu.net>
39037
39038         accept4: adjust module dependencies
39039         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
39040
39041         utimens: one more try at avoiding compiler warning
39042         * lib/utimens.c (lutimens): Lower scope of result.
39043
39044 2009-12-13  Bruno Haible  <bruno@clisp.org>
39045
39046         Move the malloc checking from module 'list' to new module 'xlist'.
39047         * modules/xlist: New file.
39048         * lib/gl_xlist.h: New file.
39049         * lib/gl_xlist.c: New file.
39050         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
39051         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
39052         gl_list_add_last, gl_list_add_before, gl_list_add_after,
39053         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
39054         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
39055         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
39056         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
39057         gl_sortedlist_nx_add): New declarations.
39058         (struct gl_list_implementation): Rename and change methods accordingly.
39059         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
39060         (gl_list_nx_create): Renamed from gl_list_create.
39061         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39062         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39063         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39064         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39065         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39066         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39067         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39068         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39069         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
39070         gl_list_create_empty.
39071         (gl_list_nx_create): Renamed from gl_list_create.
39072         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39073         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39074         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39075         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39076         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39077         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39078         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39079         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39080         * lib/gl_array_list.c: Don't include xalloc.h.
39081         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
39082         NULL upon out-of-memory.
39083         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
39084         out-of-memory.
39085         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
39086         Change return type to 'int'.
39087         (gl_array_nx_set_at): Renamed from gl_array_set_at.
39088         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39089         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
39090         upon out-of-memory.
39091         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
39092         upon out-of-memory.
39093         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
39094         upon out-of-memory.
39095         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
39096         upon out-of-memory.
39097         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
39098         out-of-memory.
39099         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
39100         Update.
39101         (gl_array_list_implementation): Update.
39102         * lib/gl_carray_list.c: Don't include xalloc.h.
39103         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
39104         Return NULL upon out-of-memory.
39105         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
39106         out-of-memory.
39107         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
39108         Change return type to 'int'.
39109         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
39110         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39111         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
39112         upon out-of-memory.
39113         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
39114         upon out-of-memory.
39115         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
39116         out-of-memory.
39117         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
39118         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
39119         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
39120         Update.
39121         (gl_carray_list_implementation): Update.
39122         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
39123         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
39124         gl_linked_create_empty. Return NULL upon out-of-memory.
39125         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
39126         out-of-memory.
39127         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39128         Change return type to 'int'. Return -1 upon out-of-memory.
39129         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39130         out-of-memory.
39131         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39132         upon out-of-memory.
39133         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39134         upon out-of-memory.
39135         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39136         NULL upon out-of-memory.
39137         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39138         upon out-of-memory.
39139         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39140         out-of-memory.
39141         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39142         Update.
39143         * lib/gl_linked_list.c: Don't include xalloc.h.
39144         (gl_linked_list_implementation): Update.
39145         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39146         (add_to_bucket): Change return type to 'int'.
39147         (gl_linkedhash_list_implementation): Update.
39148         * lib/gl_anytree_list1.h (free_subtree): New function.
39149         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39150         gl_tree_create_empty. Return NULL upon out-of-memory.
39151         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39152         Change return type to 'int'. Return -1 upon out-of-memory.
39153         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39154         out-of-memory.
39155         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39156         (gl_tree_remove_node): New function, moved here from
39157         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39158         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39159         Update.
39160         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39161         malloc, not xmalloc. Return NULL upon out-of-memory.
39162         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39163         out-of-memory.
39164         (gl_tree_remove_node_from_tree): New function, extracted from
39165         gl_tree_remove_node.
39166         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39167         upon out-of-memory.
39168         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39169         out-of-memory.
39170         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39171         upon out-of-memory.
39172         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39173         upon out-of-memory.
39174         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39175         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39176         not xmalloc. Return NULL upon out-of-memory.
39177         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39178         out-of-memory.
39179         (gl_tree_remove_node_from_tree): New function, extracted from
39180         gl_tree_remove_node.
39181         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39182         upon out-of-memory.
39183         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39184         out-of-memory.
39185         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39186         upon out-of-memory.
39187         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39188         upon out-of-memory.
39189         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39190         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39191         gl_anytree_list1.h before gl_anyavltree_list2.h.
39192         (gl_avltree_list_implementation): Update.
39193         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39194         gl_anytree_list1.h before gl_anyavltree_list2.h.
39195         (gl_rbtree_list_implementation): Update.
39196         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39197         Change return type to 'int'. Return -1 upon out-of-memory. Use
39198         __builtin_expect.
39199         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39200         (gl_avltreehash_list_implementation): Update.
39201         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39202         (gl_rbtreehash_list_implementation): Update.
39203         * modules/array-list (Depends-on): Remove xalloc.
39204         * modules/carray-list (Depends-on): Likewise.
39205         * modules/linked-list (Depends-on): Likewise.
39206         * modules/linkedhash-list (Depends-on): Likewise.
39207         * modules/avltree-list (Depends-on): Likewise.
39208         * modules/rbtree-list (Depends-on): Likewise.
39209         * modules/avltreehash-list (Depends-on): Likewise.
39210         * modules/rbtreehash-list (Depends-on): Likewise.
39211
39212         * modules/xsublist: New file.
39213         * lib/gl_xsublist.h: New file.
39214         * lib/gl_xsublist.c: New file.
39215         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39216         (gl_sublist_nx_create): New declaration.
39217         * lib/gl_sublist.c: Don't include xalloc.h.
39218         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39219         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39220         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39221         Change return type to 'int'. Return -1 upon out-of-memory.
39222         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39223         upon out-of-memory.
39224         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39225         NULL upon out-of-memory.
39226         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39227         upon out-of-memory.
39228         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39229         NULL upon out-of-memory.
39230         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39231         NULL upon out-of-memory.
39232         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39233         upon out-of-memory.
39234         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39235         (gl_sublist_list_implementation): Update.
39236         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39237         upon out-of-memory.
39238         * modules/sublist (Depends-on): Remove xalloc.
39239
39240         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39241         * tests/test-carray_list.c: Likewise.
39242         * tests/test-linked_list.c: Likewise.
39243         * tests/test-linkedhash_list.c: Likewise.
39244         * tests/test-avltree_list.c: Likewise.
39245         * tests/test-rbtree_list.c: Likewise.
39246         * tests/test-avltreehash_list.c: Likewise.
39247         * tests/test-rbtreehash_list.c: Likewise.
39248         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39249         * modules/carray-list-tests (Makefile.am): Likewise.
39250         * modules/linked-list-tests (Makefile.am): Likewise.
39251         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39252         * modules/avltree-list-tests (Makefile.am): Likewise.
39253         * modules/rbtree-list-tests (Makefile.am): Likewise.
39254         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39255         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39256
39257         * NEWS: Mention the changes.
39258
39259         * lib/clean-temp.c: Include gl_xlist.h.
39260         * modules/clean-temp (Depends-on): Add xlist.
39261
39262         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39263         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39264
39265         * tests/test-array_oset.c: Include gl_xlist.h.
39266         * modules/array-oset-tests (Depends-on): Add xlist.
39267
39268         Reported by José E. Marchesi <jemarch@gnu.org>.
39269
39270 2009-12-13  Bruno Haible  <bruno@clisp.org>
39271
39272         Move the malloc checking from module 'oset' to new module 'xoset'.
39273         * modules/xoset: New file.
39274         * lib/gl_xoset.h: New file.
39275         * lib/gl_xoset.c: New file.
39276         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39277         declarations.
39278         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39279         (struct gl_oset_implementation): Rename and change methods accordingly.
39280         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39281         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39282         'int'. Mark as __warn_unused_result__.
39283         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39284         gl_oset_create_empty.
39285         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39286         'int'.
39287         * lib/gl_array_oset.c: Don't include xalloc.h.
39288         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39289         malloc, not xmalloc.
39290         (grow): Change return type to 'int'. Don't call xalloc_die.
39291         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39292         to 'int'.
39293         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39294         'int'.
39295         (gl_array_oset_implementation): Update.
39296         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39297         gl_tree_create_empty.
39298         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39299         'int'.
39300         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39301         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39302         xmalloc.
39303         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39304         not xmalloc.
39305         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39306         xmalloc.
39307         (gl_avltree_oset_implementation): Update.
39308         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39309         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39310         xmalloc.
39311         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39312         not xmalloc.
39313         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39314         xmalloc.
39315         (gl_rbtree_oset_implementation): Update.
39316         * modules/array-oset (Depends-on): Remove xalloc.
39317         * modules/avltree-oset (Depends-on): Likewise.
39318         * modules/rbtree-oset (Depends-on): Likewise.
39319         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39320         * tests/test-avltree_oset.c: Likewise.
39321         * tests/test-rbtree_oset.c: Likewise.
39322         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39323         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39324         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39325         * NEWS: Mention the change.
39326
39327 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39328
39329         maint.mk: allow a project to override release-prep commands
39330         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39331         commands into a new rule.
39332         (release-prep): New rule.
39333         (release-prep-hook): New overridable variable.
39334
39335 2009-12-13  Bruno Haible  <bruno@clisp.org>
39336
39337         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39338
39339 2009-12-13  Jim Meyering  <meyering@redhat.com>
39340
39341         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39342         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39343
39344 2009-12-12  Bruno Haible  <bruno@clisp.org>
39345
39346         duplocale: Tweak.
39347         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39348
39349 2009-12-12  Karl Berry  <karl@gnu.org>
39350
39351         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39352
39353 2009-12-12  Bruno Haible  <bruno@clisp.org>
39354
39355         * m4/po.m4: Undo incorrect untabification.
39356
39357 2009-12-12  Bruno Haible  <bruno@clisp.org>
39358
39359         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39360         * modules/c-strtod (Depends-on): Add locale.
39361         * modules/c-strtold (Depends-on): Likewise.
39362
39363 2009-12-12  Bruno Haible  <bruno@clisp.org>
39364
39365         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39366
39367 2009-12-11  Eric Blake  <ebb9@byu.net>
39368
39369         setenv: relax requirement in light of POSIX ruling
39370         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39371         not NULL.
39372         * tests/test-setenv.c (main): Relax test.
39373         * tests/test-unsetenv.c (main): Likewise.
39374         * doc/posix-functions/setenv.texi (setenv): Document this.
39375         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39376
39377 2009-12-11  Bruno Haible  <bruno@clisp.org>
39378
39379         New module 'fd-safer-flag'.
39380         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39381         * lib/dup-safer.c (dup_safer_flag): Remove function.
39382         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39383         * lib/fd-safer.c (fd_safer_flag): Remove function.
39384         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39385         * modules/cloexec (configure.ac): Drop indicator macro.
39386         * modules/fd-safer-flag: New file.
39387         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39388         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39389         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39390
39391 2009-12-11  Bruno Haible  <bruno@clisp.org>
39392
39393         Tests for module 'nl_langinfo'.
39394         * modules/nl_langinfo-tests: New file.
39395         * tests/test-nl_langinfo.sh: New file.
39396         * tests/test-nl_langinfo.c: New file.
39397
39398         New module 'nl_langinfo'.
39399         * lib/nl_langinfo.c: New file.
39400         * m4/nl_langinfo.m4: New file.
39401         * modules/nl_langinfo: New file.
39402         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39403
39404 2009-12-11  Bruno Haible  <bruno@clisp.org>
39405
39406         Tests for module 'langinfo'.
39407         * modules/langinfo-tests: New file.
39408         * tests/test-langinfo.c: New file.
39409
39410         New module 'langinfo'.
39411         * lib/langinfo.in.h: New file.
39412         * m4/langinfo_h.m4: New file.
39413         * modules/langinfo: New file.
39414         * doc/posix-headers/langinfo.texi: Mention the new module.
39415
39416 2009-12-11  Bruno Haible  <bruno@clisp.org>
39417
39418         * lib/config.charset: Untabify.
39419
39420 2009-12-11  Bruno Haible  <bruno@clisp.org>
39421
39422         * modules/unistd-safer (configure.ac): Drop indicator macro.
39423
39424 2009-12-11  Bruno Haible  <bruno@clisp.org>
39425
39426         Move pipe2-safer code to its own file.
39427         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
39428         * lib/pipe-safer.c (pipe2_safer): Remove function.
39429         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
39430         (Makefile.am): Add it to lib_SOURCES.
39431
39432 2009-12-10  Bruno Haible  <bruno@clisp.org>
39433
39434         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
39435
39436 2009-12-10  Bruno Haible  <bruno@clisp.org>
39437
39438         Declare which arguments expect non-NULL values, for GCC and clang.
39439         * build-aux/arg-nonnull.h: New file.
39440         * modules/arg-nonnull: New file.
39441         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
39442         (inet_ntop, inet_pton): Use it.
39443         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
39444         (closedir, dirfd, opendir, scandir, alphasort): Use it.
39445         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
39446         (open, openat): Use it.
39447         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
39448         (fnmatch): Use it.
39449         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
39450         (getopt, getopt_long, getopt_long_only): Use it.
39451         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
39452         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
39453         Use it.
39454         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
39455         (iconv_open): Use it.
39456         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
39457         (strtoimax, strtoumax): Use it.
39458         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39459         (duplocale): Use it.
39460         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39461         (frexp, frexpl): Use it.
39462         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39463         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39464         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39465         (tsearch, tfind, tdelete, twalk): Use it.
39466         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39467         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39468         sigpending): Use it.
39469         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39470         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39471         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39472         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39473         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39474         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39475         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39476         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39477         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39478         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39479         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39480         Use it.
39481         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39482         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39483         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39484         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39485         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39486         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39487         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39488         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39489         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39490         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39491         strtoull, unsetenv): Use it.
39492         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39493         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39494         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39495         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39496         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39497         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39498         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39499         (strcasecmp, strncasecmp): Use it.
39500         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39501         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39502         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39503         rpl_setsockopt): Use it.
39504         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39505         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39506         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39507         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39508         (gettimeofday): Use it.
39509         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39510         (times): Use it.
39511         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39512         (uname): Use it.
39513         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39514         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39515         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39516         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39517         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39518         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39519         unlinkat, write): Use it.
39520         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39521         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39522         * lib/argv-iter.h: Include arg-nonnull.h.
39523         (_ATTRIBUTE_NONNULL_): Remove macro.
39524         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39525         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39526         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39527         optimization.
39528         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39529         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39530         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39531         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39532         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39533         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39534         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39535         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39536         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39537         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39538         * modules/dirent (Depends-on): Add arg-nonnull.
39539         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39540         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39541         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39542         * modules/fnmatch (Depends-on): Add arg-nonnull.
39543         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39544         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39545         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39546         * modules/glob (Depends-on): Add arg-nonnull.
39547         (Makefile.am): Insert arg-nonnull.h into glob.h.
39548         * modules/iconv_open (Depends-on): Add arg-nonnull.
39549         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39550         * modules/inttypes (Depends-on): Add arg-nonnull.
39551         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39552         * modules/locale (Depends-on): Add arg-nonnull.
39553         (Makefile.am): Insert arg-nonnull.h into locale.h.
39554         * modules/math (Depends-on): Add arg-nonnull.
39555         (Makefile.am): Insert arg-nonnull.h into math.h.
39556         * modules/netdb (Depends-on): Add arg-nonnull.
39557         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39558         * modules/search (Depends-on): Add arg-nonnull.
39559         (Makefile.am): Insert arg-nonnull.h into search.h.
39560         * modules/signal (Depends-on): Add arg-nonnull.
39561         (Makefile.am): Insert arg-nonnull.h into signal.h.
39562         * modules/spawn (Depends-on): Add arg-nonnull.
39563         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39564         * modules/stdio (Depends-on): Add arg-nonnull.
39565         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39566         * modules/stdlib (Depends-on): Add arg-nonnull.
39567         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39568         * modules/string (Depends-on): Add arg-nonnull.
39569         (Makefile.am): Insert arg-nonnull.h into string.h.
39570         * modules/strings (Depends-on): Add arg-nonnull.
39571         (Makefile.am): Insert arg-nonnull.h into strings.h.
39572         * modules/sys_socket (Depends-on): Add arg-nonnull.
39573         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39574         * modules/sys_stat (Depends-on): Add arg-nonnull.
39575         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39576         * modules/sys_time (Depends-on): Add arg-nonnull.
39577         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39578         * modules/sys_times (Depends-on): Add arg-nonnull.
39579         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39580         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39581         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39582         * modules/time (Depends-on): Add arg-nonnull.
39583         (Makefile.am): Insert arg-nonnull.h into time.h.
39584         * modules/unistd (Depends-on): Add arg-nonnull.
39585         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39586         * modules/wchar (Depends-on): Add arg-nonnull.
39587         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39588         * modules/argv-iter (Depends-on): Add arg-nonnull.
39589         * tests/test-canonicalize.c (null_ptr): New function.
39590         (main): Use it.
39591         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39592         (main): Use it.
39593         * tests/test-memmem.c (null_ptr): New function.
39594         (main): Use it.
39595         Reported by Jim Meyering.
39596
39597 2009-12-10  Bruno Haible  <bruno@clisp.org>
39598
39599         Use spaces for indentation, not tabs.
39600         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39601         * m4/*.m4: Untabify.
39602         * build-aux/*.h: Untabify.
39603         * tests/**/*.[hc]: Untabify.
39604         * README: New section "Indent with spaces, not TABs", based on
39605         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39606         * NEWS: Mention the change.
39607
39608 2009-12-10  Bruno Haible  <bruno@clisp.org>
39609
39610         pty test: Fix link error.
39611         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39612         test_pty_LDADD.
39613
39614 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39615
39616         * modules/pty: New file.
39617         * modules/pty-tests: New file.
39618         * m4/pty.m4: New file.
39619         * tests/test-pty.c: New file.
39620         * doc/glibc-headers/pty.texi: Modified.
39621         * doc/glibc-functions/forkpty.texi: Modified.
39622         * doc/glibc-functions/openpty.texi: Modified.
39623
39624 2009-12-10  Bruno Haible  <bruno@clisp.org>
39625
39626         Avoid syntax error in C++ mode.
39627         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39628
39629 2009-12-10  Bruno Haible  <bruno@clisp.org>
39630
39631         Use sed with option -e.
39632         * gnulib-tool (func_version, func_emit_copyright_notice,
39633         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39634         option -e to sed.
39635         * modules/link-warning (Makefile.am): Likewise.
39636
39637 2009-12-10  Jim Meyering  <meyering@redhat.com>
39638
39639         mgetgroups: do not write bytes beyond end of malloc'd buffer
39640         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39641         username, we call getgroups with a one-element-shorter buffer,
39642         but still told it the length was original, max_n_groups.
39643
39644 2009-12-09  Eric Blake  <ebb9@byu.net>
39645
39646         cloexec: relax license
39647         * modules/cloexec (Maintainer): Add myself.
39648         (License): Use LGPL, not GPL.
39649
39650         link-warning: optimize generation
39651         * modules/link-warning (Makefile.am): Reduce process usage.
39652
39653 2009-12-09  Bruno Haible  <bruno@clisp.org>
39654
39655         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39656         workaround was added on 2009-11-17.
39657
39658 2009-12-09  Jim Meyering  <meyering@redhat.com>
39659             Bruno Haible  <bruno@clisp.org>
39660
39661         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39662         * modules/link-warning (Makefile.am): Make the comment-removing sed
39663         command more robust in the face of bootstrap-prepended comment lines.
39664
39665 2009-12-09  Bruno Haible  <bruno@clisp.org>
39666
39667         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39668         most one group.
39669
39670 2009-12-09  Simon Josefsson <simon@josefsson.org>
39671             Bruno Haible  <bruno@clisp.org>
39672
39673         * build-aux/link-warning.h: Add copyright notice.
39674         * modules/link-warning (Makefile.am): Generate link-warning.h from
39675         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39676         * NEWS: Mention change in link-warning module.
39677         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39678         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39679         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39680         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39681         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39682         * modules/math (Makefile.am): Add dependency to math.h.
39683         * modules/search (Makefile.am): Add dependency to search.h.
39684         * modules/signal (Makefile.am): Add dependency to signal.h.
39685         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39686         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39687         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39688         * modules/string (Makefile.am): Add dependency to string.h.
39689         * modules/strings (Makefile.am): Add dependency to strings.h.
39690         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39691         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39692         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39693         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39694         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39695         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39696         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39697         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39698         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39699
39700 2009-12-09  Bruno Haible  <bruno@clisp.org>
39701
39702         fchdir: Optimize away rpl_fstat when possible.
39703         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39704         REPLACE_OPEN_DIRECTORY.
39705         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39706
39707 2009-12-09  Bruno Haible  <bruno@clisp.org>
39708
39709         * lib/fchdir.c: Update comment.
39710
39711 2009-12-09  Bruno Haible  <bruno@clisp.org>
39712
39713         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39714
39715 2009-12-08  Eric Blake  <ebb9@byu.net>
39716
39717         fchdir: avoid memory leak on re-registration.
39718         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39719
39720 2009-12-08  Jim Meyering  <meyering@redhat.com>
39721
39722         init.sh: avoid Solaris 10 /bin/sh portability problem
39723         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39724         sourced script:
39725           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39726           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39727           bar
39728         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39729         and two tests used that idiom.
39730         * tests/init.sh: Update suggested usage comments.
39731         (path_prepend_): New function, to be used in place
39732         of the --src-path=DIR option.
39733         (setup_): Move PATH-prepending code into path_prepend_.
39734         * tests/test-pread.sh: Adapt to new usage.
39735         * tests/test-xalloc-die.sh: Likewise.
39736
39737 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39738
39739         * doc/gnulib.texi (Glibc pty.h): Add.
39740         * doc/glibc-functions/forkpty.texi: Add.
39741         * doc/glibc-functions/openpty.texi: Add.
39742         Suggested by Bruno Haible.
39743
39744 2009-12-08  Eric Blake  <ebb9@byu.net>
39745
39746         fchdir: fix logic bugs
39747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39748         * tests/test-fchdir.c (main): Enhance test.
39749         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39750         is in use.
39751
39752         dup2: fix logic bugs
39753         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39754         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39755         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39756         exists.
39757         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39758
39759 2009-12-07  Eric Blake  <ebb9@byu.net>
39760
39761         unlink: fix m4 detection
39762         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39763
39764         unistd-safer: add unit test
39765         * modules/unistd-safer-tests: New file.
39766         * tests/test-dup-safer.c: Likewise.
39767         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39768         * tests/test-dup2.c (setmode): Likewise.
39769         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39770
39771         cloexec: preserve text vs. binary across dup_cloexec
39772         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39773         mode.
39774         * modules/dup2-tests (Depends-on): Add binary-io.
39775         * modules/cloexec-tests (Depends-on): Likewise.
39776         * tests/test-dup2.c (setmode, is_mode): New helpers.
39777         (main): Add tests that translation mode is preserved.
39778         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39779         Reported by Bruno Haible.
39780
39781         mgetgroups: reduce duplicate listings
39782         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39783         resulting array.
39784         * tests/test-chown.h (test_chown): Simplify client.
39785         * tests/test-lchown.h (test_lchown): Likewise.
39786
39787 2009-12-06  Bruno Haible  <bruno@clisp.org>
39788
39789         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39790         value.
39791
39792 2009-12-06  Bruno Haible  <bruno@clisp.org>
39793
39794         * lib/progname.c: Include stdio.h, stdlib.h.
39795         (set_program_name): Reject a NULL argument.
39796
39797 2009-12-05  Eric Blake  <ebb9@byu.net>
39798
39799         pipe2-safer: new module
39800         * modules/pipe2-safer: New file.
39801         * lib/unistd-safer.h (pipe2_safer): New prototype.
39802         * lib/unistd--.h (pipe2): New wrapper.
39803         * lib/pipe-safer.c (pipe2_safer): New function.
39804         * modules/pipe (Depends-on): Add pipe2-safer.
39805         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39806
39807         stdlib-safer: preserve cloexec flag for mkostemp[s]
39808         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39809         fd_safer_flag.
39810
39811         unistd-safer: allow preservation of cloexec status via flag
39812         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39813         prototypes.
39814         * lib/dup-safer.c (dup_safer_flag): New function.
39815         * lib/fd-safer.c (fd_safer_flag): Likewise.
39816         * modules/cloexec (configure.ac): Set witness.
39817
39818         test-dup2: enhance test
39819         * modules/dup2-tests (Depends-on): Add cloexec.
39820         * tests/test-dup2.c (main): Enhance test.
39821
39822         cloexec: add dup_cloexec
39823         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39824         header and comments.
39825         * lib/cloexec.c (set_cloexec_flag): Add comments.
39826         (dup_cloexec): New function, with mingw implementation borrowed
39827         from...
39828         * lib/w32spawn.h (dup_noinherit): ...here.
39829         * modules/execute (Depends-on): Add cloexec.
39830         * modules/pipe (Depends-on): Likewise.
39831         * modules/cloexec (Depends-on): Add dup2.
39832         * modules/cloexec-tests (Files): New file.
39833         * tests/test-cloexec.c: Likewise.
39834
39835         test-xalloc-die: fix test for mingw
39836         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39837         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39838         directory and .exe suffix off argv[0] output.
39839
39840         test-fseeko: fix test for mingw
39841         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39842         than undefining fseek, so test will pass on mingw.
39843
39844 2009-12-05  Bruno Haible  <bruno@clisp.org>
39845
39846         * lib/progname.h (set_program_name): Clarify specification.
39847         * lib/progname.c (set_program_name): Likewise.
39848         Reported by Jim Meyering.
39849
39850 2009-12-05  Jim Meyering  <meyering@redhat.com>
39851
39852         maint.mk: backslash-escape parens in default regexp
39853         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39854         backslash-escape the literal parentheses.
39855
39856         maint.mk: news-date-check: use grep -E
39857         * top/maint.mk (today): Define a Make variable, not a...
39858         (news-date-check): ...shell variable.
39859         (news-date-regexp): Use the Make variable.
39860         Use grep's -E option.  Change the failing diagnostic to mention
39861         the variable, $(news-date-regexp).
39862
39863 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39864
39865         maintainer-makefile: allow customization of NEWS entry format
39866         * top/maint.mk (news-date-regexp): New overridable variable.
39867         (news-date-check): Use it.
39868
39869 2009-12-04  Eric Blake  <ebb9@byu.net>
39870
39871         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39872         * lib/mgetgroups.h (xgetgroups): New prototype.
39873         * lib/mgetgroups.c (xgetgroups): New wrapper.
39874         (mgetgroups): Handle ENOSYS.
39875         * modules/mgetgroups (Depends-on): Add realloc.
39876         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39877
39878         mgetgroups: avoid argument promotion issues with -1
39879         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39880         for invalid gid_t.
39881         * tests/test-chown.h (getegid, test_chown): Likewise.
39882         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39883
39884 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39885
39886         exclude: Fix header file problems.
39887         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39888
39889 2009-12-01  Jim Meyering  <meyering@redhat.com>
39890
39891         fts: fts_open: do not let an empty string cause immediate failure
39892         This is required in support of GNU rm, for which the command
39893         "rm A '' B" must process and remove both A and B, in spite of
39894         the empty string argument.
39895         * lib/fts.c (fts_open): Do not let the presence of an empty string
39896         cause fts_open to fail immediately.  Most fts-using tools must be
39897         able to process all arguments, in order, and can be expected to
39898         diagnose such arguments themselves.
39899
39900 2009-11-30  Eric Blake  <ebb9@byu.net>
39901
39902         utimens: fix compilation error
39903         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39904         Declare variable at right scope.
39905
39906 2009-11-29  Jim Meyering  <meyering@redhat.com>
39907
39908         bootstrap: handle perl-5.11's changed --version output
39909         * build-aux/bootstrap (get_version): Handle perl separately,
39910         since perl-5.11's --version output is different.
39911
39912 2009-11-28  Jim Meyering  <meyering@redhat.com>
39913
39914         userspec: depend on the inttostr module, too
39915         * modules/userspec (Depends-on): Add inttostr.
39916
39917         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39918         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39919         number of MAXUID when it evaluates to (uid_t) -1.
39920         Likewise for group ID.  Reported by Matt McCutchen in
39921         <http://savannah.gnu.org/bugs/?28113>
39922
39923         userspec: reformat to use spaces, not TABs
39924         * lib/userspec.c: Expand TABs to spaces.
39925         Add Emacs' "indent-tabs-mode: nil" hint.
39926
39927 2009-11-27  Eric Blake  <ebb9@byu.net>
39928
39929         getopt-gnu: flush out another BSD bug
39930         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39931         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39932         flush out BSD bug.
39933         * tests/test-getopt.h (test_getopt): End lists with NULL.
39934         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39935         (test_getopt_long_posix): Enhance test.
39936         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39937         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39938         getopt-gnu.
39939         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39940         Likewise.
39941
39942 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39943
39944         * modules/idpriv-droptemp-tests (Notice): Fix text.
39945
39946 2009-11-27  Jim Meyering  <meyering@redhat.com>
39947
39948         test-xalloc-die: avoid spurious failure due to libtool argv difference
39949         In a libtool-enabled project, this test would fail due to a difference
39950         in the emitted program name, e.g.,
39951         -test-xalloc-die: memory exhausted
39952         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39953         Use program to avoid that.
39954         * modules/xalloc-die-tests (Depends-on): Add progname.
39955         * tests/test-xalloc-die.c: Include progname.h".
39956         (program_name): Remove decl.
39957         (main): Call set_program_name.
39958         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39959
39960 2009-11-26  Richard Jones  <rjones@redhat.com>
39961
39962         w32sock: leave win32 error in place.
39963         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39964
39965 2009-11-26  Eric Blake  <ebb9@byu.net>
39966
39967         init.sh: suggest to use skip_ and fail_ functions in comments
39968         * tests/init.sh: Add a sentence.
39969
39970 2009-11-25  Bruno Haible  <bruno@clisp.org>
39971
39972         init.sh: add documentation in comments
39973         * tests/init.sh: Add some developer and user documentation.
39974
39975 2009-11-26  Jim Meyering  <meyering@redhat.com>
39976
39977         init.sh: accommodate even those who specify bogus srcdir manually
39978         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39979         configure-time tests to be sanitized, so that there is no need to
39980         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39981         (with no double quotes) suffices.  However, since tests may be
39982         invoked manually, and since you may explicitly set srcdir to the
39983         name of a directory containing spaces, do quote its uses here.
39984         * tests/test-pread.sh: Likewise.
39985         Suggested by Bruno Haible.
39986
39987         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39988         * tests/test-pread.sh: Write no data into the pipe, because
39989         test-pread actually reads none.  This avoids a diagnostic,
39990         "bash: echo: write error: Broken pipe", that arises in the unusual
39991         event something is ignoring SIGPIPE, and might be interpreted
39992         as some sort of failure.  Reported by Bruno Haible.
39993
39994 2009-11-25  Jim Meyering  <meyering@redhat.com>
39995
39996         test-pread: cover failure with ESPIPE and EINVAL
39997         * tests/test-pread.c (main): Test for failure, too.
39998         * tests/test-pread.sh: Invoke with stdin on a pipe.
39999         Suggested by Eric Blake.
40000
40001         pread: improvement and fix
40002         * modules/pread (Depends-on): Depend on lseek, for portability to
40003         e.g., mingw.  Suggested by Eric Blake.
40004         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
40005
40006         unistd.in.h: correct declaration of pread
40007         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
40008         Reported by Richard W.M. Jones.
40009
40010         test-pread.sh: distribute the test script
40011         * modules/pread-tests (Files): Include test-pread.sh.
40012
40013         test-pread.sh: clean up
40014         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
40015         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
40016         That is unnecessary, since it's always ".".
40017         Suggestion from Eric Blake.
40018
40019         test-pread.sh: make executable
40020         * tests/test-pread.sh: Set executable bit.
40021         Reported by Eric Blake.
40022
40023         correct typo in test-pread.sh
40024         * tests/test-pread.sh: Add #! line.
40025
40026         test pread
40027         * tests/test-pread.c: New file.
40028         * tests/test-pread.sh: Likewise.
40029         * modules/pread-tests: Likewise.
40030
40031         pread: new module
40032         * modules/pread: New file.
40033         * lib/unistd.in.h (pread): Define/declare.
40034         * lib/pread.c (pread): New file.
40035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
40036         * modules/unistd (Makefile.am): Substitute witnesses.
40037         * doc/posix-functions/pread.texi (pread): Update.
40038         * MODULES.html.sh: Add pread.
40039
40040 2009-11-25  Jim Meyering  <meyering@redhat.com>
40041
40042         tests/init.sh: new file to be used via most *.sh tests
40043         * tests/init.sh: New file.
40044
40045 2009-11-25  Eric Blake  <ebb9@byu.net>
40046
40047         utimens: work around older Linux failure with symlinks
40048         * lib/utimens.c (lutimensat_works_really): New variable.
40049         (fdutimens, lutimens): Use it to manage kernels that support
40050         nanosecond times on files, but not on symlinks.
40051         Reported by Ondřej Vašík.
40052
40053         utimes: fix configure grammar
40054         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
40055
40056 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
40057
40058         regex: Fix fastmap for multibyte character ranges.
40059         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
40060         characters when a multibyte character range is included.
40061
40062 2009-11-22  Andy Wingo  <wingo@pobox.com>
40063
40064         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
40065         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
40066
40067 2009-11-24  Bruno Haible  <bruno@clisp.org>
40068
40069         doc: Most *_l functions exist in MacOS X 10.5.
40070         * doc/posix-functions/duplocale.texi: Update platforms list.
40071         * doc/posix-functions/freelocale.texi: Likewise.
40072         * doc/posix-functions/newlocale.texi: Likewise.
40073         * doc/posix-functions/uselocale.texi: Likewise.
40074         * doc/posix-functions/isalnum_l.texi: Likewise.
40075         * doc/posix-functions/isalpha_l.texi: Likewise.
40076         * doc/posix-functions/isblank_l.texi: Likewise.
40077         * doc/posix-functions/iscntrl_l.texi: Likewise.
40078         * doc/posix-functions/isdigit_l.texi: Likewise.
40079         * doc/posix-functions/isgraph_l.texi: Likewise.
40080         * doc/posix-functions/islower_l.texi: Likewise.
40081         * doc/posix-functions/isprint_l.texi: Likewise.
40082         * doc/posix-functions/ispunct_l.texi: Likewise.
40083         * doc/posix-functions/isspace_l.texi: Likewise.
40084         * doc/posix-functions/isupper_l.texi: Likewise.
40085         * doc/posix-functions/iswalnum_l.texi: Likewise.
40086         * doc/posix-functions/iswalpha_l.texi: Likewise.
40087         * doc/posix-functions/iswblank_l.texi: Likewise.
40088         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40089         * doc/posix-functions/iswctype_l.texi: Likewise.
40090         * doc/posix-functions/iswdigit_l.texi: Likewise.
40091         * doc/posix-functions/iswgraph_l.texi: Likewise.
40092         * doc/posix-functions/iswlower_l.texi: Likewise.
40093         * doc/posix-functions/iswprint_l.texi: Likewise.
40094         * doc/posix-functions/iswpunct_l.texi: Likewise.
40095         * doc/posix-functions/iswspace_l.texi: Likewise.
40096         * doc/posix-functions/iswupper_l.texi: Likewise.
40097         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40098         * doc/posix-functions/isxdigit_l.texi: Likewise.
40099         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
40100         * doc/posix-functions/strcasecmp_l.texi: Likewise.
40101         * doc/posix-functions/strcoll_l.texi: Likewise.
40102         * doc/posix-functions/strfmon_l.texi: Likewise.
40103         * doc/posix-functions/strftime_l.texi: Likewise.
40104         * doc/posix-functions/strncasecmp_l.texi: Likewise.
40105         * doc/posix-functions/strxfrm_l.texi: Likewise.
40106         * doc/posix-functions/tolower_l.texi: Likewise.
40107         * doc/posix-functions/toupper_l.texi: Likewise.
40108         * doc/posix-functions/towctrans_l.texi: Likewise.
40109         * doc/posix-functions/towlower_l.texi: Likewise.
40110         * doc/posix-functions/towupper_l.texi: Likewise.
40111         * doc/posix-functions/wcscoll_l.texi: Likewise.
40112         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40113         * doc/posix-functions/wctrans_l.texi: Likewise.
40114         * doc/posix-functions/wctype_l.texi: Likewise.
40115         * doc/glibc-functions/strptime_l.texi: Likewise.
40116         * doc/glibc-functions/strtod_l.texi: Likewise.
40117         * doc/glibc-functions/strtof_l.texi: Likewise.
40118         * doc/glibc-functions/strtol_l.texi: Likewise.
40119         * doc/glibc-functions/strtold_l.texi: Likewise.
40120         * doc/glibc-functions/strtoll_l.texi: Likewise.
40121         * doc/glibc-functions/strtoul_l.texi: Likewise.
40122         * doc/glibc-functions/strtoull_l.texi: Likewise.
40123         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40124         * doc/glibc-functions/wcstod_l.texi: Likewise.
40125         * doc/glibc-functions/wcstof_l.texi: Likewise.
40126         * doc/glibc-functions/wcstol_l.texi: Likewise.
40127         * doc/glibc-functions/wcstold_l.texi: Likewise.
40128         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40129         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40130         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40131
40132 2009-11-24  Bruno Haible  <bruno@clisp.org>
40133
40134         duplocale: Fix logic bug.
40135         * lib/duplocale.c: Don't include <langinfo.h>.
40136         (_NL_LOCALE_NAME): Remove macro.
40137         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40138         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40139
40140 2009-11-23  Jim Meyering  <meyering@redhat.com>
40141
40142         test-update-copyright: don't hard-code /usr/bin/perl
40143         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40144         perl to print the current year.  Gilles Espinasse reported that
40145         the replaced use of perl was hard-coded as /usr/bin/perl.
40146
40147 2009-11-23  Bruno Haible  <bruno@clisp.org>
40148
40149         duplocale: Add support for glibc 2.3.x.
40150         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40151
40152 2009-11-22  Bruno Haible  <bruno@clisp.org>
40153
40154         vasnprintf: Tiny optimization.
40155         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40156         MacOS X.
40157
40158 2009-11-22  Bruno Haible  <bruno@clisp.org>
40159
40160         Tests for module 'duplocale'.
40161         * modules/duplocale-tests: New file.
40162         * tests/test-duplocale.c: New file.
40163
40164         New module 'duplocale'.
40165         * m4/duplocale.m4: New file.
40166         * lib/locale.in.h (duplocale): New declaration.
40167         * lib/duplocale.c: New file.
40168         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40169         gl_LOCALE_H_DEFAULTS): New macros.
40170         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40171         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40172         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40173         REPLACE_DUPLOCALE.
40174         * modules/duplocale: New file.
40175         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40176
40177 2009-11-22  Bruno Haible  <bruno@clisp.org>
40178
40179         * modules/locale-tests (configure.ac): Test for newlocale function.
40180         * tests/test-locale.c: When the system has extended locale functions,
40181         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40182
40183         locale: Make locale_t available when possible.
40184         * lib/locale.in.h: Include <xlocale.h> when it exists.
40185         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40186         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40187         * modules/locale (Depends-on): Add extensions.
40188         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40189         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40190
40191 2009-11-22  Bruno Haible  <bruno@clisp.org>
40192
40193         Add comments.
40194         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40195         invocation.
40196         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40197         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40198         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40199
40200 2009-11-22  Bruno Haible  <bruno@clisp.org>
40201
40202         error: account for the possibility of freopen (stdout).
40203         * lib/error.c: Include <unistd.h>.
40204         (flush_stdout): New function, extracted from error and error_at_line.
40205         Determine stdout's fd dynamically.
40206         (error, error_at_line): Invoke flush_stdout.
40207         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40208         * modules/error (Depends-on): Add unistd.
40209
40210 2009-11-22  Bruno Haible  <bruno@clisp.org>
40211
40212         diffseq: Add comment.
40213         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40214
40215 2009-11-22  Jim Meyering  <meyering@redhat.com>
40216
40217         c-stack: avoid defining an unused static function
40218         * lib/c-stack.c (find_stack_direction): Do not define this function
40219         when it will not be used.
40220
40221         diffseq: avoid spurious gcc warnings
40222         * lib/diffseq.h (IF_LINT2): Define.
40223         (compareseq): Use it to initialize two members of "part".
40224         This avoids two used-uninitialized warnings.
40225
40226 2009-11-21  Jim Meyering  <meyering@redhat.com>
40227
40228         c-stack: avoid "ignoring return value of `write'" warning
40229         * lib/c-stack.c: Include "ignore-value.h".
40230         (die): Explicitly ignore each write return value.
40231         * modules/c-stack (Depends-on): Add ignore-value.
40232
40233 2009-11-21  Bruno Haible  <bruno@clisp.org>
40234
40235         diffseq: reduce scope of variable 'best'.
40236         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40237         variable, earlier used for two different purposes.
40238
40239 2009-11-21  Jim Meyering  <meyering@redhat.com>
40240
40241         diffseq: remove useless assignment to "best"
40242         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40243         assignment.  At that point "best" is already guaranteed to be zero.
40244
40245 2009-11-20  Eric Blake  <ebb9@byu.net>
40246
40247         build: mention ftp redirector in release announcements
40248         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40249         values that used to come from cfg.mk; mention FTP redirect URL.
40250         * build-aux/announce-gen: Mention the mirror list.
40251         Suggested by Karl Berry.
40252
40253         nanosleep: improve port to mingw
40254         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40255         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40256         LIB_NANOSLEEP, but only when needed.
40257         * modules/select (Link): Document LIBSOCKET.
40258         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40259         enough.
40260
40261         nanosleep: work around cygwin bug
40262         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40263         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40264         bug.
40265         (getnow): Delete, not needed.
40266         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40267         LIB_CLOCK_GETTIME.
40268         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40269         clock-time, gettime.
40270         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40271         bug.
40272         * modules/nanosleep-tests: New test.
40273         * tests/test-nanosleep.c: New file.
40274
40275         sleep: work around cygwin bug
40276         * lib/sleep.c (rpl_sleep): Work around the bug.
40277         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40278         (gl_PREREQ_SLEEP): Delete unused macro.
40279         * modules/sleep (Depends-on): Add verify.
40280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40281         * modules/unistd (Makefile.am): Substitute witness.
40282         * lib/unistd.in.h (sleep): Update prototype.
40283         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40284         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40285         * modules/sleep-tests (Depends-on): Check for alarm.
40286
40287 2009-11-20  Jim Meyering  <meyering@redhat.com>
40288
40289         maint.mk: improve sc_prohibit_magic_number_exit
40290         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40291         so it does not match uses like System.exit(1).
40292         Add comments showing how to correct all offenders.
40293
40294 2009-11-19  Eric Blake  <ebb9@byu.net>
40295
40296         xalloc-die-tests: add missing library
40297         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40298
40299         test-xvasprintf: silence compiler warnings
40300         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40301         empty string from gcc.
40302
40303 2009-11-19  Jim Meyering  <meyering@redhat.com>
40304
40305         xfreopen: new module, from coreutils
40306         * modules/xfreopen: New module.
40307         * lib/xfreopen.c: New file.
40308         * lib/xfreopen.h: New file.
40309         * MODULES.html.sh (File stream based Input/Output"): Add it.
40310
40311 2009-11-19  Eric Blake  <ebb9@byu.net>
40312
40313         manywarnings: depend on warnings
40314         * modules/manywarnings (Depends-on): Add warnings.
40315
40316         build: avoid compiler warnings
40317         * lib/select.c (rpl_select): Delete unused variable.
40318         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40319
40320 2009-11-18  Eric Blake  <ebb9@byu.net>
40321
40322         tests: avoid false negative with --with-packager
40323         * tests/test-version-etc.sh: Discard packager information.
40324         * tests/test-argp-version-etc-1.sh: Likewise.
40325         Reported by Mike Frysinger.
40326
40327         utimens: fix regression on Solaris
40328         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40329         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40330         can only change fd timestamps via futimesat.  Instead, use an
40331         additional witness macro to avoid BSD bug.
40332         Reported by Jim Meyering.
40333
40334 2009-11-17  Eric Blake  <ebb9@byu.net>
40335
40336         usleep: use it to simplify tests
40337         * modules/stat-time-tests (Depends-on): Add usleep.
40338         (configure.ac): Drop usleep check.
40339         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40340         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40341         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40342         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40343         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40344         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40345         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40346         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40347         Likewise.
40348         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40349         * tests/test-lchown.h (nap): Likewise.
40350         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40351         * tests/test-stat-time.c (nap): Likewise.
40352         * tests/test-utimens-common.h (nap): Update comments.
40353
40354         usleep: new module
40355         * modules/usleep: New file.
40356         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40357         * lib/usleep.c (usleep): Likewise.
40358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40359         * modules/unistd (Makefile.am): Substitute witnesses.
40360         * lib/unistd.in.h (usleep): Add declaration.
40361         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40362         * MODULES.html.sh (Date and time): Likewise.
40363         * modules/usleep-tests (Depends-on): New test.
40364         * tests/test-usleep.c: New file.
40365
40366         chown: work around OpenBSD bug
40367         * lib/chown.c (rpl_chown): Work around the bug.
40368         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40369         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40370         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40371         * modules/chown (Depends-on): Add stdbool.
40372         * modules/lchown (Depends-on): Likewise.
40373         * doc/posix-functions/chown.texi (chown): Document the bug.
40374         * doc/posix-functions/lchown.texi (lchown): Likewise.
40375         * tests/test-lchown.h (test_chown): Relax test.
40376
40377         mkstemp: avoid conflict with C++ keyword template
40378         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40379         * lib/mkostemp.c (mkostemp): Likewise.
40380         * lib/mkostemps.c (mkostemps): Likewise.
40381         * lib/mkstemp.c (mkstemp): Likewise.
40382         * lib/mkstemps.c (mkstemps): Likewise.
40383
40384         xalloc-die-tests: optimize
40385         * tests/test-xalloc-die.sh: Reduce number of processes.
40386
40387 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40388
40389         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40390         patch from ludo@gnu.org (Ludovic Courtès).
40391
40392 2009-11-17  Jim Meyering  <meyering@redhat.com>
40393
40394         version-etc: use proper license string
40395         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40396         * modules/version-etc-fsf: Likewise.
40397
40398 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40399
40400         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40401         printed to stdout.  Deal with EOL differences.
40402
40403 2009-11-17  Eric Blake  <ebb9@byu.net>
40404
40405         unsetenv: work around Solaris bug
40406         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40407         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40408         Reported by Jim Meyering.
40409
40410         vasnprintf: avoid compiler warnings
40411         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40412         variables.
40413         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40414
40415 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40416
40417         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40418         settings since xalloc-die is no longer the self test,
40419         xalloc-die.sh is.
40420
40421 2009-11-17  Jim Meyering  <meyering@redhat.com>
40422
40423         test-xalloc-die.sh: make the code agree with the commit log
40424         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
40425         at the end, just in case you happen to have a test-xalloc-die
40426         program in some other PATH directory.
40427
40428         test-xalloc-die.sh: fix a portability bug
40429         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
40430         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
40431         Otherwise, argv[0] (as often seen in diagnostics) would be too
40432         system-dependent, sometimes with, and sometimes without the leading "./".
40433
40434         version-etc-fsf: relax license to LGPLv3+
40435         * modules/version-etc-fsf (License): Relax license.
40436
40437 2009-11-16  Eric Blake  <ebb9@byu.net>
40438
40439         xalloc-die-tests: avoid printing null pointer
40440         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
40441         shell script.
40442         * tests/test-xalloc-die.c (program_name): Declare.
40443         * tests/test-xalloc-die.sh (tmpfiles): New file.
40444
40445         setenv, unsetenv: work around various bugs
40446         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
40447         (setenv) [HAVE_SETENV]: Work around bugs.
40448         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
40449         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
40450         for bugs.
40451         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
40452         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
40453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
40454         * modules/stdlib (Makefile.am): Update substitutions.
40455         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
40456         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
40457         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40458         * modules/setenv-tests: New test.
40459         * modules/unsetenv-tests: Likewise.
40460         * tests/test-setenv.c: New file.
40461         * tests/test-unsetenv.c: Likewise.
40462
40463 2009-11-16  Jim Meyering  <meyering@redhat.com>
40464
40465         version-etc: relax license to LGPLv3+
40466         * modules/version-etc (License): Relax license.
40467
40468         better AC_REQUIRE expanded-before-required-warning avoidance
40469         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40470         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40471         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40472         which is no longer needed.
40473
40474 2009-11-16  Eric Blake  <ebb9@byu.net>
40475
40476         test-freading: clean up temporary file
40477         * tests/test-freading.c (main): Remove file on success, and use
40478         ASSERT more liberally.
40479         Reported by Jim Meyering.
40480
40481 2009-11-16  Jim Meyering  <meyering@redhat.com>
40482
40483         avoid new AC_REQUIRE expanded-before-required warnings
40484         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40485         merely using it.
40486         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40487         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40488
40489 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40490
40491         * tests/test-xalloc-die.c: New file.
40492         * modules/xalloc-die-tests: New file.
40493         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40494         XFAIL_TESTS so it can be appended by modules.
40495
40496 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40497
40498         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40499         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40500
40501 2009-11-14  Eric Blake  <ebb9@byu.net>
40502
40503         fnmatch: avoid compiler warning
40504         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40505         to silence compiler warning about mismatch signedness in ?:.
40506         Reported by Robert Millan.
40507
40508         intprops: add double-inclusion guard
40509         * lib/intprops.h: Allow idempotent includes.
40510         Suggested by Bruce Korb.
40511
40512         openat: detect Solaris fchownat bug
40513         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40514         penalizing glibc chownat when only lchownat is broken.
40515         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40516         trailing slash bugs.
40517         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40518         * modules/openat-tests (Files): Include more files.
40519         (Depends-on): Add mgetgroups, sleep, stat-time.
40520         (configure.ac): Add additional checks.
40521         (Makefile.am): Build new test.
40522         * tests/test-fchownat.c: New file.
40523
40524         lchown: detect Solaris and FreeBSD bug
40525         * lib/lchown.c (rpl_lchown): Work around bug.
40526         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40528         * modules/unistd (Makefile.am): Populate it.
40529         * lib/unistd.in.h (lchown): Update declaration.
40530         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40531         * modules/lchown-tests: New file.
40532         * tests/test-lchown.h (test_lchown): Likewise.
40533         * tests/test-lchown.c (main): Likewise.
40534
40535         chown: detect Solaris and FreeBSD bug
40536         * lib/chown.c (rpl_chown): Work around bug.
40537         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40538         (gl_PREREQ_CHOWN): Delete.
40539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40540         * modules/unistd (Makefile.am): Populate it.
40541         * lib/unistd.in.h (chown): Update declaration.
40542         * lib/lchown.c (chown): Update client.
40543         * modules/lchown (Depends-on): Add lstat.
40544         * doc/posix-functions/chown.texi (chown): Document the bug.
40545         * doc/posix-functions/getgroups.texi (getgroups): Document
40546         getgroups pitfall.
40547         * modules/chown-tests: New file.
40548         * tests/test-chown.h (test_chown): Likewise.
40549         * tests/test-chown.c (main): Likewise.
40550
40551 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40552
40553         gnulib-tool: correctly detect absence of m4 directories
40554         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40555
40556 2009-11-14  Jim Meyering  <meyering@redhat.com>
40557
40558         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40559         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40560
40561 2009-11-14  John W. Eaton  <jwe@gnu.org>
40562
40563         strftime.h: wrap function declaration in extern "C" block
40564         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40565
40566 2009-11-13  Eric Blake  <ebb9@byu.net>
40567
40568         getgroups: avoid compiler warning
40569         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40570
40571         getgroups: work around FreeBSD bug
40572         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40573         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40574         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40575         * tests/test-getgroups.c (main): Fix buffer overrun.
40576
40577         getgroups: avoid compilation failure
40578         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40579         * modules/getgroups (Depends-on): Add stdint.
40580
40581 2009-11-13  Jim Meyering  <meyering@redhat.com>
40582
40583         test-getgroups: avoid compilation failure
40584         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40585
40586 2009-11-13  Eric Blake  <ebb9@byu.net>
40587
40588         mgetgroups: new module, taken from coreutils
40589         * modules/mgetgroups: New file.
40590         * lib/mgetgroups.h: Likewise.
40591         * lib/mgetgroups.c (mgetgroups): Likewise.
40592         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40593         * MODULES.html.sh (Users and groups): Mention it.
40594
40595         getgroups: don't expose GETGROUPS_T to user
40596         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40597         an element at a time if GETGROUPS_T is wrong size.
40598         * lib/getugroups.h (getugroups): Change signature.
40599         * lib/unistd.in.h (getgroups): Likewise.
40600         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40601         signature needs fixing.
40602         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40603         AC_TYPE_GETGROUPS.
40604         * modules/group-member (Depends-on): Add getgroups.
40605         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40606         (group_member): Rely on getgroups replacement.
40607         * lib/getugroups.c (getugroups): Use gid_t.
40608         * tests/test-getgroups.c (main): Likewise.
40609         * NEWS: Mention the signature change.
40610         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40611         problem with signature.
40612         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40613         GETGROUPS_T is still useful for setgroups.
40614
40615         getgroups, getugroups: provide stubs for mingw
40616         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40617         * lib/getugroups.c (getugroups): Likewise.
40618         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40619         function.  Modernize replacement scheme.
40620         (gl_PREREQ_GETGROUPS): Delete.
40621         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40622         * modules/getgroups (configure.ac): Declare witness.
40623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40624         * modules/unistd (Depends-on): Substitute witness.
40625         * lib/unistd.in.h (getgroups): Declare replacement.
40626
40627         getgroups: avoid calling exit
40628         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40629         drop xalloc.
40630         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40631         dependencies.
40632         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40633         exiting, in the rare case of malloc failure.
40634
40635         getgroups: fix logic error
40636         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40637         has more than 20 groups.
40638         * modules/getgroups-tests: New test.
40639         * tests/test-getgroups.c: New file.
40640
40641 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40642
40643         * tests/test-base64.c: Improve.
40644
40645 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40646
40647         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40648         Blake <ebb9@byu.net>.
40649
40650 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40651
40652         * tests/test-xvasprintf.c: Add %s%s related checks.
40653
40654 2009-11-12  Eric Blake  <ebb9@byu.net>
40655
40656         version-etc: match standards.texi style
40657         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40658         and use <> only for URLs.
40659
40660 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40661
40662         fts: do not fail on a submount during traversal
40663         * lib/fts.c (fts_build): Read the stat info again after opening
40664         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40665         Original report at http://bugzilla.redhat.com/501848.
40666
40667 2009-11-12  Jim Meyering  <meyering@redhat.com>
40668
40669         bootstrap: sync from coreutils
40670         * build-aux/bootstrap (bootstrap_epilogue): New function.
40671         Use git_modules_config in one more place.  This make bootstrap's
40672         --gnulib-srcdir option more useful for testing.
40673
40674         bootstrap: generalize autoheader check
40675         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40676         AC_CONFIG_HEADERS.
40677
40678 2009-11-11  Eric Blake  <ebb9@byu.net>
40679
40680         mkfifoat: use new modules for Solaris and BSD bugs
40681         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40682         * lib/mkfifoat.c (mknodat): Split...
40683         * lib/mknodat.c (mknodat): ...into new file.
40684         * modules/mkfifoat (Files): Ship new file.
40685         (Depends-on): Add mkfifo, mknod.
40686         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40687         (Depends-on): Add symlink.
40688         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40689         redundant with test_mkfifo.h.
40690         (do_mkfifoat, do_mknodat): New helpers.
40691
40692         mknod: new module
40693         * modules/mknod: New file.
40694         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40695         * lib/mknod.c (mknod): Likewise.
40696         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40697         defaults.
40698         * modules/sys_stat (Makefile.am): Substitute them.
40699         * lib/sys_stat.in.h (mknod): Declare replacement.
40700         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40701         Document it.
40702         * doc/posix-functions/mknod.texi (mknod): Likewise.
40703         * modules/mknod-tests: New test.
40704         * tests/test-mknod.c: Likewise.
40705
40706         mkfifo: new module
40707         * modules/mkfifo: New file.
40708         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40709         * lib/mkfifo.c (mkfifo): Likewise.
40710         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40711         defaults.
40712         * modules/sys_stat (Makefile.am): Substitute them.
40713         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40714         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40715         Document it.
40716         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40717         * modules/mkfifo-tests: New test.
40718         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40719         from test-mkfifoat.c.
40720         * tests/test-mkfifo.c: New file.
40721
40722         readlink: detect FreeBSD bug
40723         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40724         slash on symlink.
40725         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40726         * tests/test-readlink.h (test_readlink): Enhance test.
40727
40728         symlink: detect FreeBSD bug
40729         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40730         slash on symlink.
40731         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40732         * tests/test-symlink.h (test_symlink): Enhance test.
40733
40734 2009-11-10  Eric Blake  <ebb9@byu.net>
40735
40736         link: detect FreeBSD bug
40737         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40738         symlink.
40739         * doc/posix-functions/link.texi (link): Document the bug.
40740         * tests/test-link.h (test_link): Enhance test.
40741         * tests/test-linkat.c (main): Update caller.
40742
40743         unlink, remove: detect FreeBSD bug
40744         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40745         slash on symlink.
40746         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40747         * doc/posix-functions/remove.texi (remove): Likewise.
40748         * tests/test-unlink.h (test_unlink): Enhance test.
40749         * tests/test-remove.c (main): Likewise.
40750
40751 2009-11-09  Eric Blake  <ebb9@byu.net>
40752
40753         rename: detect FreeBSD bug
40754         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40755         slash on symlink.
40756         * modules/renameat-tests (Depends-on): Add filenamecat.
40757         * tests/test-rename.h (test_rename): Allow one more errno.
40758         * tests/test-renameat.c (main): Likewise.
40759         * doc/posix-functions/rename.texi (rename): Document the bug.
40760
40761         open: detect FreeBSD bug
40762         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40763         symlink.
40764         * doc/posix-functions/open.texi (open): Document the bug.
40765         * doc/posix-functions/utimes.texi (utimes): Likewise.
40766         * tests/test-open.h (test_open): Add parameters, and test symlink
40767         handling.
40768         * tests/test-open.c (main): Adjust caller.
40769         * tests/test-fcntl-safer.c (main): Likewise.
40770         * modules/open-tests (Depends-on): Add stdbool, symlink.
40771         * modules/fcntl-safer-tests (Depends-on): Likewise.
40772         * tests/test-openat.c (main): Add test-open tests.
40773
40774         stat: detect FreeBSD bug
40775         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40776         symlink.
40777         * doc/posix-functions/stat.texi (stat): Document the bug.
40778         * tests/test-stat.h (test_stat_func): Add argument.
40779         * tests/test-stat.c (main): Adjust caller.
40780         * tests/test-fstatat.c (main): Likewise.
40781         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40782         Reported by Jim Meyering.
40783
40784 2009-11-09  James Youngman  <jay@gnu.org>
40785
40786         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40787         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40788
40789 2009-11-08  Jim Meyering  <meyering@redhat.com>
40790
40791         utimens: remove invalid futimesat call
40792         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40793         It used the file descriptor of the target file as the DIR_FD
40794         parameter and NULL as the file name.  That caused failure with
40795         errno == EFAULT on FreeBSD-8.0-rc2
40796
40797 2009-11-07  Eric Blake  <ebb9@byu.net>
40798
40799         fflush, freadseek: use fseeko, not fseek
40800         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40801         (clear_ungetc_buffer): Avoid potential problems on large files.
40802         * lib/freadseek.c (freadseek): Likewise.
40803         * modules/freadseek (Depends-on): Add fseeko.
40804         * modules/fseek (configure.ac): Set a witness.
40805         * tests/test-fflush.c (main): Use fseeko.
40806         * tests/test-fpurge.c (fseek): Disable link warning.
40807         * tests/test-freadable.c (fseek): Likewise.
40808         * tests/test-freading.c (fseek): Likewise.
40809         * tests/test-fseeko.c (fseek): Likewise.
40810         * tests/test-ftell.c (fseek): Likewise.
40811         * tests/test-ftello.c (fseek): Likewise.
40812         * tests/test-fwritable.c (fseek): Likewise.
40813         * tests/test-fwriting.c (fseek): Likewise.
40814
40815 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40816
40817         * modules/memchr (Depends-on): Drop getpagesize dependency.
40818
40819 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40820
40821         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40822         Reported by Ludovic Courtès.
40823         * build-aux/pmccabe2html: Improve example usage.
40824         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40825
40826 2009-11-06  Jim Meyering  <meyering@redhat.com>
40827
40828         do-release-commit-and-tag: New module.
40829         Automate the release-commit and tag process.
40830         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40831         * modules/do-release-commit-and-tag: New file.
40832         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40833
40834 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40835
40836         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40837         because test-select.c uses inet_pton.
40838
40839 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40840
40841         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40842         GETADDRINFO_LIB.  Bump serial number.
40843         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40844         Suggested by Eric Blake <ebb9@byu.net>.
40845
40846 2009-11-05  Eric Blake  <ebb9@byu.net>
40847
40848         strtod: detect darwin bug
40849         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40850         Reported by Leo Davis.
40851
40852         freopen-safer: new module
40853         * modules/freopen-safer: New module.
40854         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40855         * lib/freopen-safer.c (freopen_safer): New file.
40856         * lib/stdio-safer.h (freopen_safer): New declaration.
40857         * lib/stdio--.h (freopen): New override.
40858         * MODULES.html.sh (File stream based Input/Output): Mention it.
40859         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40860         freopen-safer module.
40861         * doc/posix-functions/stderr.texi (stderr): Likewise.
40862         * doc/posix-functions/stdin.texi (stdin): Likewise.
40863         * doc/posix-functions/stdout.texi (stdout): Likewise.
40864         * modules/freopen-safer-tests: New test.
40865         * tests/test-reopen-safer.c: New file.
40866
40867 2009-11-05  Jim Meyering  <meyering@redhat.com>
40868
40869         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40870         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40871
40872 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40873
40874         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40875
40876 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40877
40878         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40879
40880 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40881
40882         Fix link error.
40883         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40884         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40885
40886 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40887
40888         * tests/test-func.c: Also test value of __func__.
40889
40890 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40891
40892         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40893         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40894
40895 2009-11-05  Bruno Haible  <bruno@clisp.org>
40896
40897         Fix link error.
40898         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40899         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40900         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40901
40902 2009-11-05  Bruno Haible  <bruno@clisp.org>
40903
40904         Tests for module 'inet_pton'.
40905         * modules/inet_pton-tests: New file.
40906         * tests/test-inet_pton.c: New file.
40907
40908 2009-11-05  Bruno Haible  <bruno@clisp.org>
40909
40910         Tests for module 'inet_ntop'.
40911         * modules/inet_ntop-tests: New file.
40912         * tests/test-inet_ntop.c: New file.
40913
40914 2009-11-04  Eric Blake  <ebb9@byu.net>
40915
40916         stdlib-safer: wrap all mkstemp variants
40917         * modules/mkostemp (configure.ac): Set witness.
40918         * modules/mkostemps (configure.ac): Likewise.
40919         * modules/mkstemps (configure.ac): Likewise.
40920         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40921         (mkstemps_safer): Wrap more functions.
40922         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40923         wrapping.
40924         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40925         (mkstemps_safer): Implement the wrappers.
40926
40927         mkstemps, mkostemps: new modules
40928         * modules/mkostemps: New module.
40929         * modules/mkstemps: Likewise.
40930         * lib/mkostemps.c (mkostemps): New file.
40931         * lib/mkstemps.c (mkstemps): Likewise.
40932         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40933         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40934         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40935         * modules/stdlib (Makefile.am): Substitute them.
40936         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40937         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40938         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40939         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40940         * MODULES.html.sh (File system functions): Mention them.
40941
40942         tempname: resync from glibc
40943         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40944         same values for __GT_FILE as glibc.  Abort even when assertions
40945         are disabled.
40946         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40947         match its value otherwise.  Allow idempotent inclusion.
40948         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40949         * lib/mkostemp.c (mkostemp): Likewise.
40950         * lib/mkstemp.c (mkstemp): Likewise.
40951         * lib/tmpfile.c (tmpfile): Likewise.
40952         * NEWS: Document this.
40953
40954         utimens: fix use of futimens on older Linux
40955         * lib/utimens.c (fdutimens): Use updated, rather than original,
40956         timespec to avoid bug in older Linux kernel.
40957         Reported by Simon Josefsson.
40958
40959 2009-11-04  Bruno Haible  <bruno@clisp.org>
40960
40961         Make num_processors more flexible and consistent.
40962         * lib/nproc.h (enum nproc_query): New type.
40963         (num_processors): Add a 'query' argument.
40964         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40965         (num_processors): Add a 'query' argument. Test the value of the
40966         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40967         mingw, count the number of CPUs available for the current process.
40968         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40969         Check for sched_getaffinity and sched_getaffinity_np.
40970         * modules/nproc (Depends-on): Add c-ctype, extensions.
40971         * NEWS: Mention the change.
40972
40973 2009-11-03  Bruno Haible  <bruno@clisp.org>
40974
40975         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40976
40977 2009-11-03  Jim Meyering  <meyering@redhat.com>
40978
40979         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40980         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40981         if it is defined.
40982
40983 2009-11-02  Eric Blake  <ebb9@byu.net>
40984
40985         mktime, timegm: share common declaration
40986         * lib/mktime-internal.h: New file.
40987         * lib/mktime.c: Use it rather than open-coding a declaration.
40988         * lib/timegm.c: Likewise.
40989         * modules/mktime (Files): Ship it.
40990         * modules/timegm (Files): Likewise.
40991         Suggested by Bruno Haible.
40992
40993         test-update-copyright: update test to match script changes
40994         * tests/test-update-copyright.sh: Avoid hard-coding perl
40995         location.  Don't update *.bak created by earlier runs.
40996
40997 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40998             Simon Josefsson  <simon@josefsson.org>
40999             Bruno Haible  <bruno@clisp.org>
41000
41001         Fix link error on Solaris 8.
41002         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
41003         also in libnsl. Define also INET_PTON_LIB.
41004         * modules/inet_pton (Link): New section.
41005
41006 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41007             Bruno Haible  <bruno@clisp.org>
41008
41009         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
41010         * modules/inet_ntop (Link): New section.
41011         Reported by Boyan Kasarov <bkasarov@gmail.com>.
41012
41013 2009-11-02  Eric Blake  <ebb9@byu.net>
41014
41015         maint: avoid compiler warnings in m4 macros
41016         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
41017         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
41018
41019 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41020
41021         * m4/pmccabe2html.m4: Remove file.
41022         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
41023         function.  Change maintainer.
41024         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
41025         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
41026         Courtès).
41027
41028 2009-10-31  Eric Blake  <ebb9@byu.net>
41029
41030         fseeko: fix m4 regression
41031         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
41032         regression from 2009-10-27.
41033         Reported by Ralf Wildenhues.
41034
41035 2009-10-31  Jim Meyering  <meyering@redhat.com>
41036
41037         inttostr: aesthetics and improved (compile-time) safety
41038         Define inttype_is_signed rather than inttype_is_unsigned,
41039         since the sole use is via "#if inttype_is_signed".
41040         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
41041         inttype_is_unsigned.
41042         * lib/offtostr.c (inttype_is_signed): Likewise.
41043         * lib/uinttostr.c (inttype_is_signed): Likewise.
41044         * lib/umaxtostr.c (inttype_is_signed): Likewise.
41045         * lib/inttostr.c (inttostr): Use verify to cross-check the
41046         inttype_is_signed value and the signedness of the actual type.
41047         * modules/inttostr (Depends-on): Add verify.
41048
41049 2009-10-30  Eric Blake  <ebb9@byu.net>
41050
41051         build: avoid compiler warnings
41052         * lib/fchmodat.c (lchmod): Mark unused variables.
41053         * lib/getopt.c (_getopt_initialize): Likewise.
41054         * lib/mktime.c (__mktime_internal): Provide prototype.
41055         * lib/inttostr.c (inttostr): Avoid compiler warning even with
41056         older gcc that do not understand #pragma GCC diagnostic.
41057         * lib/uinttostr.c (inttype_is_unsigned): Define.
41058         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
41059
41060 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
41061
41062         stat: fix compilation on AIX
41063         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
41064         only see struct stat64.
41065
41066 2009-10-30  Eric Blake  <ebb9@byu.net>
41067
41068         exclude: make more robust
41069         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
41070         rather than masking a coding bug.
41071         Suggested by Bruno Haible.
41072
41073 2009-10-30  Jim Meyering  <meyering@redhat.com>
41074
41075         perl scripts: remove #!/usr/bin/perl in favor of more portable...
41076         Rather than putting #!/usr/bin/perl on the first line,
41077         start with a variant of what's recommended by "man perlrun" that
41078         invokes the first "perl" program from your shell's search path.
41079         * build-aux/gitlog-to-changelog: Replace #!... as above.
41080         Add a "Local Variables" perl mode setting.
41081         Prompted by a patch from Ludovic Courtès.
41082         Improved by Eric Blake.
41083         * build-aux/useless-if-before-free: Likewise.
41084         * build-aux/announce-gen: Likewise.
41085         * build-aux/update-copyright: Likewise.
41086
41087 2009-10-29  Eric Blake  <ebb9@byu.net>
41088
41089         filenamecat-lgpl: adjust clients
41090         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
41091         filenamecat.
41092         * modules/renameat (Depends-on): Likewise.
41093
41094         filenamecat: split into filenamecat-lgpl
41095         * modules/filenamecat-lgpl: New module.
41096         * modules/filenamecat (Files): Move library-safe files into
41097         filenamecat-lgpl.
41098         (Depends-on): Add filenamecat-lgpl.
41099         (configure.ac): Declare witness.
41100         * lib/filenamecat.h (file_name_concat): Only declare when using
41101         GPL module.
41102         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
41103         Move...
41104         * lib/filenamecat-lgpl.c: ...into new file.
41105         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
41106         (gl_FILE_NAME_CONCAT): Use it.
41107         * MODULES.html.sh (File system functions): Mention new module.
41108
41109         argp: avoid memory leak
41110         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
41111         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
41112         base_name, since the latter malloc()s and can call exit().
41113         Leak introduced 2006-07-03.
41114
41115         dirname-lgpl: adjust clients that don't need full dirname
41116         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
41117         * modules/filenamecat (Depends-on): Likewise.
41118         * modules/linkat (Depends-on): Likewise.
41119         * modules/mkancesdirs (Depends-on): Likewise.
41120         * modules/mkdir (Depends-on): Likewise.
41121         * modules/openat (Depends-on): Likewise.
41122         * modules/savewd (Depends-on): Likewise.
41123         * modules/rename (Depends-on): Likewise.
41124         (License): Relax license.
41125         * modules/mkdir-tests (Depends-on): Drop progname.
41126         (Makefile.am): Delete unneeded LDADD.
41127         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41128
41129         dirname: split into dirname-lgpl
41130         * modules/dirname-lgpl: New module.
41131         * modules/dirname (Files): Move library-safe files into
41132         dirname-lgpl.
41133         (Depends-on): Add dirname-lgpl.
41134         (configure.ac): Declare witness.
41135         * modules/double-slash-root (License): Relax license.
41136         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41137         module.
41138         * lib/dirname.c (dir_len, mdir_name): Move...
41139         * lib/dirname-lgpl.c: ...into new file.
41140         * lib/basename.c (last_component, base_len): Move...
41141         * lib/basename-lgpl.c: ...into new file.
41142         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41143         (gl_DIRNAME): Use it.
41144         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41145         Mention new module.
41146         * modules/dirname-tests (Depends-on): Add progname.
41147         * tests/test-dirname.c (program_name): Delete.
41148
41149         mkdir: make safe for libraries
41150         * modules/mkdir (Depends-on): Drop xalloc.
41151         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41152         exit.
41153
41154         tests: avoid some compiler warnings
41155         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41156         literals.
41157         * tests/test-memchr.c (main): Avoid type mismatch.
41158         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41159         * tests/test-base64.c (main): Likewise.
41160         * tests/test-getdelim.c (main): Likewise.
41161         * tests/test-gethostname.c (main): Likewise.
41162         * tests/test-getline.c (main): Likewise.
41163         * tests/test-netinet_in.c (main): Likewise.
41164         * tests/test-select.c (open_server_socket, main): Likewise.
41165         * tests/test-select-stdin.c (main): Likewise.
41166         * tests/test-sockets.c (main): Likewise.
41167         * tests/test-strsignal.c (main): Likewise.
41168         * tests/test-sys_select.c (main): Likewise.
41169         * tests/test-sys_socket.c (main): Likewise.
41170         * tests/test-u64.c (main): Likewise.
41171         * tests/test-xfprintf-posix.c (main): Likewise.
41172         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41173
41174         sockets: avoid compiler warning
41175         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41176
41177         maint: detect usage(1) and other suspicious exits
41178         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41179
41180 2009-10-29  Jim Meyering  <meyering@redhat.com>
41181
41182         timespec: long-to-int truncation could make timespec_cmp malfunction
41183         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41184         a multiple of 2^32 nanoseconds as no difference.
41185
41186 2009-10-28  Jim Meyering  <meyering@redhat.com>
41187
41188         fprintftime: wrap macro code argument in "do {...} while(0)"
41189         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41190         cpy macro must be a statement that can be followed by a semicolon.
41191         Now that the else clause contains a comment and is hence longer
41192         than one line, I require curly braces.  That in turn requires
41193         that we wrap this code block in the standard do...while(0).
41194
41195         fprintftime: remove stray semicolon from previous change
41196         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41197
41198         fprintftime: avoid a warning about ignored fwrite return value
41199         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41200         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41201         that is unsafe.
41202         * modules/fprintftime (Depends-on): Add ignore-value.
41203
41204         exclude: avoid an unwarranted warning
41205         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41206
41207 2009-10-27  Eric Blake  <ebb9@byu.net>
41208
41209         fseek: avoid compilation failure when fflush is replaced
41210         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41211         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41212         module is in use.
41213         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41214         module is not in use; since REPLACE_FSEEK worked otherwise.
41215         (GNULIB_FTELLO): Likewise for ftell.
41216         Reported by Ian Beckwith and others.
41217
41218 2009-10-27  Bruno Haible  <bruno@clisp.org>
41219
41220         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41221         Reported by Jim Meyering.
41222
41223 2009-10-27  Jim Meyering  <jim@meyering.net>
41224             Bruno Haible  <bruno@clisp.org>
41225
41226         Avoid warning despite dropping the return value of fwrite.
41227         * lib/unicodeio.c: Include ignore-value.h.
41228         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41229         * modules/unicodeio (Depends-on): Add ignore-value.
41230
41231 2009-10-26  Eric Blake  <ebb9@byu.net>
41232
41233         areadlinkat: fix fallback path
41234         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41235         pointer and zero.
41236
41237 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41238
41239         Use a better IO block size for modern systems
41240         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41241         * lib/md2.c: Likewise.
41242         * lib/md4.c: Likewise.
41243         * lib/md5.c: Likewise.
41244         * lib/sha1.c: Likewise.
41245         * lib/sha256.c: Likewise.
41246         * lib/sha512.c: Likewise.
41247
41248 2009-10-22  Eric Blake  <ebb9@byu.net>
41249
41250         tests: avoid several compiler warnings
41251         * tests/test-getcwd.c (main): Avoid buffer underflow.
41252         * tests/test-getdate.c (main): String literals are not safe with
41253         putenv, so use setenv.  Declare unused argument.
41254         * modules/getdate-tests (Depends-on): Add setenv.
41255         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41256         problems with string literals in char *.
41257         * tests/test-hash.c (main): Avoid shadowing declaration.
41258         (insert_new): Treat string literals as char const *.
41259         * tests/test-getopt.h (test_getopt): Likewise.
41260         (getopt_loop): Alter types to minimize casting elsewhere.
41261         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41262         (test_getopt_long_posix): Likewise.
41263         (do_getopt_long): Add wrapper to minimize casting.
41264         * tests/test-atexit.c (clear_temp_file): Use void.
41265         * tests/test-areadlink-with-size.c (main): Declare unused
41266         arguments.
41267         * tests/test-areadlink.c (main): Likewise.
41268         * tests/test-areadlinkat-with-size.c (main): Likewise.
41269         * tests/test-areadlinkat.c (main): Likewise.
41270         * tests/test-canonicalize-lgpl.c (main): Likewise.
41271         * tests/test-canonicalize.c (main): Likewise.
41272         * tests/test-dirent-safer.c (main): Likewise.
41273         * tests/test-dirname.c (main): Likewise.
41274         * tests/test-dup2.c (main): Likewise.
41275         * tests/test-fchdir.c (main): Likewise.
41276         * tests/test-fcntl-h.c (main): Likewise.
41277         * tests/test-fcntl-safer.c (main): Likewise.
41278         * tests/test-fdopendir.c (main): Likewise.
41279         * tests/test-fdutimensat.c (main): Likewise.
41280         * tests/test-fflush.c (main): Likewise.
41281         * tests/test-filenamecat.c (main): Likewise.
41282         * tests/test-filevercmp.c (main): Likewise.
41283         * tests/test-fopen-safer.c (main): Likewise.
41284         * tests/test-fopen.c (main): Likewise.
41285         * tests/test-fpending.c (main): Likewise.
41286         * tests/test-fpurge.c (main): Likewise.
41287         * tests/test-freading.c (main): Likewise.
41288         * tests/test-fstatat.c (main): Likewise.
41289         * tests/test-fsync.c (main): Likewise.
41290         * tests/test-futimens.c (main): Likewise.
41291         * tests/test-getndelim2.c (main): Likewise.
41292         * tests/test-gettimeofday.c (main): Likewise.
41293         * tests/test-getopt.c (main): Likewise.
41294         * tests/test-i-ring.c (main): Likewise.
41295         * tests/test-inttypes.c (main): Likewise.
41296         * tests/test-link.c (main): Likewise.
41297         * tests/test-lstat.c (main): Likewise.
41298         * tests/test-math.c (main): Likewise.
41299         * tests/test-md5.c (main): Likewise.
41300         * tests/test-memchr2.c (main): Likewise.
41301         * tests/test-memrchr.c (main): Likewise.
41302         * tests/test-mkdir.c (main): Likewise.
41303         * tests/test-mkdirat.c (main): Likewise.
41304         * tests/test-mkfifoat.c (main): Likewise.
41305         * tests/test-open.c (main): Likewise.
41306         * tests/test-openat-safer.c (main): Likewise.
41307         * tests/test-openat.c (main): Likewise.
41308         * tests/test-quotearg.c (main): Likewise.
41309         * tests/test-rawmemchr.c (main): Likewise.
41310         * tests/test-readlink.c (main): Likewise.
41311         * tests/test-remove.c (main): Likewise.
41312         * tests/test-rename.c (main): Likewise.
41313         * tests/test-renameat.c (main): Likewise.
41314         * tests/test-rmdir.c (main): Likewise.
41315         * tests/test-sha1.c (main): Likewise.
41316         * tests/test-signal.c (main): Likewise.
41317         * tests/test-sigaction.c (main): Likewise.
41318         * tests/test-stat.c (main): Likewise.
41319         * tests/test-stat-time.c (main): Likewise.
41320         * tests/test-stddef.c (main): Likewise.
41321         * tests/test-stdint.c (main): Likewise.
41322         * tests/test-stdio.c (main): Likewise.
41323         * tests/test-stdlib.c (main): Likewise.
41324         * tests/test-strchrnul.c (main): Likewise.
41325         * tests/test-strerror.c (main): Likewise.
41326         * tests/test-string.c (main): Likewise.
41327         * tests/test-strtod.c (main): Likewise.
41328         * tests/test-strverscmp.c (main): Likewise.
41329         * tests/test-symlink.c (main): Likewise.
41330         * tests/test-symlinkat.c (main): Likewise.
41331         * tests/test-sys_stat.c (main): Likewise.
41332         * tests/test-sys_time.c (main): Likewise.
41333         * tests/test-time.c (main): Likewise.
41334         * tests/test-unistd.c (main): Likewise.
41335         * tests/test-unlink.c (main): Likewise.
41336         * tests/test-unlinkat.c (main): Likewise.
41337         * tests/test-utimens.c (main): Likewise.
41338         * tests/test-utimensat.c (main): Likewise.
41339         * tests/test-version-etc.c (main): Likewise.
41340         * tests/test-wchar.c (main): Likewise.
41341         * tests/test-wctype.c (main): Likewise.
41342         * tests/test-xprintf-posix.c (main): Likewise.
41343         * tests/test-posixtm.c (main): Likewise.
41344         (STREQ): Delete unused macro.
41345         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41346         shadowed variables.
41347         * tests/test-memchr.c (main): Likewise.
41348
41349 2009-10-21  Eric Blake  <ebb9@byu.net>
41350
41351         areadlinkat: avoid failure on older glibc
41352         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41353         rather than mis-comparing 0 against FUNC_RESULT of char*.
41354
41355 2009-10-21  Bruno Haible  <bruno@clisp.org>
41356
41357         * modules/stpncpy (License): Relicense under LGPLv2+.
41358         Reported by David Lutterkort <lutter@redhat.com>.
41359
41360 2009-10-20  Eric Blake  <ebb9@byu.net>
41361
41362         utimensat: work around Solaris 9 bug
41363         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41364         has trailing slash bugs.
41365         * tests/test-lutimens.h (test_lutimens): Enhance test.
41366         * tests/test-utimens.h (test_utimens): Likewise.
41367         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41368         * doc/posix-functions/utimes.texi (utimes): Likewise.
41369         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41370         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41371         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41372         * doc/posix-functions/futimens.texi (futimens): Likewise.
41373
41374         fdutimensat: new module
41375         * modules/fdutimensat: New file.
41376         * lib/fdutimensat.c (fdutimensat): Likewise.
41377         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41378         * MODULES.html.sh (File system functions): Mention module.
41379         * modules/fdutimensat-tests: New test.
41380         * tests/test-fdutimensat.c: Likewise.
41381
41382         doc: regenerate INSTALL
41383         * doc/INSTALL: Reflect recent autoconf update.
41384         * doc/INSTALL.ISO: Likewise.
41385         * doc/INSTALL.UTF-8: Likewise.
41386
41387 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41388
41389         acl: warn if ACL support is not detected
41390         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41391
41392 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41393
41394         * lib/nproc.h: Add extern "C" block for C++.
41395
41396 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41397             Bruno Haible  <bruno@clisp.org>
41398
41399         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41400         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41401         * doc/posix-functions/isalpha.texi: Likewise.
41402         * doc/posix-functions/isblank.texi: Likewise.
41403         * doc/posix-functions/iscntrl.texi: Likewise.
41404         * doc/posix-functions/isdigit.texi: Likewise.
41405         * doc/posix-functions/isgraph.texi: Likewise.
41406         * doc/posix-functions/islower.texi: Likewise.
41407         * doc/posix-functions/isprint.texi: Likewise.
41408         * doc/posix-functions/ispunct.texi: Likewise.
41409         * doc/posix-functions/isspace.texi: Likewise.
41410         * doc/posix-functions/isupper.texi: Likewise.
41411         * doc/posix-functions/isxdigit.texi: Likewise.
41412
41413 2009-10-18  Bruno Haible  <bruno@clisp.org>
41414
41415         Tests for module 'isblank'.
41416         * modules/isblank-tests: New file.
41417         * tests/test-isblank.c: New file.
41418
41419         New module 'isblank'.
41420         * lib/isblank.c: New file.
41421         * m4/isblank.m4: New file.
41422         * modules/isblank: New file.
41423         * doc/posix-functions/isblank.texi: Mention the new module.
41424
41425 2009-10-18  Bruno Haible  <bruno@clisp.org>
41426
41427         New module 'ctype'.
41428         * lib/ctype.in.h: New file.
41429         * m4/ctype.m4: New file.
41430         * modules/ctype: New file.
41431         * doc/posix-headers/ctype.texi: Mention the new module.
41432
41433 2009-10-18  Jim Meyering  <meyering@redhat.com>
41434
41435         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
41436         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
41437         right after its initialization, rather than farther down.
41438         Keeping these in close proximity makes it easier to ensure
41439         that each such variable is initialized.  E.g.,
41440
41441             LIB_CLOCK_GETTIME=
41442             AC_SUBST([LIB_CLOCK_GETTIME])
41443
41444         This change also increments these serial numbers.
41445         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
41446         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41448
41449 2009-10-18  Bruno Haible  <bruno@clisp.org>
41450
41451         Don't let environment variables perturb build.
41452         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
41453         (gl_PREREQ_GETHRXTIME): ... not here.
41454
41455 2009-10-18  Bruno Haible  <bruno@clisp.org>
41456
41457         Avoid symlink attack in localcharset module.
41458         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41459         (O_NOFOLLOW): Define fallback.
41460         (get_charset_aliases): Don't open the file if it is a symbolic link.
41461         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41462         gl_FCNTL_H.
41463         (gl_FCNTL_H): Require it.
41464         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41465         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41466         Reported by Fergal Glynn <fglynn@veracode.com>.
41467
41468 2009-10-18  Bruno Haible  <bruno@clisp.org>
41469
41470         Implement nproc for mingw.
41471         * lib/nproc.c: Include <windows.h>
41472         (num_processors): On native Windows platforms, try GetSystemInfo.
41473
41474 2009-10-18  Bruno Haible  <bruno@clisp.org>
41475
41476         Implement nproc for IRIX.
41477         * lib/nproc.c: Include <sys/sysmp.h>.
41478         (num_processors): On IRIX systems, try sysmp.
41479         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41480
41481 2009-10-18  Bruno Haible  <bruno@clisp.org>
41482
41483         Implement nproc for HP-UX.
41484         * lib/nproc.c: Include <sys/pstat.h>
41485         (num_processors): On HP-UX systems, try pstat_getdynamic.
41486         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41487         pstat_getdynamic.
41488
41489 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41490             Bruno Haible  <bruno@clisp.org>
41491
41492         Implement nproc for NetBSD, OpenBSD.
41493         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41494         (ARRAY_SIZE): New macro.
41495         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41496         * m4/nproc.m4: New file.
41497         * modules/nproc (Files): Add m4/nproc.m4.
41498         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41499         (Makefile.am): Instead, augment lib_SOURCES.
41500
41501 2009-10-18  Bruno Haible  <bruno@clisp.org>
41502
41503         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41504         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41505         sys/param.h.
41506
41507 2009-10-16  Eric Blake  <ebb9@byu.net>
41508
41509         utimensat: new module
41510         * modules/utimensat: New file.
41511         * lib/utimensat.c (utimensat): Likewise.
41512         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41513         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41514         so we can work around Linux bugs.
41515         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41516         * modules/sys_stat (Makefile.am): Substitute them.
41517         * lib/sys_stat.in.h (utimensat): Declare it.
41518         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41519         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41520         * modules/utimensat-tests: New test.
41521         * tests/test-utimensat.c: Likewise.
41522
41523         utimens: let lutimens work on non-symlinks
41524         * lib/utimens.c (lutimens): Fall back to utimens rather than
41525         failing with ENOSYS, when file is not a symlink.
41526         (utimens): Reduce redirection.
41527         * tests/test-lutimens.h (test_lutimens): Update test to cover
41528         non-symlinks.
41529         * tests/test-utimens.h (test_utimens): Update test to cover
41530         symlinks.
41531         * tests/test-utimens.c (main): Update caller.
41532
41533         utimens: cache whether utimensat syscall works
41534         * lib/utimens.c (utimensat_works_really): New cache variable.
41535         (fdutimens, lutimens): Use it to avoid failing syscall.
41536
41537         test-stat-time, test-utimens: improve portability
41538         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41539         ext4 on alpha, and for cygwin.
41540         * tests/test-utimens-common.h: New file.
41541         (nap): Factor delays into single function.
41542         * tests/test-lutimens.h (test_lutimens): Use new header.
41543         * tests/test-futimens.h (test_futimens): Likewise.
41544         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41545         timestamps to occur from same machine, as was done previously for
41546         test_utimens.
41547         * modules/utimens-tests (Files): Ship new file.
41548         * modules/futimens-tests (Files): Likewise.
41549         Reported in part by Jim Meyering.
41550
41551         sys_stat: sort replacement declarations
41552         * lib/sys_stat.in.h: Sort declarations.
41553         * lib/futimens.c (futimens): Fix typo.
41554
41555 2009-10-15  Jim Meyering  <meyering@redhat.com>
41556
41557         don't let environment settings perturb build
41558         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41559         could cause a configure-time and/or build-time malfunction.
41560         Typically, a configure-time function-in-library test is performed
41561         via code like this:
41562
41563           LIB_VAR=
41564           AC_SUBST([LIB_VAR])
41565           prefix_saved_LIBS=$LIBS
41566             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41567                        [test "$ac_cv_search_FUNC" = "none required" ||
41568                         LIB_VAR=$ac_cv_search_FUNC])
41569           LIBS=$prefix_saved_LIBS
41570
41571         However, in each of the files affected by this change, the LIB_VAR=
41572         initialization was omitted.  Thus, when set in the environment, its
41573         value would propagate into generated Makefiles when FUNC is not found
41574         in LIB_NAME.
41575         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41576         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41577         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41578
41579 2009-10-14  Eric Blake  <ebb9@byu.net>
41580
41581         fchdir: avoid infinite recursion in mingw
41582         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41583         recursing.
41584
41585         test-stat-time: port to mingw
41586         * tests/test-stat-time.c (force_unlink): Return a value.
41587         (test_ctime) [W32]: Fix compilation error.
41588         (nap): Don't call usleep with too large an argument.  Use
41589         force_unlink.
41590         * doc/pastposix-functions/usleep.texi (usleep): Document the
41591         portability issue.
41592
41593 2009-10-13  Jim Meyering  <meyering@redhat.com>
41594
41595         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41596         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41597         * modules/pipe-filter-ii: Likewise.
41598         * modules/sys_socket-tests: Likewise.
41599         * modules/tsearch-tests: Likewise.
41600         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41601         (check): Depend on it.
41602
41603 2009-10-12  Eric Blake  <ebb9@byu.net>
41604
41605         utimens-tests: port to NFS file systems
41606         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41607         comparisons to avoid spurious failures from timestamp drift
41608         between NFS machines.
41609
41610 2009-10-12  Eric Blake  <ebb9@byu.net>
41611
41612         stat-time-tests: minor cleanups
41613         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41614         * tests/test-stat-time.c (nap): Separate assignment from call.
41615         Suggested by Paolo Bonzini and Bruno Haible.
41616
41617         sys_stat: guarantee struct timespec
41618         * lib/sys_stat.in.h (includes): Always include <time.h>
41619         * modules/sys_stat (Depends-on): Add time.
41620         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41621         mode_t permission values.
41622         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41623         get at subsecond timestamps.
41624
41625 2009-10-10  Eric Blake  <ebb9@byu.net>
41626
41627         futimens: new module
41628         * modules/futimens: New file.
41629         * lib/futimens.c (futimens): Likewise.
41630         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41631         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41632         we can work around Linux bugs.
41633         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41634         * modules/sys_stat (Makefile.am): Substitute them.
41635         * lib/sys_stat.in.h (futimens): Declare it.
41636         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41637         * doc/posix-functions/futimens.texi (futimens): Likewise.
41638         * modules/futimens-tests: New test.
41639         * tests/test-futimens.c: Likewise.
41640
41641         utimens: introduce fdutimens
41642         * lib/utimens.h (fdutimens): New prototype.
41643         * lib/utimens.c (gl_futimens): Move guts...
41644         (fdutimens): ...to new interface.
41645         * tests/test-utimens.c (do_fdutimens): Use it.
41646
41647         utimens: add UTIME_NOW and UTIME_OMIT support
41648         * lib/utimens.c (validate_timespec, update_timespec): New helper
41649         functions.
41650         (gl_futimens, lutimens): Use them.
41651         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41652         stdbool, sys_stat.
41653         (Link): Mention resulting library dependency.
41654         * modules/utimecmp (Link): Likewise.
41655         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41656         (Makefile.am): Pick up library dependency.
41657         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41658         definition.
41659         * tests/test-sys_stat.c: Test the definitions.
41660         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41661         * NEWS: Document library dependency.
41662
41663         utimecmp: support symlink timestamps
41664         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41665         hashing when possible.  Use pathconf when available.
41666         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41667         * modules/utimecmp (Depends-on): Add lstat.
41668
41669         utimens: add lutimens interface
41670         * lib/utimens.c (lutimens): New function.
41671         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41672         * lib/utimens.h (lutimens): Declare new interface.
41673         * tests/test-utimens.c (main): Enhance test.
41674         * tests/test-lutimens.h (test_lutimens): New file.
41675         * modules/utimens-tests (Files): Distribute it.
41676         (Depends-on): Add symlink.
41677         (configure.ac): Check for usleep.
41678
41679         utimens: validate futimens usage
41680         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41681         fewer syscalls on failure later on.  Avoid compiler warning on
41682         mingw.
41683         * modules/utimens (Depends-on): Add dup2.
41684
41685         utimens: add test
41686         * modules/utimens-tests: New test.
41687         * tests/test-utimens.h: New file.
41688         * tests/test-futimens.h: Likewise.
41689         * tests/test-utimens.c: Likewise.
41690
41691         doc: mention timestamp portability issues
41692         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41693         instead.
41694         * doc/posix-functions/utime.texi (utime): Likewise.
41695         * doc/posix-functions/utimes.texi (utimes): Likewise.
41696         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41697         instead.
41698         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41699         module.
41700         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41701         Mention weakness with symlink timestamps.
41702         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41703         to utimensat/futimens instead.
41704         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41705
41706         test-dup2: enhance test
41707         * tests/test-dup2.c (main): Also check AT_FDCWD.
41708
41709         test-stat-time: avoid more spurious failures
41710         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41711         xfs; and avoid race if the two timestamps cross quantization edge.
41712
41713         relocatable: prefer 'file system' over 'filesystem'
41714         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41715         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41716         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41717         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41718         * lib/relocatable.c (compute_curr_prefix): Likewise.
41719
41720 2009-10-10  Jim Meyering  <meyering@redhat.com>
41721
41722         stat-time-tests: check for the usleep function
41723         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41724
41725 2009-10-10  Bruno Haible  <bruno@clisp.org>
41726
41727         * modules/xnanosleep: Put the Link section after the Include section.
41728
41729 2009-10-09  Eric Blake  <ebb9@byu.net>
41730
41731         dup2: work around FreeBSD 6.1 bug
41732         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41733         * doc/posix-functions/dup2.texi (dup2): Document it.
41734         Reported by Nelson H. F. Beebe and Jim Meyering.
41735
41736         test-stat-time: port to buggy NFS clients
41737         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41738         (test_ctime): Also skip test if mtime and ctime are skewed.
41739
41740         maint: prefer 'file system' over 'filesystem'
41741         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41742         * doc/posix-functions/lstat.texi (lstat): Likewise.
41743         * lib/file-has-acl.c (file_has_acl): Likewise.
41744         * lib/fwriteerror.c [TEST]: Likewise.
41745         * tests/test-areadlink.h (test_areadlink): Likewise.
41746         * tests/test-areadlinkat-with-size.c (main): Likewise.
41747         * tests/test-areadlinkat.c (main): Likewise.
41748         * tests/test-canonicalize-lgpl.c (main): Likewise.
41749         * tests/test-canonicalize.c (main): Likewise.
41750         * tests/test-fstatat.c (main): Likewise.
41751         * tests/test-linkat.c (main): Likewise.
41752         * tests/test-lstat.h (test_lstat_func): Likewise.
41753         * tests/test-mkdir.h (test_mkdir): Likewise.
41754         * tests/test-readlink.h (test_readlink): Likewise.
41755         * tests/test-remove.c (main): Likewise.
41756         * tests/test-rename.h (test_rename): Likewise.
41757         * tests/test-renameat.c (main): Likewise.
41758         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41759         * tests/test-symlink.h (test_symlink): Likewise.
41760         * tests/test-symlinkat.c (main): Likewise.
41761         * tests/test-unlink.h (test_unlink_func): Likewise.
41762         * tests/test-unlinkat.c (main): Likewise.
41763
41764         maint: make realtime library usage explicit
41765         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41766         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41767         * modules/settime (Link): Likewise.
41768         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41769
41770         test-stat-time: speed up execution
41771         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41772         warning on mingw.
41773         (nap): New helper function.
41774         (prepare_test): Use it to reduce sleep time.
41775         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41776         execution.
41777         * modules/stat-time-tests (configure.ac): Check for usleep.
41778
41779 2009-10-09  Jim Meyering  <meyering@redhat.com>
41780
41781         selinux-h: always use getfilecon wrappers
41782         * lib/getfilecon.c: New file.
41783         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41784         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41785         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41786         (fgetfilecon): Provide a stub.
41787         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41788         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41789         file unconditionally.
41790         When <selinux/selinux.h> is found, arrange to use wrappers.
41791         * modules/selinux-h (Files): Add getfilecon.c.
41792         (Makefile.am): Substitute include-next-related bits
41793         into the now-always-generated selinux/selinux.h file.
41794         * doc/glibc-functions/lgetfilecon.texi: New file.
41795         * doc/glibc-functions/fgetfilecon.texi: New file.
41796         * doc/glibc-functions/getfilecon.texi: New file.
41797         * doc/glibc-functions/getfilecon-desc.texi: New file.
41798         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41799         which to pull in the new files.
41800         * MODULES.html.sh (Misc): Add selinux-h.
41801
41802 2009-10-08  Jim Meyering  <meyering@redhat.com>
41803
41804         unistd: fix comment typo
41805         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41806
41807 2009-10-08  Eric Blake  <ebb9@byu.net>
41808
41809         areadlink: use SIZE_MAX consistently
41810         * modules/areadlink (Depends-on): Add stdint.
41811         * modules/areadlink-with-size (Depends-on): Likewise.
41812         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41813         gives NULL; drop sys/types, since unistd gives size_t; and add
41814         stdint for SIZE_MAX.
41815         (SIZE_MAX): Rely on headers.
41816         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41817         and add stdint.
41818         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41819         (SIZE_MAX): Likewise.
41820         (INITIAL_BUF_SIZE): Turn into enum.
41821         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41822
41823 2009-10-08  Jim Meyering  <meyering@redhat.com>
41824
41825         areadlinkat: avoid compilation failure
41826         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41827         Fix typo in comment.
41828
41829 2009-10-07  Eric Blake  <ebb9@byu.net>
41830
41831         areadlinkat-with-size: new module
41832         * modules/areadlinkat-with-size: New module.
41833         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41834         * lib/areadlink.h (areadlinkat): Declare it.
41835         * MODULES.html.sh (File system functions): Mention it.
41836         * modules/areadlinkat-with-size-tests: New test.
41837         * tests/test-areadlinkat-with-size.c: New file.
41838
41839         xreadlinkat: new module
41840         * modules/xreadlinkat: New module.
41841         * lib/xreadlinkat.c (xreadlinkat): New file.
41842         * lib/xreadlink.h (xreadlinkat): Declare it.
41843         * MODULES.html.sh (File system functions): Mention it.
41844
41845         areadlinkat: new module
41846         * lib/at-func.c (FUNC_FAIL): New define.
41847         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41848         * modules/areadlinkat: New module.
41849         * lib/linkat.c (areadlinkat): Move...
41850         * lib/areadlinkat.c (areadlinkat): ...to new file.
41851         * lib/areadlink.h (areadlinkat): Declare it.
41852         * modules/linkat (Depends-on): Add areadlinkat.
41853         * MODULES.html.sh (File system functions): Mention it.
41854         * modules/areadlinkat-tests: New test.
41855         * tests/test-areadlinkat.c: New file.
41856
41857         areadlink, areadlink-with-size: add tests
41858         * modules/areadlink-tests: New test.
41859         * modules/areadlink-with-size-tests: Likewise.
41860         * tests/test-areadlink.h: New file.
41861         * tests/test-areadlink.c: Likewise.
41862         * tests/test-areadlink-with-size.c: Likewise.
41863
41864         maint: minor cleanups
41865         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41866         _UNUSED_PARAMETER_ instead.
41867         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41868         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41869         * modules/linkat-tests (Files): Distribute test-link.h.
41870
41871         openat, utimens: whitespace cleanup
41872         * lib/openat.c: Prefer space throughout, rather than mix of 8
41873         spaces vs. tabs.
41874         * lib/at-func.c: Likewise.
41875         * lib/utimens.c: Likewise.
41876
41877         openat: avoid using wrong fd
41878         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41879         working directory chooses same fd.
41880         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41881
41882         mkdir, mkdirat: fix cygwin 1.5.x bug
41883         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41884         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41885         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41886         bug.
41887         (gl_PREREQ_MKDIR): Delete unused macro.
41888         * modules/mkdir (Files): Track file rename.
41889         (configure.ac): Update macro name.
41890         * modules/openat (Depends-on): Add mkdir.
41891         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41892
41893         mkdir, mkdirat: add tests
41894         * modules/mkdir-tests: New test.
41895         * tests/test-mkdir.h: New file.
41896         * tests/test-mkdir.c: Likewise.
41897         * tests/test-mkdirat.c: Likewise.
41898         * modules/openat-tests (Files): Add new files.
41899         (Makefile.am): Run new test.
41900
41901 2009-10-06  Eric Blake  <ebb9@byu.net>
41902
41903         doc: tweak *at function documentation
41904         * doc/posix-functions/faccessat.texi (faccessat): Mention
41905         known issue with replacement.
41906         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41907         * doc/posix-functions/linkat.texi (linkat): Likewise.
41908         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41909         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41910         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41911         * doc/posix-functions/renameat.texi (renameat): Likewise.
41912         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41913
41914         openat: fix GNU/Hurd bug in unlinkat
41915         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41916         broken.
41917         * doc/posix-functions/unlink.texi (unlink): Document this.
41918         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41919
41920         fdopendir: fix GNU/Hurd bug
41921         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41922         allowing non-directory fds.
41923         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41924         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41925         * modules/dirent (Makefile.am): Substitute it.
41926         * lib/dirent.in.h (fdopendir): Declare replacement.
41927         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41928         * tests/test-fdopendir.c (main): Test something other than
41929         /dev/null, since on Hurd that behaves like a directory.
41930
41931         test-symlink: port to GNU/Hurd
41932         * tests/test-symlink.h (test_symlink): Relax expected errno.
41933
41934         doc: tweak more cygwin information
41935         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41936         now compatible with glibc.
41937         * doc/posix-functions/getopt.texi (getopt): Likewise.
41938
41939         getopt-gnu: add another test
41940         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41941         guarantee behavior relied on by m4.
41942         * tests/test-getopt.c (main): Use it.
41943         * modules/getopt-posix-tests (Depends-on): Add setenv.
41944         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41945
41946         getopt: fix compilation on darwin
41947         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41948         include.
41949         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41950         Reported by Ludovic Courtès.
41951
41952 2009-10-06  Bruno Haible  <bruno@clisp.org>
41953
41954         * modules/size_max (Description): Discourage its use.
41955         Reported by Simon Josefsson.
41956
41957 2009-10-06  Jim Meyering  <meyering@redhat.com>
41958
41959         linkat: avoid compilation failure
41960         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41961
41962 2009-10-05  Eric Blake  <ebb9@byu.net>
41963
41964         linkat: support Linux 2.6.17
41965         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41966         linkat on Linux, but allow cache variable override.
41967         * lib/linkat.c (rpl_linkat): Define override.
41968         * modules/linkat (Depends-on): Add symlinkat.
41969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41970         * modules/unistd (Makefile.am): Substitute it.
41971         * lib/unistd.in.h (linkat): Declare replacement.
41972         Reported by Pádraig Brady.
41973
41974         quotearg: port test to systems with C.UTF-8 locale
41975         * tests/test-quotearg.c (struct result_strings): Add another
41976         member, differentiating between C.ASCII and C.UTF-8 handling.
41977         (compare_strings): Add parameter.
41978         (main): Adjust all callers.
41979
41980         getopt: avoid clash with FreeBSD _getopt_internal
41981         * lib/getopt.in.h (_getopt_internal): Override the name.
41982         * lib/getopt_int.h (includes): Pick up any overrides.
41983         Reported by Reuben Thomas.
41984
41985         hash: allow C89 compilation
41986         * lib/hash.c (check_tuning): Move declaration before statement.
41987         Reported by Reuben Thomas.
41988
41989 2009-10-05  Karl Berry  <karl@gnu.org>
41990
41991         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41992
41993 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41994             Bruno Haible  <bruno@clisp.org>
41995
41996         * lib/uname.c (uname): Use a table-driven algorithm to compute
41997         Windows NT versions.
41998
41999 2009-10-04  Bruno Haible  <bruno@clisp.org>
42000
42001         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
42002         program_invocation_short_name.
42003         * modules/progname (configure.ac): Test for presence of
42004         program_invocation_short_name.
42005         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42006
42007 2009-10-04  Bruno Haible  <bruno@clisp.org>
42008
42009         * lib/progname.c (set_program_name): Fix comment.
42010         Reported by Jim Meyering.
42011
42012 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42013             Bruno Haible  <bruno@clisp.org>
42014
42015         * lib/uname.c: Include <string.h>.
42016         (uname): Do only one call to GetVersionEx in the common case.
42017
42018 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42019             Bruno Haible  <bruno@clisp.org>
42020
42021         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
42022         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
42023         (uname): Add support for Windows CE and various non-x86 CPU types.
42024
42025 2009-10-03  Bruno Haible  <bruno@clisp.org>
42026
42027         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
42028         invocation to tests/configure.ac.
42029         Reported by Ian Beckwith <ianb@erislabs.net>.
42030
42031 2009-10-02  Eric Blake  <ebb9@byu.net>
42032
42033         fchdir: avoid compiler warning
42034         * lib/fchdir.c (canonicalize_file_name)
42035         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
42036
42037         test-open: support mingw errno values
42038         * tests/test-open.h (test_open): Relax test.
42039         * tests/test-fopen.h (test_fopen): Likewise.
42040         * tests/test-openat-safer.c (main): Likewise.
42041
42042         open: fix opening directory on mingw
42043         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
42044
42045         test-open: on GNU/Hurd, /dev/null is a directory
42046         * tests/test-fopen.h (main): Rename...
42047         (test_fopen): ...to this.  Use a guaranteed non-directory when
42048         confirming open behavior on trailing slash.
42049         * tests/test-openat-safer.c (main): Likewise.
42050         * tests/test-open.h (main): Likewise....
42051         (test_open): ...to this.
42052         * tests/test-fopen.c (main): Adjust caller.
42053         * tests/test-fopen-safer.c (main): Likewise.
42054         * tests/test-open.c (main): Likewise.
42055         * tests/test-fcntl-safer.c (main): Likewise.
42056         Reported by Samuel Thibault.
42057
42058         rename, fchdir: don't ignore chdir failure
42059         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
42060         * lib/rename.c (rpl_rename) [W32]: Likewise.
42061         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
42062         an empty destination directory if source cannot be renamed,
42063         although there is still possibility for failure.
42064         * doc/posix-functions/rename.texi (rename): Document the race.
42065         Reported by Jim Meyering.
42066
42067         maint: cleanup whitespace in recent commits
42068         * lib/rename.c (rpl_rename): Remove tabs.
42069         * tests/test-link.h (test_link): Likewise.
42070         * lib/fchdir.c (get_name): Likewise.
42071         Reported by Jim Meyering.
42072
42073 2009-10-02  Ben Pfaff  <blp@gnu.org>
42074
42075         relocatable-prog-wrapper: Add missing dependency on
42076         double-slash-root.
42077         * modules/relocatable-prog-wrapper: Add dependency.
42078         Reported by Ian Beckwith <ianb@erislabs.net>.
42079
42080 2009-10-02  Eric Blake  <ebb9@byu.net>
42081
42082         renameat: fix Solaris bugs
42083         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
42084         needed fixing.
42085         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
42086         * modules/stdio (Makefile.am): Substitute it.
42087         * lib/stdio.in.h (renameat): Declare replacement.
42088         * lib/renameat.c (rpl_renameat): Implement fix.
42089
42090         renameat: new module
42091         * modules/renameat: New file.
42092         * lib/renameat.c (renameat): Likewise.
42093         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
42094         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42095         * modules/stdio (Makefile.am): Substitute them.
42096         * lib/stdio.in.h (renameat): Declare it.
42097         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42098         * doc/posix-functions/renameat.texi (renameat): Likewise.
42099         * modules/renameat-tests: New test.
42100         * tests/test-renameat.c: Likewise.
42101
42102         rename: fix mingw bugs
42103         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
42104         directory overwrite bugs.
42105
42106         rename: fix another cygwin 1.5 bug
42107         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
42108         checks.
42109         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
42110         unnecessary cygwin workarounds.  Also work around bug with moving
42111         full directory onto an empty one.
42112         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
42113
42114         rename-dest-slash: merge into rename module
42115         * modules/rename-dest-slash (Status): Mark obsolete.
42116         (Depends-on): Add rename.
42117         (Files): Let rename do it all.
42118         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
42119         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
42120         * m4/rename-dest-slash.m4: ...so this file can be deleted.
42121         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
42122         * lib/rename.c (rpl_rename): Update comments.
42123
42124         rename: fix cygwin 1.5.x bugs
42125         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
42126         * lib/rename.c (rpl_rename): Work around them.
42127         * modules/rename (Depends-on): Add same-inode.
42128
42129         rename: fix Solaris 10 bug
42130         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42131         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42132         was the only bug.
42133
42134         rename: fix Solaris 9 bug
42135         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42136         on non-directory.  Avoid calling exit.
42137         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42138         strdup.
42139         * modules/rename-tests (Depends-on): Drop lstat.
42140         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42141         (gl_PREREQ_RENAME): Delete unused macro.
42142
42143         rename-dest-slash: fix NetBSD bug
42144         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42145         links.
42146         * modules/rename-dest-slash (Depends-on): Add same-inode.
42147
42148         rename-tests: new test, exposes several platform bugs
42149         * modules/rename-tests: New file.
42150         * tests/test-rename.h: Likewise.
42151         * tests/test-rename.c: Likewise.
42152         * doc/posix-functions/rename.texi (rename): Improve documentation,
42153         including bugs that will eventually be fixed in gnulib.
42154
42155 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42156
42157         * lib/uname.c: Include <stdlib.h>
42158         (uname): Assume version info is available.
42159
42160 2009-10-02  Jim Meyering  <meyering@redhat.com>
42161
42162         gnu-web-doc-update: correct --help output
42163         * build-aux/gnu-web-doc-update: Make --help output relevant.
42164
42165         gnu-web-doc-update: add standard options
42166         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42167
42168         gnu-web-doc-update: New module.
42169         Use this script to automatically update the on-line web documentation
42170         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42171         * modules/gnu-web-doc-update: New file, from coreutils.
42172         * build-aux/gnu-web-doc-update: New script.
42173
42174 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42175
42176         link: LoadLibrary is not needed.
42177         * lib/link.c: Use GetModuleHandle.
42178
42179 2009-10-01  Eric Blake  <ebb9@byu.net>
42180
42181         getopt: bump serial number
42182         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42183         change.
42184
42185         tests: tighten link, rmdir, and remove tests
42186         * tests/test-link.h (includes): No need to use <config.h> here.
42187         Clean up if directory hard link was created, otherwise test for
42188         trailing '.'.
42189         * tests/test-linkat.c (main): Simplify.
42190         * tests/test-remove.c (main): Enhance test for trailing '.'.
42191         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42192
42193 2009-10-01  Jim Meyering  <meyering@redhat.com>
42194
42195         maint.mk: requiring "make major" was annoying, for a "minor" release.
42196         What is intended is "stable", to contrast with alpha and beta,
42197         so require "make stable", not "make major".
42198         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42199         (get_tool_versions): Likewise.
42200         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42201
42202 2009-09-30  Ben Pfaff  <blp@gnu.org>
42203
42204         Fix broken build of replacement for Windows tmpfile().
42205         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42206         flags argument added along with the 'mkostemp' module.
42207
42208 2009-09-28  Bruno Haible  <bruno@clisp.org>
42209
42210         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42211         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42212         to 'remove_elt'.
42213         (gl_list_remove): Update.
42214         * lib/gl_list.c (gl_list_remove): Update.
42215         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42216         to 'remove_elt'.
42217         (gl_oset_remove): Update.
42218         * lib/gl_list.c (gl_oset_remove): Update.
42219         Reported by Eric Blake.
42220
42221 2009-09-28  Eric Blake  <ebb9@byu.net>
42222
42223         doc: mention yet more cygwin 1.7 status
42224         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42225         cygwin.
42226         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42227         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42228
42229         argp: fix test failure
42230         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42231         that are not upper-case.  Pass correct range to tolower.
42232
42233 2009-09-27  Jim Meyering  <meyering@redhat.com>
42234
42235         test-yesno: work around sparc-dash here-document infelicity
42236         Without this change, the literal \177 byte in a here document
42237         would make dash 0.5.5.1-3 access uninitialized memory.
42238         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42239         Instead, use a marker, "@", and filter through tr to create the desired
42240         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42241
42242 2009-09-27  Bruno Haible  <bruno@clisp.org>
42243
42244         Disable untested support for new flavours of ACLs on AIX.
42245         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42246         progress.
42247         * lib/set-mode-acl.c (qset_acl): Likewise.
42248
42249 2008-12-07  Bruno Haible  <bruno@clisp.org>
42250
42251         Add support for new flavours of ACLs on AIX. (Untested.)
42252         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42253         (file_has_acl): Add support for newer AIX.
42254         * lib/set-mode-acl.c (qset_acl): Likewise.
42255         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42256         Rainer Tammer <tammer@tammer.net>.
42257
42258 2009-09-26  Eric Blake  <ebb9@byu.net>
42259
42260         argp: fix compilation of getopt
42261         * lib/getopt.in.h (includes): Use different guard than glibc.
42262         Reported by Sergey Poznyakoff.
42263
42264         doc: mention more cygwin 1.7 status
42265         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42266         bug.
42267         * doc/posix-functions/execl.texi (execl): Likewise.
42268         * doc/posix-functions/execle.texi (execle): Likewise.
42269         * doc/posix-functions/execlp.texi (execlp): Likewise.
42270         * doc/posix-functions/execv.texi (execv): Likewise.
42271         * doc/posix-functions/execve.texi (execve): Likewise.
42272         * doc/posix-functions/execvp.texi (execvp): Likewise.
42273         * doc/glibc-functions/canonicalize_file_name.texi
42274         (canonicalize_file_name): Cygwin 1.7 now provides this.
42275         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42276         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42277         on AT_SYMLINK_NOFOLLOW.
42278
42279 2009-09-24  Eric Blake  <ebb9@byu.net>
42280
42281         test-linkat: make test more robust
42282         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42283
42284         getopt: fix inclusion guards for cygwin
42285         * modules/getopt-posix (Depends-on): Add include-next.
42286         (Makefile.am): Substitute more items in replacement header.
42287         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42288         <getopt.h>.
42289         * lib/getopt.in.h (includes): Use split inclusion guard, and
42290         prefer <getopt.h> over include <unistd.h> when one is present.
42291         (option): Also override name of 'struct option'.
42292
42293         same-inode: revert prior change; it is not yet ready
42294         * NEWS: Undo mention of this change.
42295         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42296         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42297         * lib/cycle-check.c (cycle_check): Likewise.
42298         * lib/same.c (same_name): Likewise.
42299         * lib/at-func2.c (at_func2): Likewise.
42300
42301 2009-09-23  Eric Blake  <ebb9@byu.net>
42302
42303         linkat: new module
42304         * modules/linkat: New file.
42305         * lib/at-func2.c (at_func2): Likewise.
42306         * lib/linkat.c (linkat): Likewise.
42307         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42308         * lib/openat-priv.h (at_func2): Add declaration.
42309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42310         * modules/unistd (Makefile.am): Substitute them.
42311         * lib/unistd.in.h (linkat): Declare it.
42312         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42313         * doc/posix-functions/linkat.texi (linkat): Likewise.
42314         * doc/posix-functions/link.texi (link): Tweak wording.
42315         * tests/test-link.c (main): Move guts...
42316         * tests/test-link.h (test_link): ...into new file.
42317         * modules/linkat-tests: New test.
42318         * tests/test-linkat.c: Likewise.
42319         * modules/link-tests (Files): Ship new file.
42320         (Depends-on): Add stdbool.
42321
42322         dirname: add library-safe mdir_name
42323         * lib/dirname.h (mdir_name): New prototype.
42324         * lib/dirname.c (dir_name): Move guts...
42325         (mdir_name): ...to new function that avoids xalloc_die.
42326
42327         fchdir: another mingw fix
42328         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42329         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42330         on mingw (where it has not yet been ported), and make it optional
42331         elsewhere.
42332         (_gl_register_fd): Use it.
42333
42334         same-inode: make SAME_INODE tri-state, to port to mingw
42335         * NEWS: Mention this change.
42336         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42337         st_ino always being 0.
42338         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42339         * lib/cycle-check.c (cycle_check): Likewise.
42340         * lib/same.c (same_name): Likewise.
42341
42342         lstat: avoid mingw compilation error
42343         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42344         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42345         lstat ourselves.
42346         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42347         was adequate.
42348         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42349         the checks for lstat.
42350         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42351
42352         link: fix test failure on Solaris 9
42353         * lib/link.c (rpl_link): Don't assume link will catch bogus
42354         trailing slash on source.
42355
42356         test-symlinkat: enhance test
42357         * tests/test-readlink.c (main): Move guts...
42358         * tests/test-readlink.h (test_readlink): ...into new file.
42359         * tests/test-symlink.c (main): Move guts...
42360         * tests/test-symlink.h (test_symlink): ...into new file.
42361         * tests/test-symlinkat.c (main): Use new files for further
42362         coverage.
42363         (do_symlink, do_readlink): New helper functions.
42364         * modules/symlink-tests (Files): Ship new file.
42365         (Depends-on): Add stdbool.
42366         * modules/readlink-tests (Files): Ship new file.
42367         (Depends-on): Add stdbool.
42368         * modules/symlinkat-tests (Files): Use new files.
42369
42370 2009-09-23  Eric Blake  <ebb9@byu.net>
42371
42372         readlink: document portability issue with symlink length
42373         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42374         systems have bogus st_size on symlinks, and mention the
42375         areadlink-with-size module.
42376         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42377         * doc/posix-functions/readlink.texi (readlink): Mention the
42378         areadlink module, and ERANGE failure.
42379         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42380         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42381
42382         readlink: fix Solaris 9 bug with trailing slash
42383         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42384         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42385         * doc/posix-functions/readlink.texi (readlink): Document this.
42386         * modules/readlink-tests: New test.
42387         * tests/test-readlink.c: Likewise.
42388
42389         readlink: fix cygwin 1.5.x bug with return type
42390         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42391         * lib/unistd.in.h (readlink): Use ssize_t.
42392         * lib/readlink.c (readlink): Likewise.
42393         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42394         * modules/unistd (Makefile.am): Substitute it.
42395         * lib/unistd.in.h (readlink): Declare replacement.
42396         * doc/posix-functions/readlink.texi (readlink): Document this.
42397
42398         symlink: use throughout gnulib
42399         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42400         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42401         symlink is not used.
42402         * modules/symlinkat (Depends-on): Add symlink.
42403         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42404         * modules/canonicalize-tests (Depends-on): Likewise.
42405         * modules/lstat-tests (Depends-on): Likewise.
42406         * modules/openat-tests (Depends-on): Likewise.
42407         * modules/remove-tests (Depends-on): Likewise.
42408         * modules/rmdir-tests (Depends-on): Likewise.
42409         * modules/unlink-tests (Depends-on): Likewise.
42410         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42411         * tests/test-canonicalize.c (symlink): Likewise.
42412         * tests/test-fstatat.c (symlink): Likewise.
42413         * tests/test-lstat.c (symlink): Likewise.
42414         * tests/test-remove.c (symlink): Likewise.
42415         * tests/test-rmdir.c (symlink): Likewise.
42416         * tests/test-unlink.c (symlink): Likewise.
42417         * tests/test-unlinkat.c (symlink): Likewise.
42418
42419         symlink: new module, for Solaris 9 bug
42420         * modules/symlink: New file.
42421         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42422         * lib/symlink.c: Likewise.
42423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42424         * modules/unistd (Makefile.am): Substitute them.
42425         * lib/unistd.in.h (symlink): Declare replacement.
42426         * MODULES.html.sh (File system functions): Mention it.
42427         * doc/posix-functions/symlink.texi (symlink): Likewise.
42428         * modules/symlink-tests: New test.
42429         * tests/test-symlink.c: Likewise.
42430
42431 2009-09-23  Bruno Haible  <bruno@clisp.org>
42432
42433         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
42434         when needed.
42435         Test case: gnulib-tool --import --with-tests atexit inttypes.
42436         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
42437
42438 2009-09-23  Bruno Haible  <bruno@clisp.org>
42439
42440         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
42441         subcommand, not in a subshell.
42442
42443 2009-09-22  Eric Blake  <ebb9@byu.net>
42444
42445         unistd: sort replacement declarations
42446         * lib/unistd.in.h: Sort declarations.
42447
42448         open, openat: minor optimization
42449         * lib/open.c (open): If open succeeded, len is non-zero.
42450         * lib/openat.c (rpl_openat): Likewise.
42451
42452         link-follow: ensure correct result
42453         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
42454         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
42455         distinguish between possible failures.
42456
42457 2009-09-21  Eric Blake  <ebb9@byu.net>
42458
42459         fts: avoid compiler warning
42460         * lib/fts.c (dirent_inode_sort_may_be_useful)
42461         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42462
42463 2009-09-19  Bruno Haible  <bruno@clisp.org>
42464
42465         * lib/progreloc.c (canonicalize_file_name): New declaration.
42466
42467 2009-09-19  Eric Blake  <ebb9@byu.net>
42468
42469         link: fix quoting
42470         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42471
42472         openat: fix openat bugs on Solaris 9
42473         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42474         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42475         * modules/openat (Depends-on): Add open.
42476         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42477         * modules/fcntl-h (Makefile.am): Substitute it.
42478         * lib/fcntl.in.h (openat): Declare replacement.
42479         * doc/posix-functions/openat.texi (openat): Document this.
42480
42481         openat: move fstatat and unlinkat into correct files
42482         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42483         compiled.
42484         * lib/openat.c (fstatat, unlinkat): Move...
42485         * lib/fstatat.c (fstatat): ...into correct files.
42486         * lib/unlinkat.c (unlinkat): Likewise.
42487
42488         openat: fix unlinkat bugs on Solaris 9
42489         * lib/unlinkat.c (unlinkat): New file.
42490         * modules/openat (Depends-on): Add unlink.
42491         (Files): Distribute it.
42492         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42493         trailing slash behavior is broken.
42494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42495         * modules/unistd (Makefile.am): Substitute it.
42496         * lib/unistd.in.h (unlinkat): Declare replacement.
42497         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42498
42499         openat: fix fstatat bugs on Solaris 9
42500         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42501         stat.
42502         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42503
42504         test-unlinkat: enhance test, to expose Solaris 9 bug
42505         * tests/test-unlink.c (main): Factor guts...
42506         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42507         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42508         * tests/test-rmdir.c (main): Adjust caller.
42509         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42510         (unlinker): New helper function.
42511         (rmdirat): Enhance check.
42512         * modules/rmdir-tests (Depends-on): Add stdbool.
42513         * modules/unlink-tests (Depends-on): Likewise.
42514         (Files): Add test-unlink.h.
42515         * modules/openat-tests (Files): Likewise.
42516         (Depends-on): Add unlinkdir.
42517
42518         test-fstatat: new test, to expose Solaris 9 bugs
42519         * tests/test-stat.c (main): Factor guts...
42520         * tests/test-stat.h (test_stat_func): ...into new file.
42521         * tests/test-lstat.c (main): Factor guts...
42522         * tests/test-lstat.h (test_lstat_func): ...into new file.
42523         * tests/test-fstatat.c: New file.
42524         * modules/stat-tests (Files): Add test-stat.h.
42525         * modules/lstat-tests (Files): Add test-lstat.h.
42526         (Depends-on): Add stdbool.
42527         * modules/openat-tests (Depends-on): Add pathmax.
42528         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42529         (Makefile.am): Run new test.
42530
42531         remove: new module, for mingw and Solaris 9 bugs
42532         * modules/remove: New file.
42533         * lib/remove.c: Likewise.
42534         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42535         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42536         * modules/stdio (Makefile.am): Use them.
42537         * lib/stdio.in.h (remove): Declare replacement.
42538         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42539         * doc/posix-functions/remove.texi (remove): Likewise.
42540         * modules/remove-tests: New test.
42541         * tests/test-remove.c: Likewise.
42542
42543         unlink: new module, for Solaris 9 bug
42544         * modules/unlink: New file.
42545         * lib/unlink.c: Likewise.
42546         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42548         * modules/unistd (Makefile.am): Use them.
42549         * lib/unistd.in.h (stat): Declare replacement.
42550         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42551         * doc/posix-functions/unlink.texi (unlink): Likewise.
42552         * modules/unlink-tests: New test.
42553         * tests/test-unlink.c: Likewise.
42554
42555         lstat: fix Solaris 9 bug
42556         * lib/lstat.c (lstat): Also check for trailing slash on
42557         non-symlink, non-directories.  Use stat module to simplify logic.
42558         * doc/posix-functions/lstat.texi (lstat): Document it.
42559         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42560         (configure.ac): Check for symlink.
42561         * tests/test-lstat.c (main): Add more tests.
42562
42563         stat: add as dependency to other modules
42564         * modules/chown (Depends-on): Add stat.
42565         * modules/euidaccess (Depends-on): Likewise.
42566         * modules/fchdir (Depends-on): Likewise.
42567         * modules/isdir (Depends-on): Likewise.
42568         * modules/link (Depends-on): Likewise.
42569         * modules/lstat (Depends-on): Likewise.
42570         * modules/mkdir-p (Depends-on): Likewise.
42571         * modules/modechange (Depends-on): Likewise.
42572         * modules/open (Depends-on): Likewise.
42573         * modules/readlink (Depends-on): Likewise.
42574         * modules/same (Depends-on): Likewise.
42575
42576         stat: fix Solaris 9 bug
42577         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42578         slash.
42579         * lib/stat.c (rpl_stat): Work around it.
42580         * doc/posix-functions/stat.texi (stat): Update documentation.
42581
42582         stat: new module, for mingw bug
42583         * modules/stat: New file.
42584         * lib/stat.c: Likewise.
42585         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42586         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42587         * modules/sys_stat (Makefile.am): Use them.
42588         * lib/sys_stat.in.h (stat): Declare replacement.
42589         * lib/openat.c (fstatat): Deal with lstat and stat being function
42590         macros.
42591         * modules/openat (Depends-on): Add inline.
42592         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42593         * doc/posix-functions/stat.texi (stat): Likewise.
42594         * modules/stat-tests: New test.
42595         * tests/test-stat.c: Likewise.
42596
42597 2009-09-19  Jim Meyering  <meyering@redhat.com>
42598
42599         syntax-check: detect unnecessary inclusion of canonicalize.h
42600         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42601
42602 2009-09-19  Eric Blake  <ebb9@byu.net>
42603
42604         canonicalize-lgpl: adjust clients to use correct header
42605         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42606         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42607         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42608         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42609         * lib/progreloc.c (includes): Likewise.
42610
42611 2009-09-19  Jim Meyering  <meyering@redhat.com>
42612
42613         test-posixtm.c: correct a comment
42614         * tests/test-posixtm.c: Correct first-line comment.
42615         Spotted by Eric Blake.
42616
42617 2009-09-16  Jim Meyering  <meyering@redhat.com>
42618
42619         posixtm-tests: make T const-correct; add a test case
42620         * tests/test-posixtm.c (T): Declare const.
42621         Add a test for -(2^31+1).
42622         Remove useless can-succeed-only-in-2002 test.
42623
42624         posixtm-tests: adjust the sole failing test
42625         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42626         expected output matches what mktime now produces.  Cross-checked via
42627         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42628
42629         posixtm: move #ifdef'd tests into a new module
42630         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42631         * tests/test-posixtm.c: ... this new file.
42632         * modules/posixtm-tests: New module.
42633
42634 2009-09-19  Eric Blake  <ebb9@byu.net>
42635
42636         openat: simplify use of at-func.c
42637         * lib/at-func.c (includes): Include prerequisites here, to
42638         simplify requirements on client files.
42639         * lib/openat-priv.h: Add double-inclusion guard.
42640         * lib/faccessat.c (includes): Simplify.
42641         * lib/fchmodat.c (includes): Likewise.
42642         * lib/fchownat.c (includes): Likewise.
42643         * lib/mkdirat.c (includes): Likewise.
42644         * lib/mkfifoat.c (includes): Likewise.
42645         * lib/symlinkat.c (includes): Likewise.
42646
42647         openat: allow return of fd 0
42648         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42649         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42650         unistd-safer.
42651         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42652         <fcntl.h>; this module does not leak fds.
42653         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42654         must be allowed to return 0, leaving openat_safer to add the
42655         safety.
42656         (openat_permissive): Avoid writing to just-opened fd 2 if
42657         restoring the current directory fails.
42658         * lib/openat-die.c (openat_restore_fail): Add comment.
42659         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42660         (save_cwd): Guarantee safe fd, but without use of open_safer.
42661         * tests/test-openat.c: New test.
42662         * modules/openat-tests (Files, Makefile.am): Distribute and build
42663         new file.
42664
42665         relocatable-prog-wrapper: fix build
42666         * modules/relocatable-prog-wrapper (Files): Update name of
42667         canonicalize m4 file, broken on 2009-09-17.
42668         Reported by emad hajjar <aleppos@hotmail.com>.
42669
42670 2009-09-19  Bruno Haible  <bruno@clisp.org>
42671
42672         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42673         * lib/safe-alloc.c: Likewise.
42674         Reported by Ian Beckwith <ianb@erislabs.net>.
42675
42676 2009-09-18  Bruno Haible  <bruno@clisp.org>
42677
42678         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42679         Reported by <erobles@sensacd.com.mx>.
42680
42681 2009-09-17  Eric Blake  <ebb9@byu.net>
42682
42683         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42684         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42685         slashes when checking if last component is missing.
42686         * tests/test-canonicalize.c (main): Test this.
42687
42688         canonicalize, canonicalize-lgpl: honor // if distinct from /
42689         * modules/canonicalize (Files): Add double-slash-root.m4.
42690         * modules/canonicalize-lgpl (Files): Likewise.
42691         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42692         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42693         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42694         fallback definition.
42695         (canonicalize_filename_mode): Use it to protect //.
42696         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42697         (__realpath): Likewise.
42698         * tests/test-canonicalize.c (main): Test this.
42699         * tests/test-canonicalize-lgpl.c (main): Likewise.
42700         * modules/canonicalize-tests (Depends-on): Add same-inode.
42701         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42702
42703         canonicalize-lgpl: fix glibc bug with trailing slash
42704         * m4/canonicalize-lgpl.m4: Move contents...
42705         * m4/canonicalize.m4: ...here.
42706         (gl_CANONICALIZE_LGPL): Factor realpath check...
42707         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42708         glibc 2.3.5 bug, fixed 2005-04-27.
42709         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42710         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42711         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42712         * modules/canonicalize-lgpl (Files): Manage file rename.
42713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42714         * modules/stdlib (Makefile.am): Substitute witness.
42715         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42716         is needed.
42717         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42718         replacement is required.
42719         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42720         * doc/glibc-functions/canonicalize_file_name.texi
42721         (canonicalize_file_name): Document this.
42722         * doc/posix-functions/realpath.texi (realpath): Likewise.
42723
42724         canonicalize-lgpl: reject non-directory with trailing slash
42725         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42726         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42727         catches failures in glibc 2.3.5.
42728         * tests/test-canonicalize.c (main): Likewise.
42729
42730         canonicalize-lgpl: use native realpath if it works
42731         * lib/canonicalize-lgpl.c (realpath): Guard with
42732         FUNC_REALPATH_WORKS.
42733         * lib/stdlib.in.h (realpath): Make declaration optional based on
42734         HAVE_REALPATH.
42735         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42736         native realpath works.
42737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42738         * modules/stdlib (Makefile.am): Substitute witness.
42739
42740         canonicalize, canonicalize-lgpl: use <stdlib.h>
42741         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42742         (Include): Mention <stdlib.h>.
42743         (configure.ac): Mention functions we provide.
42744         * modules/canonicalize (configure.ac): Likewise.
42745         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42746         realpath if canonicalize_file_name is missing.
42747         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42748         * modules/stdlib (Makefile.am): Substitute witnesses.
42749         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42750         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42751         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42752         * NEWS: Document this.
42753         * doc/glibc-functions/canonicalize_file_name.texi
42754         (canonicalize_file_name): Likewise.
42755         * doc/posix-functions/realpath.texi (realpath): Likewise.
42756         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42757
42758         test-canonicalize: consolidate into single C program
42759         * tests/test-canonicalize.sh: Delete; move setup into...
42760         * tests/test-canonicalize.c (main): ...the program, making it
42761         easier to run in debugger.  Add some tests.
42762         * modules/canonicalize-tests (Files): Remove unused file.
42763         (Depends-on): Add progname.
42764         (configure.ac, Makefile.am): Simplify.
42765
42766         test-canonicalize-lgpl: consolidate into single C program
42767         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42768         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42769         easier to run in debugger.  Add some tests.
42770         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42771         (configure.ac, Makefile.am): Simplify.
42772
42773         canonicalize: avoid resolvepath
42774         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42775         unnecessary checks.
42776         * lib/canonicalize.c (includes): Simplify.
42777         (canonicalize_file_name): Drop resolvepath implementation.
42778         * modules/canonicalize (Depends-on): Drop filenamecat.
42779
42780         canonicalize: don't lose errno
42781         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42782         over calls to free.
42783
42784         canonicalize: simplify errno handling
42785         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42786         assignment.
42787
42788         canonicalize, canonicalize-lgpl: update module dependencies
42789         * modules/canonicalize (Depends-on): Add extensions, lstat,
42790         pathmax, stdlib.
42791         (Files): Drop pathmax.h.
42792         (configure.ac): Adjust macro name.
42793         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42794         lstat, stdlib, sys_stat.
42795         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42796         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42797         extensions.
42798         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42799         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42800         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42801         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42802         declaration, if available.
42803         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42804         we can rely on the readlink module.
42805         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42806         (includes): Use <unistd.h> unconditionally.
42807
42808 2009-09-17  Eric Blake  <ebb9@byu.net>
42809
42810         maint: make Include sections of modules consistent
42811         * modules/alloca: Use only header name; no need to list #include.
42812         * modules/alloca-opt: Likewise.
42813         * modules/arpa_inet: Likewise.
42814         * modules/canon-host: Likewise.
42815         * modules/configmake: Likewise.
42816         * modules/dirent: Likewise.
42817         * modules/eealloc: Likewise.
42818         * modules/environ: Likewise.
42819         * modules/fchdir: Likewise.
42820         * modules/fcntl: Likewise.
42821         * modules/fcntl-h: Likewise.
42822         * modules/gethrxtime: Likewise.
42823         * modules/gettime: Likewise.
42824         * modules/ignore-value: Likewise.
42825         * modules/inet_ntop: Likewise.
42826         * modules/inet_pton: Likewise.
42827         * modules/inttypes: Likewise.
42828         * modules/isnand-nolibm: Likewise.
42829         * modules/isnanf-nolibm: Likewise.
42830         * modules/mbchar: Likewise.
42831         * modules/mbfile: Likewise.
42832         * modules/mbiter: Likewise.
42833         * modules/mbuiter: Likewise.
42834         * modules/netdb: Likewise.
42835         * modules/netinet_in: Likewise.
42836         * modules/nproc: Likewise.
42837         * modules/pagealign_alloc: Likewise.
42838         * modules/poll: Likewise.
42839         * modules/printf-frexp: Likewise.
42840         * modules/pthread: Likewise.
42841         * modules/putenv: Likewise.
42842         * modules/random_r: Likewise.
42843         * modules/relocatable-prog: Likewise.
42844         * modules/search: Likewise.
42845         * modules/select: Likewise.
42846         * modules/selinux-h: Likewise.
42847         * modules/settime: Likewise.
42848         * modules/signal: Likewise.
42849         * modules/size_max: Likewise.
42850         * modules/socklen: Likewise.
42851         * modules/ssize_t: Likewise.
42852         * modules/stdarg: Likewise.
42853         * modules/stdbool: Likewise.
42854         * modules/stddef: Likewise.
42855         * modules/stdint: Likewise.
42856         * modules/stdio: Likewise.
42857         * modules/stdlib: Likewise.
42858         * modules/string: Likewise.
42859         * modules/strings: Likewise.
42860         * modules/sys_file: Likewise.
42861         * modules/sys_ioctl: Likewise.
42862         * modules/sys_select: Likewise.
42863         * modules/sys_socket: Likewise.
42864         * modules/sys_stat: Likewise.
42865         * modules/sys_time: Likewise.
42866         * modules/sys_times: Likewise.
42867         * modules/sys_utsname: Likewise.
42868         * modules/sys_wait: Likewise.
42869         * modules/sysexits: Likewise.
42870         * modules/time: Likewise.
42871         * modules/times: Likewise.
42872         * modules/tmpfile: Likewise.
42873         * modules/trim: Likewise.
42874         * modules/unistd: Likewise.
42875         * modules/wchar: Likewise.
42876         * modules/wctype: Likewise.
42877
42878 2009-09-17  Bruno Haible  <bruno@clisp.org>
42879
42880         Make getdate.y compile on QNX and NetBSD 5 / i386.
42881         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42882         TIME_T_FITS_IN_LONG_INT.
42883         * lib/getdate.y (long_time_t): New type.
42884         (relative_time): Change type of 'seconds' field to long_time_t.
42885         (get_date): Update types of local variables. Check against overflow
42886         during conversion from long_time_t to time_t.
42887         Reported by Matt Kraai <kraai@ftbfs.org>
42888         and Hasso Tepper <hasso@netbsd.org>.
42889
42890 2009-09-17  Bruno Haible  <bruno@clisp.org>
42891
42892         * modules/COPYING: Update copyright years.
42893         * modules/README: Likeiwse.
42894         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42895         Reported by Ian Beckwith <ianb@erislabs.net>.
42896
42897 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42898
42899         * users.txt: Update references for gnuit package.
42900
42901 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42902
42903         * m4/getdelim.m4: Fix typo in copyright line.
42904
42905 2009-09-17  Bruno Haible  <bruno@clisp.org>
42906
42907         * lib/atoll.c: Use the standard header with GPL copyright.
42908         * lib/argz.in.h: Likewise.
42909         * lib/glob.c: Likewise.
42910         * lib/glob-libc.h: Likewise.
42911         * lib/random_r.c: Likewise.
42912         * lib/siglist.h: Likewise.
42913         * lib/strsignal.c: Likewise.
42914         Reported by Ian Beckwith <ianb@erislabs.net>.
42915
42916 2009-09-17  Eric Blake  <ebb9@byu.net>
42917
42918         rmdir: ensure correct dependency order
42919         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42920
42921 2009-09-17  Bruno Haible  <bruno@clisp.org>
42922
42923         Disable assertion that fails on NetBSD 5 / i386.
42924         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42925         Reported by Sam Steingold <sds@gnu.org>
42926         and Hasso Tepper <hasso@netbsd.org>.
42927
42928 2009-09-16  Eric Blake  <ebb9@byu.net>
42929
42930         unlinkdir: port to mingw
42931         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42932         on which no one can unlink a directory.
42933
42934         stdlib: sort witness names
42935         * modules/stdlib (Makefile.am): Sort replacements.
42936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42937         * lib/stdlib.in.h: Likewise.
42938
42939         parse-duration-tests: avoid link failure
42940         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42941         LIBINTL.
42942         Reported by Tom G. Christensen.
42943
42944         openat-tests: ensure unlinkat behaves like rmdir
42945         * tests/test-rmdir.c (main): Factor guts...
42946         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42947         * modules/rmdir-tests (Files): Ship new file.
42948         * modules/openat-tests: New test.
42949         * tests/test-unlinkat.c: Likewise.
42950
42951         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42952         * modules/rmdir-errno (Status, Notice): Now obsolete.
42953
42954         rmdir: work around cygwin 1.5.x and mingw bugs
42955         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42956         * lib/rmdir.c (rmdir): Work around it.
42957         * modules/rmdir (Status, Notice): No longer obsolete.
42958         (Files): Add dos.m4.
42959         (Depends-on): Add unistd.
42960         (configure.ac): Set witnesses.
42961         (License): Relax to LGPLv2+.
42962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42963         * modules/unistd (Makefile.am): Substitute witnesses.
42964         * lib/unistd.in.h (rmdir): Declare replacement.
42965         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42966         * modules/rmdir-tests: New tests.
42967         * tests/test-rmdir.c: Likewise.
42968
42969 2009-09-15  Eric Blake  <ebb9@byu.net>
42970
42971         fchdir: improve use of replacement functions
42972         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42973         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42974         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42975         REPLACE_CLOSEDIR.
42976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42977         * modules/sys_stat (Makefile.am): Substitute correct witness.
42978         * modules/dirent (Makefile.am): Likewise.
42979         * modules/unistd (Makefile.am): Likewise.
42980         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42981         * lib/unistd.in.h (dup): Likewise.
42982         * lib/sys_stat.in.h (fstat): Likewise.
42983
42984         maint: ignore gnulib-tool temp files
42985         * .gitignore: Ignore files created during gnulib-tool --test.
42986
42987 2009-09-13  Jim Meyering  <meyering@redhat.com>
42988
42989         posixtm: don't reject a time that specify "60" as the number of seconds
42990         * lib/posixtm.c (posixtime): The code to reject invalid dates
42991         would also reject a time specified with the .60 suffix.
42992         But POSIX allows that, in order to accommodate leap seconds.
42993         So don't reject it.
42994         (main): Adjust tests accordingly.
42995         * modules/posixtm (Depends-on): Add stpcpy.
42996
42997 2009-09-11  Jim Meyering  <meyering@redhat.com>
42998
42999         announce-gen: include [$release_type] in emitted Subject:
43000         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
43001         e.g., [stable] in the emitted Subject: line.
43002
43003 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43004
43005         Remove obsolete macros from several modules.
43006         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
43007         obsolete Autoconf macros with their modern counterparts.
43008         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
43009         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
43010         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
43011         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43012         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
43013         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
43014         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43015         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
43016         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
43017         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
43018         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
43019         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
43020         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
43021         * m4/sockets.m4 (gl_SOCKETS): Likewise.
43022         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
43023         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
43024         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
43025         * m4/time_r.m4 (gl_TIME_R): Likewise.
43026         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
43027         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
43028         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43029
43030         Fix copyright header in build-aux scripts.
43031         * build-aux/git-version-gen: Fix copyright header to match GPLv3
43032         recommendation.
43033         * build-aux/ncftpput-ftp: Likewise.
43034         * build-aux/update-copyright: Likewise.
43035
43036 2009-09-09  Eric Blake  <ebb9@byu.net>
43037
43038         test-link: allow Linux choice of errno
43039         * tests/test-link.c (main): Relax test for alternate error.
43040
43041         strndup: fix improper m4 caching
43042         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
43043         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
43044         (gl_PREREQ_STRNDUP): Delete.
43045         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
43046         * modules/string (Makefile.am): Substitute it.
43047         * lib/string.in.h (strndup): Modernize prototype.
43048
43049         getcwd: port to mingw
43050         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
43051         different from the POSIX assumptions made throughout the getcwd
43052         module; fortunately, the mingw getcwd does not need replacement.
43053         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
43054         * modules/getcwd-tests: New test.
43055         * tests/test-getcwd.c: Likewise.
43056
43057         link: fix platform bugs
43058         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
43059         * lib/link.c (link): Work around them.  Fix related mingw bug.
43060         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
43061         * modules/unistd (Makefile.am): Substitute it.
43062         * lib/unistd.in.h (link): Declare replacement.
43063         * doc/posix-functions/link.texi (link): Document this.
43064         * modules/link (Depends-on): Add strdup-posix, sys_stat.
43065
43066         test-link: consolidate into single C program, test more cases
43067         * tests/test-link.sh: Delete.
43068         * tests/test-link.c: Test more error conditions.  Exposes bugs on
43069         at least Cygwin and Solaris.
43070         * modules/link-tests (Files): Remove unused file.
43071         (Depends-on): Add errno, sys_stat.
43072         (Makefile.am): Simplify.
43073
43074 2009-09-08  Bruno Haible  <bruno@clisp.org>
43075
43076         Work around towlower, towupper bug on mingw.
43077         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
43078         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
43079         * doc/posix-functions/towlower.texi: Mention the mingw bug.
43080         * doc/posix-functions/towupper.texi: Likewise.
43081         Reported by Eric Blake.
43082
43083 2009-09-08  Jim Meyering  <meyering@redhat.com>
43084
43085         build: don't try to run autoheader if we don't use it
43086         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
43087         is not used in configure.ac.
43088
43089 2009-09-08  Eric Blake  <ebb9@byu.net>
43090
43091         euidaccess: fix compilation error
43092         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
43093
43094         rawmemchr: relax license
43095         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
43096         okay.
43097         Reported by Jim Meyering.
43098
43099         mkfifoat: new module
43100         * modules/mkfifoat: New file.
43101         * lib/mkfifoat.c: Likewise.
43102         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
43103         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43104         * modules/sys_stat (Makefile.am): Use them.
43105         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
43106         * MODULES.html.sh (File system functions): Mention module.
43107         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43108         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43109         * modules/mkfifoat-tests: New test.
43110         * tests/test-mkfifoat.c: Likewise.
43111
43112         strchrnul: relax license
43113         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
43114         okay.
43115         Reported by Jim Meyering.
43116
43117 2009-09-08  Eric Blake  <ebb9@byu.net>
43118
43119         fstatat: fix compilation on Solaris
43120         * lib/fstatat.c (includes): Add fcntl.h.
43121         Reported by Pádraig Brady.
43122
43123 2009-09-07  Eric Blake  <ebb9@byu.net>
43124
43125         rename: modernize replacement
43126         * modules/rename (Depends-on): Add stdio.
43127         (configure.ac): Declare witness.
43128         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43129         stdio take care of replacement.
43130         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43131         * modules/stdio (Makefile.am): Substitute them.
43132         * lib/stdio.in.h (rename): Declare replacement.
43133         * lib/rename.c (includes): Allow cross-compilation to non-windows
43134         machines.
43135         * doc/posix-functions/rename.texi (rename): Improve
43136         documentation.
43137
43138         stdio: sort witness names
43139         * modules/stdio (Makefile.am): Sort replacements.
43140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43141         * lib/stdio.in.h: Likewise.
43142
43143         getcwd: minor cleanups
43144         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43145         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43146
43147         openat: provide more convenience names
43148         * modules/faccessat (configure.ac): Add C witness.
43149         * lib/unistd.in.h (readlinkat): Fix typo.
43150         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43151         convenience wrappers.
43152         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43153         wrappers in syntax checks.
43154
43155 2009-09-06  Eric Blake  <ebb9@byu.net>
43156
43157         doc: fix comments in recent patches
43158         * lib/faccessat.c: Mention correct function.
43159         * lib/fchmodat.c: Likewise.
43160         * lib/fchownat.c: Likewise.
43161         * lib/symlinkat.c: Likewise.
43162         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43163         constants.
43164
43165         faccessat, symlinkat: continue cleanup of previous patch
43166         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43167         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43168         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43170         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43171         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43172         set.
43173
43174 2009-09-06  Bruno Haible  <bruno@clisp.org>
43175
43176         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43177         (fstatat): Declare if GNULIB_FSTATAT is set.
43178         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43179         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43180         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43181         * modules/fcntl-h (Files): Remove m4/openat.m4.
43182         * modules/sys_stat (Files): Remove m4/openat.m4.
43183         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43184         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43185         * modules/unistd (Files): Remove m4/openat.m4.
43186         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43187         GNULIB_OPENAT.
43188         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43189         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43190         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43191         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43192         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43193         gl_OPENAT_DEFAULTS.
43194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43195         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43196         Don't require gl_OPENAT_DEFAULTS.
43197         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43198         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43199         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43200         (gl_OPENAT_DEFAULTS): Remove macro.
43201
43202 2009-09-06  Bruno Haible  <bruno@clisp.org>
43203
43204         * modules/openat (configure.ac): Remove unneeded witness.
43205
43206 2009-09-06  Bruno Haible  <bruno@clisp.org>
43207
43208         Set errno to ENOSYS when a function is entirely unsupported.
43209         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43210         EOPNOTSUPP.
43211         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43212         * modules/chown (Depends-on): Remove errno.
43213
43214 2009-09-06  Bruno Haible  <bruno@clisp.org>
43215
43216         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43217
43218 2009-09-06  Bruno Haible  <bruno@clisp.org>
43219
43220         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43221
43222 2009-09-06  Ben Pfaff  <blp@gnu.org>
43223             Bruno Haible  <bruno@clisp.org>
43224
43225         Work around a glibc bug in strtok_r.
43226         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43227         Undefine if UNDEFINE_STRTOK_R is set.
43228         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43230         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43231         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43232         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43233         UNDEFINE_STRTOK_R.
43234         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43235
43236 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43237
43238         exclude: minor fix
43239         * lib/exclude.c: Include wctype.h
43240
43241 2009-09-06  Akim Demaille  <demaille@gostai.com>
43242
43243         bootstrap: improve error message
43244         * build-aux/bootstrap (find_tool): Upon failure, report the list
43245         of candidates.
43246         Honor the initial value of the envvar.
43247
43248 2009-09-05  Eric Blake  <ebb9@byu.net>
43249
43250         symlinkat: new module
43251         * modules/symlinkat: New file.
43252         * lib/symlinkat.c: Likewise.
43253         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43255         * modules/unistd (Makefile.am): Use them.
43256         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43257         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43258         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43259         * MODULES.html.sh (File system functions): Mention module.
43260         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43261         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43262         * modules/symlinkat-tests: New test.
43263         * tests/test-symlinkat.c: Likewise.
43264
43265         test-openat-safer: add more checks
43266         * tests/test-openat-safer.c (main): Check more code paths.
43267
43268 2009-09-05  Jim Meyering  <meyering@redhat.com>
43269
43270         syntax-check: detect unnecessary inclusion of openat.h
43271         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43272
43273 2009-09-05  Bruno Haible  <bruno@clisp.org>
43274
43275         Support towlower, towupper.
43276         * doc/posix-functions/towlower.texi: Mention module wctype.
43277         * doc/posix-functions/towupper.texi: Likewise.
43278         * lib/wctype.in.h (towlower, towupper): New functions.
43279         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43280         (ASSERT): New macro.
43281         (e): New variable.
43282         (main): Test also towlower, towupper. Test WEOF argument.
43283         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43284
43285 2009-09-05  Bruno Haible  <bruno@clisp.org>
43286
43287         Fix conversion behaviour when the input is invalid.
43288         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43289         mark occurring in first pass of indirect conversion.
43290         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43291         input.
43292         Found by clang's static analyzer.
43293
43294 2009-09-05  Bruno Haible  <bruno@clisp.org>
43295
43296         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43297         where direct conversion is possible.
43298
43299 2009-09-04  Eric Blake  <ebb9@byu.net>
43300
43301         openat: fail with ENOENT on empty name
43302         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43303         buffer.
43304
43305         link-follow: fix logic bug in prior patch
43306         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43307         reversed sense of yes and no in prior patch.  Avoid confusing
43308         compilation failure with desired semantics.
43309
43310         link-follow: accommodate mingw and cross-compilation
43311         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43312         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43313         cross-compilation results to -1, to make linkat easier to
43314         implement when cross-compiling.  Trivially support mingw.
43315         * modules/link-follow (configure.ac): Call new name.
43316         * NEWS: Mention this.
43317
43318 2009-09-03  Eric Blake  <ebb9@byu.net>
43319
43320         faccessat: compile replacement
43321         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43322         needed.
43323
43324         fts: fix compilation error
43325         * lib/fts.c (includes): Re-add "openat.h", for
43326         openat_needs_fchdir.
43327
43328         faccessat: new module
43329         * modules/faccessat: New file.
43330         * lib/faccessat.c: Likewise.
43331         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43333         * modules/unistd (Makefile.am): Use it.
43334         * lib/unistd.in.h (faccessat): Declare it.
43335         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43336         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43337         * MODULES.html.sh (File system functions): Mention it.
43338         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43339         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43340
43341         euidaccess: prefer POSIX over non-standard implementation
43342         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43343         * lib/euidaccess.c (euidaccess): Use it if available.
43344
43345         openat: make template easier to use
43346         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43347         AT_FUNC_F2 to be undefined.
43348         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43349         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43350         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43351         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43352         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43353         Likewise.
43354         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43355         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43356         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43357         Likewise.
43358
43359         openat: declare in POSIX headers
43360         * NEWS: Mention this.
43361         * modules/openat (configure.ac): Declare witnesses.
43362         (Depends-on): Add fcntl-h, sys_stat, unistd.
43363         (Include): Mention correct headers.
43364         * modules/fcntl-h (Depends-on): Add link-warning.
43365         (Files): Add openat.m4.
43366         (Makefile.am): Substitute witnesses.
43367         * modules/sys_stat (Files, Makefile.am): Likewise.
43368         * modules/unistd (Files, Makefile.am): Likewise.
43369         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43370         (gl_OPENAT_DEFAULTS): New macro.
43371         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43373         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43374         (SYS_STAT_H): Remove unused variable.
43375         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43376         * lib/fcntl--.h (includes): Remove unneeded header.
43377         * lib/openat-safer.c (includes): Likewise.
43378         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43379         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43380         appropriate headers.
43381         (__OPENAT_PREFIX): Delete.
43382         * lib/fcntl.in.h (openat): Provide declaration.
43383         (AT_FDCWD): Fix Solaris bug.
43384         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43385         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43386         * lib/fchmodat.c (includes):  Adjust to find declaration.
43387         * lib/fchownat.c (includes): Likewise.
43388         * lib/mkdirat.c (includes): Likewise.
43389         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43390         still visible.
43391
43392 2009-09-02  Eric Blake  <ebb9@byu.net>
43393
43394         errno: use consistently
43395         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43396         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43397         * lib/canonicalize.c (ELOOP): Likewise.
43398         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43399         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43400         * lib/lchown.c (EOPNOTSUPP): Likewise.
43401         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43402         * lib/savewd.c (ESTALE): Likewise.
43403         * lib/settime.c (ENOSYS): Likewise.
43404         * lib/utimens.c (ENOSYS): Likewise.
43405         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43406         * lib/chdir-safer.c (ELOOP): Likewise.
43407         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43408         * modules/c-stack (Depends-on): Add errno.
43409         * modules/canonicalize (Depends-on): Likewise.
43410         * modules/chdir-safer (Depends-on): Likewise.
43411         * modules/fdopendir (Depends-on): Likewise.
43412         * modules/inet_ntop (Depends-on): Likewise.
43413         * modules/inet_pton (Depends-on): Likewise.
43414         * modules/lchown (Depends-on): Likewise.
43415         * modules/openat (Depends-on): Likewise.
43416         * modules/savewd (Depends-on): Likewise.
43417         * modules/settime (Depends-on): Likewise.
43418         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43419
43420         fts: avoid leaking fds
43421         * modules/fts (Depends-on): Add cloexec.
43422         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43423         flag.
43424
43425         fts: make directory fds more robust
43426         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
43427         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
43428
43429         backupfile, chdir-long, fts, savedir: make safer
43430         * lib/backupfile.c (includes): Use "dirent--.h", since
43431         numbered_backup can write to stderr during readdir.
43432         * lib/savedir.c (includes): Likewise.
43433         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
43434         emulation can write to stderr on failure.
43435         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
43436         * lib/getcwd.c: Document why opendir_safer is unused.
43437         * lib/glob.c: Likewise.
43438         * lib/scandir.c: Likewise.
43439         * lib/openat-proc.c: Likewise, for open_safer.
43440         * modules/backupfile (Depends-on): Add dirent-safer.
43441         * modules/savedir (Depends-on): Likewise.
43442         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
43443         * modules/chdir-long (Depends-on): Add openat-safer.
43444
43445         openat-safer: new module
43446         * modules/openat-safer: New file.
43447         * lib/openat-safer.c: Likewise.
43448         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
43449         * lib/fcntl-safer.h (openat_safer): Declare.
43450         * lib/fcntl--.h (openat): Override.
43451         * MODULES.html.sh (File descriptor based I/O): Mention it.
43452         * lib/openat.h: Add double-inclusion guards.
43453         * lib/openat.c (includes): Only include "fcntl-safer.h", not
43454         "fcntl--.h", so we can implement openat.
43455         * modules/openat-safer-tests: New test.
43456         * tests/test-openat-safer.c: New file.
43457
43458         dirent-safer: new module
43459         * modules/dirent-safer: New file.
43460         * lib/dirent--.h: Likewise.
43461         * lib/dirent-safer.h: Likewise.
43462         * lib/opendir-safer.c: Likewise.
43463         * m4/dirent-safer.m4: Likewise.
43464         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43465         * modules/dirent-safer-tests: New test.
43466         * tests/test-dirent-safer.c: New file.
43467         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43468
43469         fdopendir: optimize on mingw
43470         * lib/unistd.in.h (_gl_directory_name): New prototype.
43471         * lib/fchdir.c (_gl_directory_name): Implement it.
43472         (fchdir): Use it to simplify implementation.
43473         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43474         fchdir, when available, to avoid calling [f]chdir().
43475
43476         fdopendir: split into its own module
43477         * lib/openat.c (fdopendir): Move...
43478         * lib/fdopendir.c: ...into new file.
43479         * modules/fdopendir: New module.
43480         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43481         * modules/openat (Depends-on): Add fdopendir.
43482         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43483         fdopendir here.
43484         * modules/savedir (Depends-on): Only need fdopendir, not full
43485         openat.
43486         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43487         * lib/openat.h (fdopendir): Drop prototype.
43488         * lib/dirent.in.h (fdopendir): Provide prototype.
43489         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43490         * modules/dirent (Makefile.am): Substitute them.
43491         * MODULES.html.sh (File system functions): Mention it.
43492         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43493         * modules/fdopendir-tests: New file.
43494         * tests/test-fdopendir.c: Likewise.
43495
43496         fchdir: use more consistent macro convention
43497         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43498         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43499         REPLACE_FCHDIR, rather than relying on config.h macros.
43500         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43501         inside a single make-time REPLACE_FCHDIR block, rather than using
43502         the config.h FCHDIR_REPLACEMENT.
43503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43504         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43505         Manage fstat replacement.
43506         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43507         REPLACE_FCHDIR.
43508         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43509         (Makefile.am): Substitute REPLACE_FCHDIR.
43510         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43511         FCHDIR_REPLACEMENT.
43512         * lib/dup-safer.c (dup_safer): Likewise.
43513         * lib/dup2.c (rpl_dup2): Likewise.
43514         * lib/dup3.c (rpl_dup3): Likewise.
43515         * lib/open.c (rpl_open): Likewise.
43516
43517         fchdir: simplify error handling, and support dup3
43518         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43519         stdbool, malloc-posix, realloc-posix.
43520         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43521         (ensure_dirs_slot): Return false on allocation failure.
43522         (rpl_dup2): Delete.
43523         (_gl_register_dup): New function.
43524         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43525         (_gl_register_fd): Close fd on allocation failure.
43526         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43527         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43528         prototype.
43529         (rpl_dup2_fchdir): Delete prototype.
43530         * lib/open.c (open): Update caller.
43531         * lib/dup2.c (dup2): Track fchdir metadata.
43532         * lib/dup3.c (dup3): Likewise.
43533         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43534         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43535
43536 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43537
43538         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43539         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43540         don't pass arguments to AC_OUTPUT.
43541
43542 2009-09-02  Bruno Haible  <bruno@clisp.org>
43543
43544         * modules/mkdtemp (License): Relicense under LGPLv2+.
43545         Reported by Paolo Bonzini.
43546
43547 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43548
43549         Replace uses of obsolete autoconf macros in Jim's modules.
43550         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43551         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43552         can evoke a warning from autoconf when run with -Wobsolete
43553         enabled.  They were declared obsolete for good reasons (see
43554         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43555         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43556         should not continue using the deprecated macros.
43557         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43558         obsolete Autoconf macros with modern counterparts.
43559         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43560         * m4/dos.m4 (gl_AC_DOS): Likewise.
43561         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43562         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43563         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43564         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43565         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43566         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43567         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43568         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43569         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43570         Likewise.
43571         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43572         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43573         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43574         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43575         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43576         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43577
43578 2009-09-01  Eric Blake  <ebb9@byu.net>
43579
43580         fchdir: fix off-by-one bug in previous patch
43581         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43582         (_gl_unregister_fd): Delete useless if.
43583
43584 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43585
43586         maint.mk: sort the list of syntax-check rules
43587         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43588         easier to get a sense of progress when the rules are run sequentially
43589         and take a long time.
43590
43591 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43592
43593         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43594         * modules/netinet_in: Likewise.
43595         * modules/sys_file: Likewise.
43596         * modules/sys_ioctl: Likewise.
43597         * modules/sys_select: Likewise.
43598         * modules/sys_socket: Likewise.
43599         * modules/sys_stat: Likewise.
43600         * modules/sys_time: Likewise.
43601         * modules/sys_times: Likewise.
43602         * modules/sys_utsname: Likewise.
43603         * modules/sys_wait: Likewise.
43604
43605 2009-09-01  Jim Meyering  <meyering@redhat.com>
43606
43607         fts: help ensure that return values are not ignored
43608         * lib/fts_.h (__GNUC_PREREQ): Define.
43609         (__attribute_warn_unused_result__): Define.
43610         (fts_children, fts_close, fts_open, fts_read): Declare with
43611         __attribute_warn_unused_result__.
43612
43613         fts: fts_close now fails also when closing a dir file descriptor fails
43614         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43615         and propagate to caller, along with errno.
43616
43617         announce-gen: correct formatting in --help output
43618         * build-aux/announce-gen (usage): Move the one-line description in
43619         --help output "up", to where it belongs, just after Usage:.
43620
43621 2009-08-31  Eric Blake  <ebb9@byu.net>
43622
43623         fchdir: port to mingw
43624         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43625         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43626         opened, then use a substitute.
43627         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43628         replacement.
43629         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43630         (_gl_register_fd): No need to check stat if open already filters
43631         all directories.
43632         (fchdir): Fix error condition to match POSIX.
43633         * modules/fchdir (Depends-on): Add sys_stat.
43634         * doc/posix-functions/open.texi (open): Document the limitation.
43635         * modules/fchdir-tests: New file.
43636         * tests/test-fchdir.c: Likewise.
43637
43638         canonicalize: allow cross-testing from cygwin to mingw
43639         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43640         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43641         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43642         Likewise.
43643         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43644         target does not support symlinks.
43645         * tests/test-canonicalize-lgpl.sh: Likewise.
43646
43647         chown: avoid compilation warning on mingw
43648         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43649         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43650         mingw.
43651         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43652         * modules/chown (Depends-on): Add errno.
43653
43654 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43655
43656         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43657         command.
43658
43659 2009-08-31  Jim Meyering  <meyering@redhat.com>
43660
43661         canonicalize: remove useless initialization
43662         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43663         initialization of local, "end".
43664
43665 2009-08-30  Bruno Haible  <bruno@clisp.org>
43666
43667         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43668         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43669         ENOSYS.
43670
43671 2009-08-30  Bruno Haible  <bruno@clisp.org>
43672
43673         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43674         /usr/xpg4/bin/tr when it exists.
43675         * tests/test-pipe-filter-gi1.sh: Likewise.
43676
43677 2009-08-30  Bruno Haible  <bruno@clisp.org>
43678
43679         Work around deficient /usr/bin/id program on Solaris.
43680         * tests/test-file-has-acl.sh (ID): New variable.
43681         * tests/test-set-mode-acl.sh (ID): Likewise.
43682         * tests/test-copy-acl.sh (ID): Likewise.
43683         * tests/test-copy-file.sh (ID): Likewise.
43684
43685 2009-08-30  Bruno Haible  <bruno@clisp.org>
43686
43687         New module 'xstriconveh'.
43688         * lib/xstriconveh.h: New file.
43689         * lib/xstriconveh.c: New file.
43690         * modules/xstriconveh: New file.
43691
43692 2009-08-30  Bruno Haible  <bruno@clisp.org>
43693
43694         Make it easier to use mem_cd_iconveh.
43695         * lib/striconveh.h (iconveh_t): New type.
43696         (iconveh_open, iconveh_close): New declarations.
43697         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43698         with a single 'const iconveh_t *' argument.
43699         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43700         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43701         with a single 'const iconveh_t *' argument.
43702         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43703         * tests/test-striconveh.c (main): Update.
43704         * NEWS: Mention the change.
43705
43706 2009-08-30  Bruno Haible  <bruno@clisp.org>
43707
43708         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43709         problem.
43710
43711 2009-08-30  Bruno Haible  <bruno@clisp.org>
43712
43713         Work around iconv_open problem on Solaris.
43714         * lib/iconv_open-solaris.gperf: New file.
43715         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43716         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43717         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43718         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43719         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43720         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43721
43722 2009-08-29  Jim Meyering  <meyering@redhat.com>
43723
43724         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43725         * top/maint.mk (cvs-check): Remove target; it was just an alias
43726         to the better-named vc-diff-check.
43727         (maintainer-distcheck): Remove rule.  It was used only from
43728         the (alpha/beta/major) target, and all of its commands but one
43729         were coreutils-specific.
43730         (vc-dist): Remove rule.
43731         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43732         Run vc-diff-check, not vc-dist.
43733         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43734
43735 2009-08-27  Bruno Haible  <bruno@clisp.org>
43736
43737         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43738         of 0.
43739
43740 2009-08-27  Bruno Haible  <bruno@clisp.org>
43741
43742         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43743         compilers.
43744         * doc/func.texi: Document the SunPRO C bug.
43745
43746 2009-08-27  Bruno Haible  <bruno@clisp.org>
43747
43748         Fix link error on Solaris.
43749         * tests/test-parse-duration.c (xstrdup): Remove function.
43750
43751 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43752
43753         ignore-value: handle pointer types, too
43754         * lib/ignore-value.h (__attribute__): Remove definition.
43755         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43756         of a more concise and more-often effective "(void) i" statement.
43757         (ignore_ptr): New function to suppress warnings from functions that
43758         return pointers, and to make it explicit that one function doesn't
43759         handle all cases.
43760
43761 2009-08-25  Bruno Haible  <bruno@clisp.org>
43762
43763         dup2: work around a Linux bug.
43764         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43765         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43766         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43767         Reported by Simon Josefsson.
43768
43769 2009-08-25  Jim Meyering  <meyering@redhat.com>
43770
43771         libguestfs uses gnulib
43772         * users.txt: Add libguestfs.
43773
43774 2009-08-24  Eric Blake  <ebb9@byu.net>
43775
43776         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43777         * lib/pipe2.c (includes): Add binary-io.h.
43778         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43779
43780 2009-08-24  Bruno Haible  <bruno@clisp.org>
43781
43782         Tolerate declared but missing accept4 syscall.
43783         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43784         available.
43785         * lib/sys_socket.in.h (accept4): If the function is already present,
43786         override it.
43787         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43788         * modules/accept4 (Makefile.am): Compile accept4.c always.
43789         Reported by Paolo Bonzini and Eric Blake.
43790
43791 2009-08-23  Bruno Haible  <bruno@clisp.org>
43792
43793         New module 'accept4'.
43794         * lib/sys_socket.in.h (accept4): New declaration.
43795         * lib/accept4.c: New file.
43796         * m4/accept4.m4: New file.
43797         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43798         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43799         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43800         HAVE_ACCEPT4.
43801         * modules/accept4: New file.
43802         * doc/glibc-functions/accept4.texi: Mention the new module.
43803
43804 2009-08-24  Jim Meyering  <meyering@redhat.com>
43805
43806         progname: also set global program_invocation_name, when possible
43807         Before this change, a libtool-enabled program that calls glibc's
43808         error function would report the program name as
43809         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43810         * modules/progname (configure.ac): Check for a declaration of
43811         program_invocation_name.
43812         * lib/progname.c:  Include <errno.h>.
43813         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43814         Set program_invocation_name.
43815
43816 2009-08-23  Bruno Haible  <bruno@clisp.org>
43817
43818         * lib/dup3.c: Include <string.h>.
43819
43820 2009-08-23  Bruno Haible  <bruno@clisp.org>
43821
43822         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43823         * lib/pipe2.c (pipe2): Likewise.
43824         Suggested by Eric Blake.
43825
43826 2009-08-23  Bruno Haible  <bruno@clisp.org>
43827
43828         Tolerate declared but missing dup3 syscall.
43829         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43830         * lib/unistd.in.h (dup3): If the function is already present,
43831         override it.
43832         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43833         * modules/dup3 (Makefile.am): Compile dup3.c always.
43834         Reported by Paolo Bonzini.
43835
43836 2009-08-23  Bruno Haible  <bruno@clisp.org>
43837
43838         Tolerate declared but missing pipe2 syscall.
43839         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43840         available.
43841         * lib/unistd.in.h (pipe2): If the function is already present,
43842         override it.
43843         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43844         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43845         Reported by Paolo Bonzini.
43846
43847 2009-08-23  Bruno Haible  <bruno@clisp.org>
43848
43849         * lib/pipe2.c (pipe2): Move #ifs inside function.
43850
43851 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43852
43853         quotearg: document limitations of quote_these_too
43854         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43855         those limitations are created.
43856         * lib/quotearg.h (set_char_quoting): Document that digits and
43857         letters that are special after backslash are not permitted.
43858         (quotearg_char): Cross-reference set_char_quoting documentation.
43859
43860 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43861
43862         quotearg: implement custom_quoting_style
43863         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43864         right_quote fields.
43865         (set_custom_quoting): New public function.
43866         (quotearg_buffer_restyled): Add left_quote and right_quote
43867         arguments, handle them very much like locale quoting, and update
43868         all uses.
43869         (quotearg_n_custom): New public function.
43870         (quotearg_n_custom_mem): New public function.
43871         (quotearg_custom): New public function.
43872         (quotearg_custom_mem): New public function.
43873         * lib/quotearg.h: Prototype and document new public functions.
43874         (enum quoting_style): For escape_quoting_style and
43875         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43876         ignored even though they're otherwise like c_quoting_style.
43877         Add custom_quoting_style member and document with comparison to
43878         clocale_quoting_style.
43879         * tests/test-quotearg.c (custom_quotes): New array.
43880         (custom_results): New array.
43881         (main): Extend to test custom quoting.
43882
43883 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43884
43885         quotearg: fix right quote escaping when it's in quote_these_too
43886         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43887         quote, be sure to prepend only one backslash.
43888         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43889         (main): Test it.
43890
43891 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43892
43893         quotearg-tests: test escaping of embedded locale quotes
43894         * tests/test-quotearg.c (struct result_strings): Add member for
43895         new input.
43896         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43897         (inputs): Add new input.
43898         (results_g): Add expected results.
43899         (flag_results): Likewise.
43900         (locale_results): Likewise.
43901         (compare_strings): Check those.
43902
43903 2009-08-23  Bruno Haible  <bruno@clisp.org>
43904
43905         Tests for module 'dup3'.
43906         * modules/dup3-tests: New file.
43907         * tests/test-dup3.c: New file.
43908
43909         New module 'dup3'.
43910         * lib/unistd.in.h (dup3): New declaration.
43911         * lib/dup3.c: New file.
43912         * m4/dup3.m4: New file.
43913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43914         HAVE_DUP3.
43915         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43916         * modules/dup3: New file.
43917         * doc/glibc-functions/dup3.texi: Mention the new module.
43918
43919 2009-08-23  Bruno Haible  <bruno@clisp.org>
43920
43921         Tweak the dup2 test.
43922         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43923         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43924         the test file is still empty. Fix argument order of lseek.
43925
43926 2009-08-23  Bruno Haible  <bruno@clisp.org>
43927
43928         Avoid test link errors when the modules getopt-gnu, gettext are used.
43929         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43930         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43931
43932 2009-08-23  Bruno Haible  <bruno@clisp.org>
43933
43934         Fix getdtablesize() on mingw.
43935         * lib/getdtablesize.c (getdtablesize): Implement differently.
43936         * lib/unistd.in.h (getdtablesize): Improve comment.
43937
43938 2009-08-23  Bruno Haible  <bruno@clisp.org>
43939
43940         New module 'mkostemp'.
43941         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43942         * lib/stdlib.in.h (mksotemp): New declaration.
43943         * lib/mkostemp.c: New file, from glibc with modifications.
43944         * lib/tempname.h (GT_FILE): Remove outdated comment.
43945         (gen_tempname): Add flags argument.
43946         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43947         (__GT_FILE): Map to 1.
43948         (small_open, large_open): Remove macros.
43949         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43950         * lib/mkstemp.c (mkstemp): Update.
43951         * lib/mkdtemp.c (mkdtemp): Likewise.
43952         * m4/mkostemp.m4: New file.
43953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43954         HAVE_MKOSTEMP.
43955         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43956         HAVE_MKOSTEMP.
43957         * modules/mkostemp: New file, based on modules/mkstemp.
43958         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43959         * NEWS: Mention the change.
43960
43961 2009-08-23  Bruno Haible  <bruno@clisp.org>
43962
43963         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43964         Reported by Eric Blake.
43965
43966 2009-08-23  Bruno Haible  <bruno@clisp.org>
43967
43968         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43969         Reported by Eric Blake.
43970
43971 2009-08-23  Bruno Haible  <bruno@clisp.org>
43972
43973         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43974         * modules/pipe2 (Depends-on): Likewise.
43975
43976 2009-08-23  Eric Blake  <ebb9@byu.net>
43977
43978         fcntl-h: add O_TTY_INIT support
43979         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43980         * tests/test-fcntl-h.c (o): Test it.
43981         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43982
43983         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43984         * modules/fcntl: Move <fcntl.h> header replacement...
43985         * modules/fcntl-h: ...to new name, so as not to collide with
43986         like-named function.
43987         * tests/test-fcntl.c: Rename...
43988         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43989         * modules/fcntl-tests: Rename...
43990         * modules/fcntl-h-tests: ...to this.  Update test file name.
43991         * modules/chdir-long (Depends-on): Update clients.
43992         * modules/chdir-safer (Depends-on): Likewise.
43993         * modules/fcntl-safer (Depends-on): Likewise.
43994         * modules/fts (Depends-on): Likewise.
43995         * modules/mkancesdirs (Depends-on): Likewise.
43996         * modules/mkdir-p (Depends-on): Likewise.
43997         * modules/open (Depends-on): Likewise.
43998         * modules/savewd (Depends-on): Likewise.
43999         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
44000         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
44001
44002 2009-08-22  Bruno Haible  <bruno@clisp.org>
44003
44004         * modules/binary-io (License): Relicense under LGPL.
44005         * modules/pipe2 (License): Likewise.
44006
44007 2009-08-22  Bruno Haible  <bruno@clisp.org>
44008
44009         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
44010         return value.
44011         * lib/pipe-filter-gi.c (filter_init): Likewise.
44012         Reported by Eric Blake.
44013
44014 2009-08-22  Bruno Haible  <bruno@clisp.org>
44015
44016         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
44017         * modules/pipe (Depends-on): Add pipe2.
44018
44019 2009-08-22  Bruno Haible  <bruno@clisp.org>
44020
44021         Tests for module 'pipe2'.
44022         * modules/pipe2-tests: New file.
44023         * tests/test-pipe2.c: New file.
44024
44025         New module 'pipe2'.
44026         * lib/unistd.in.h (pipe2): New declaration.
44027         * lib/pipe2.c: New file.
44028         * m4/pipe2.m4: New file.
44029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
44030         HAVE_PIPE2.
44031         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
44032         * modules/pipe2: New file.
44033         * doc/glibc-functions/pipe2.texi: Mention the new module.
44034
44035 2009-08-22  Bruno Haible  <bruno@clisp.org>
44036
44037         Reference some new glibc functions.
44038         * doc/glibc-functions/accept4.texi: New file.
44039         * doc/glibc-functions/dup3.texi: New file.
44040         * doc/glibc-functions/mkostemp.texi: New file.
44041         * doc/glibc-functions/pipe2.texi: New file.
44042         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
44043         (Glibc sys/socket.h): Refer to accept4.
44044         (Glibc unistd.h): Refer to dup3, pipe2.
44045         Reported by Eric Blake.
44046
44047 2009-08-22  Jim Meyering  <meyering@redhat.com>
44048             Bruno Haible  <bruno@clisp.org>
44049
44050         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
44051         This makes it so packages using automake-1.11's silent-rules option
44052         can print e.g., a single "GEN    configmake.h" line, rather than
44053         the 30+ statements that perform the job.  If you want to see the
44054         actual commands, you can still run "make V=1".
44055         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
44056         so that make output is abbreviated when those variables are defined
44057         appropriately.
44058         * modules/argz: Likewise.
44059         * modules/arpa_inet: Likewise.
44060         * modules/byteswap: Likewise.
44061         * modules/configmake: Likewise.
44062         * modules/dirent: Likewise.
44063         * modules/errno: Likewise.
44064         * modules/fcntl: Likewise.
44065         * modules/float: Likewise.
44066         * modules/fnmatch: Likewise.
44067         * modules/getopt-posix: Likewise.
44068         * modules/glob: Likewise.
44069         * modules/iconv_open: Likewise.
44070         * modules/inttypes: Likewise.
44071         * modules/localcharset: Likewise.
44072         * modules/locale: Likewise.
44073         * modules/math: Likewise.
44074         * modules/netdb: Likewise.
44075         * modules/netinet_in: Likewise.
44076         * modules/poll: Likewise.
44077         * modules/posix_spawnp-tests: Likewise.
44078         * modules/sched: Likewise.
44079         * modules/search: Likewise.
44080         * modules/selinux-h: Likewise.
44081         * modules/signal: Likewise.
44082         * modules/spawn: Likewise.
44083         * modules/stdarg: Likewise.
44084         * modules/stdbool: Likewise.
44085         * modules/stddef: Likewise.
44086         * modules/stdint: Likewise.
44087         * modules/stdio: Likewise.
44088         * modules/stdlib: Likewise.
44089         * modules/string: Likewise.
44090         * modules/strings: Likewise.
44091         * modules/sys_file: Likewise.
44092         * modules/sys_ioctl: Likewise.
44093         * modules/sys_select: Likewise.
44094         * modules/sys_socket: Likewise.
44095         * modules/sys_stat: Likewise.
44096         * modules/sys_time: Likewise.
44097         * modules/sys_times: Likewise.
44098         * modules/sys_utsname: Likewise.
44099         * modules/sys_wait: Likewise.
44100         * modules/sysexits: Likewise.
44101         * modules/time: Likewise.
44102         * modules/unistd: Likewise.
44103         * modules/wchar: Likewise.
44104         * modules/wctype: Likewise.
44105
44106 2009-08-22  Jim Meyering  <meyering@redhat.com>
44107
44108         announce-gen: detect write failure
44109         * build-aux/announce-gen: Add Coda at end.
44110         Remove equivalent-but-more-verbose block at top.
44111
44112 2009-08-19  Akim Demaille  <demaille@gostai.com>
44113
44114         bootstrap: --help to stdout.
44115         * bootstrap (usage): Don't send --help to stderr.
44116         Use a here doc instead of a long string.
44117
44118 2009-08-21  Eric Blake  <ebb9@byu.net>
44119
44120         test-popen-safer: split from test-popen
44121         * tests/test-popen.c (main): Move...
44122         * tests/test-popen.h: ...into new file.
44123         * tests/test-popen-safer2.c: New file.
44124         * modules/popen-tests (Files): Add test-popen.h.
44125         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
44126         Suggested by Bruno Haible.
44127
44128         test-fcntl-safer: split from test-open
44129         * tests/test-open.c (main): Move...
44130         * tests/test-open.h: ...into new file.
44131         * tests/test-fcntl-safer.c: New file.
44132         * modules/open-tests (Files): Add test-open.h.
44133         * modules/fcntl-safer-tests: New file.
44134         Suggested by Bruno Haible.
44135
44136         test-fopen-safer: split from test-fopen
44137         * tests/test-fopen.c (main): Move...
44138         * tests/test-fopen.h: ...into new file.
44139         * tests/test-fopen-safer.c: New file.
44140         * modules/fopen-tests (Files): Add test-fopen.h.
44141         * modules/fopen-safer-tests: New file.
44142         Suggested by Bruno Haible.
44143
44144 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44145
44146         popen-safer: test O_CLOEXEC at run-time.
44147         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44148
44149 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44150
44151         fcntl: move more flags to the header
44152         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44153         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44154         * lib/fcntl.in.h: Do both things here.
44155
44156 2009-08-21  Jim Meyering  <meyering@redhat.com>
44157
44158         consistently remove $@-t before redirecting to it
44159         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44160         * modules/alloca-opt: Likewise.
44161         * modules/byteswap: Likewise.
44162         * modules/fnmatch: Likewise.
44163         * modules/getopt-posix: Likewise.
44164         * modules/glob: Likewise.
44165         * modules/poll: Likewise.
44166         * modules/posix_spawnp-tests: Likewise.
44167         * modules/sys_socket: Likewise.
44168         * modules/sysexits: Likewise.
44169
44170 2009-08-21  Eric Blake  <ebb9@byu.net>
44171
44172         popen: simplify access to original popen
44173         * lib/popen.c (rpl_popen): No need to worry about popen being a
44174         macro.
44175         Reported by Bruno Haible.
44176
44177 2009-08-20  Eric Blake  <ebb9@byu.net>
44178
44179         build: avoid some compiler warnings
44180         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44181         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44182         type.
44183         (new_exclude_segment, excluded_file_pattern_p)
44184         (excluded_file_name_p): Reduce scope.
44185         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44186         old-style declaration.
44187
44188 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44189
44190         * tests/test-exclude1.sh: Handle Windows EOL.
44191         * tests/test-exclude2.sh: Likewise.
44192         * tests/test-exclude3.sh: Likewise.
44193         * tests/test-exclude4.sh: Likewise.
44194         * tests/test-exclude5.sh: Likewise.
44195         * tests/test-exclude6.sh: Likewise.
44196         * tests/test-exclude7.sh: Likewise.
44197
44198 2009-08-19  Akim Demaille  <demaille@gostai.com>
44199
44200         bootstrap: find sha1sum when named gsha1sum.
44201         * bootstrap (find_tool): New.
44202         ($SHA1SUM): New.
44203         Use it.
44204
44205 2009-08-20  Jim Meyering  <meyering@redhat.com>
44206
44207         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44208         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44209         expression that converts "." in a file name to "\." in the resulting
44210         regexp.  Start with a dummy statement, so that prior shell variable
44211         definitions are expanded portably.  Reported by Simon Josefsson.
44212
44213 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44214
44215         Fix polling for writeability of a screen buffer.
44216         * lib/poll.c: Distinguish input and screen buffers for the
44217         Win32 implementation.
44218         * lib/select.c: Likewise.
44219
44220 2009-08-19  Eric Blake  <ebb9@byu.net>
44221
44222         popen-safer: prevent popen from clobbering std descriptors
44223         * modules/popen-safer: New file.
44224         * lib/popen-safer.c: Likewise.
44225         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44226         * lib/stdio--.h (popen): Provide override.
44227         * lib/stdio-safer.h (popen_safer): Provide declaration.
44228         * tests/test-popen.c (includes): Partially test this.
44229         * modules/popen-safer-tests: New file, for more tests.
44230         * tests/test-popen-safer.c: Likewise.
44231         * MODULES.html.sh (file stream based Input/Output): Mention it.
44232
44233         tests: test some of the *-safer modules
44234         * modules/fopen-safer (Depends-on): Add fopen.
44235         * modules/fcntl-safer (Depends-on): Add fcntl.
44236         * modules/stdlib-safer (Depends-on): Add stdlib.
44237         (configure.ac): Set indicator.
44238         * modules/unistd-safer (configure.ac): Likewise.
44239         * modules/tmpfile-safer (configure.ac): Likewise.
44240         (Depends-on): Add tmpfile.
44241         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44242         active.
44243         * tests/test-fopen.c (includes): Test safer versions when they are
44244         in use.
44245         * tests/test-open.c (includes): Likewise.
44246
44247         popen: fix cygwin 1.5 bug when stdin closed
44248         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44249         * modules/popen: New file.
44250         * modules/popen-tests: Likewise.
44251         * tests/test-popen.c: Likewise.
44252         * m4/popen.m4: Likewise.
44253         * lib/popen.c: Likewise.
44254         * lib/stdio.in.h (popen): New declaration.
44255         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44256         * modules/stdio (Makefile.am): Likewise.
44257         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44258
44259 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44260
44261         maint.mk: give full control over update-copyright exclusions
44262         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44263         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44264         (update-copyright): Don't force inclusion of top-level
44265         ChangeLog.  Don't force exclusion of all COPYING files, but make
44266         them the default exclusion instead.
44267
44268 2009-08-16  Bruno Haible  <bruno@clisp.org>
44269
44270         Fix test failures on Solaris 10.
44271         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44272         tests when Solaris iconv() is used.
44273         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44274         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44275         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44276         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44277         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44278
44279 2009-08-16  Bruno Haible  <bruno@clisp.org>
44280
44281         Fix test failures on Solaris 10.
44282         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44283         'tr' program and pass it as first argument.
44284         * tests/test-pipe-filter-gi1.sh: Likewise.
44285         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44286         program as first argument.
44287         * tests/test-pipe-filter-gi1.c (main): Likewise.
44288
44289 2009-08-16  Eric Blake  <ebb9@byu.net>
44290
44291         fpurge: fix previous commits
44292         * modules/fpurge (Makefile.am): Make replacement conditional,
44293         partially reverting 2007-04-29 change; missed in previous
44294         attempt.
44295         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44296         is missing.
44297
44298 2009-08-16  Bruno Haible  <bruno@clisp.org>
44299
44300         Clarify fpurge's effect on the file position.
44301         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44302         * tests/test-fpurge.c (main): Make a second pass for checking the file
44303         position.
44304
44305 2009-08-16  Bruno Haible  <bruno@clisp.org>
44306
44307         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44308         declaration of fpurge is missing.
44309         * tests/test-fpurge.c (main): Check that the file has not more contents
44310         than expected. Close the file before removing it.
44311
44312 2009-08-15  Eric Blake  <ebb9@byu.net>
44313
44314         fpurge: don't wrap working cygwin implementation
44315         * lib/fpurge.c (fpurge): Fix comment typo.
44316         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44317         1.7 to avoid replacement.
44318         * tests/test-fpurge.c (main): Enhance test.
44319
44320 2009-08-15  Eric Blake  <ebb9@byu.net>
44321         and Jim Meyering  <meyering@redhat.com>
44322
44323         test-update-copyright: skip if perl is insufficient
44324         * tests/test-update-copyright.sh: Failure to run maintainer tool
44325         should not cause testsuite failure on cygwin 1.5.
44326
44327 2009-08-14  Eric Blake  <ebb9@byu.net>
44328
44329         doc: mention more functions added in cygwin 1.7.0
44330         * doc/posix-headers/limits.texi (limits.h): Update for recent
44331         cygwin additions.
44332         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44333         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44334         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44335         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44336         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44337
44338 2009-08-14  Eric Blake  <ebb9@byu.net>
44339
44340         maint.mk: simplify update-copyright rule
44341         * top/maint.mk (update-copyright-local): Delete, and document how
44342         to do it in cfg.mk instead.
44343         (update-copyright-exclude-regexp): Delete, and document how to do
44344         it in .x-update-copyright instead.
44345         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44346         exclude ChangeLog.
44347
44348 2009-08-14  Bruno Haible  <bruno@clisp.org>
44349
44350         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44351
44352 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44353
44354         maint.mk: support update-copyright-env
44355         * top/maint.mk (update-copyright-env): Define place-holder.
44356         (update-copyright): Expand $(update-copyright-env) before
44357         invoking update-copyright.
44358
44359 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44360
44361         update-copyright: implement forced reformatting
44362         * build-aux/update-copyright: Implement and document
44363         UPDATE_COPYRIGHT_FORCE.
44364         * tests/test-update-copyright.sh: Test it.
44365
44366 2009-08-14  Eric Blake  <ebb9@byu.net>
44367         and Bruno Haible  <bruno@clisp.org>
44368
44369         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44370         * tests/test-locale.c: Revert previous patch related to NULL.
44371         * tests/test-stdio.c: Likewise.
44372         * tests/test-stdlib.c: Likewise.
44373         * tests/test-string.c: Likewise.
44374         * tests/test-unistd.c: Likewise.
44375         * modules/time-tests (Depends-on): Add verify.
44376         * modules/wchar-tests (Depends-on): Likewise.
44377         * tests/test-time.c: Test for NULL compliance.
44378         * tests/test-wchar.c: Likewise.
44379         * modules/locale (Depends-on): Add stddef.
44380         * modules/stdio (Depends-on): Likewise.
44381         * modules/stdlib (Depends-on): Likewise.
44382         * modules/string (Depends-on): Likewise.
44383         * modules/time (Depends-on): Likewise.
44384         * modules/unistd (Depends-on): Likewise.
44385         * modules/wchar (Depends-on): Likewise.
44386         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44387         * lib/stdlib.in.h (includes): Likewise.
44388         * lib/string.in.h (includes): Likewise.
44389         * lib/time.in.h (includes): Likewise.
44390         * lib/unistd.in.h (includes): Likewise.
44391         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44392         replaced.
44393         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44394         * m4/stddef_h.m4: New file.
44395         * modules/stddef: Likewise.
44396         * lib/stddef.in.h: Likewise.
44397         * modules/stddef-tests: Likewise.
44398         * tests/test-stddef.c: Likewise.
44399         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44400         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44401         * doc/posix-headers/locale.texi (locale.h): Likewise.
44402         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44403         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44404         * doc/posix-headers/string.texi (string.h): Likewise.
44405         * doc/posix-headers/time.texi (time.h): Likewise.
44406         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44407         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44408
44409 2009-08-14  Eric Blake  <ebb9@byu.net>
44410
44411         doc: improve git diff of texinfo files
44412         * .gitattributes: Add rule for *.texi files, with hint on how to
44413         use it.
44414         Copied from m4, and based on a report by Bruno Haible.
44415
44416 2009-08-14  Bruno Haible  <bruno@clisp.org>
44417
44418         Disable multithread support by default on Cygwin 1.5.x for real.
44419         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44420
44421 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44422
44423         update-copyright: much ado about intervals
44424         * build-aux/update-copyright: Implement and document
44425         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
44426         of copyright year intervals.
44427         Also, document UPDATE_COPYRIGHT_YEAR.
44428         * tests/test-update-copyright.sh: Test it.
44429
44430         update-copyright: convert 2-digit to 4-digit years
44431         * build-aux/update-copyright: Implement and document.
44432         * tests/test-update-copyright.sh: Update.
44433
44434 2009-08-14  Jim Meyering  <meyering@redhat.com>
44435
44436         test-exclude: avoid coreutils "make check" failure
44437         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
44438         just as in test-argmatch.c.
44439
44440 2009-08-13  Eric Blake  <ebb9@byu.net>
44441
44442         test-dup2: fix bad assumption
44443         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
44444         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
44445
44446         test-version-etc: fix CRLF portability issue
44447         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
44448         recognize \r.
44449         * tests/test-argp-version-etc-1.sh: Likewise.
44450
44451         getopt: update client modules
44452         * modules/argp (Depends-on): Use getopt-gnu.
44453         * modules/git-merge-changelog (Depends-on): Likewise.
44454         * modules/long-options (Depends-on): Likewise.
44455         * modules/xstrtol (Depends-on): Likewise.
44456
44457 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44458
44459         * tests/test-version-etc.sh: Don't fail on different
44460         project/version.  Don't fail on CRLF differences.  Rewrite to use
44461         multiple -e instead of multiple sed forks, suggested by Eric Blake
44462         <ebb9@byu.net>.
44463         * tests/test-argp-version-etc-1.sh: Likewise.
44464
44465 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44466
44467         * tests/test-version-etc.sh: Don't fail on different
44468         project/version.
44469
44470 2009-08-12  Bruno Haible  <bruno@clisp.org>
44471
44472         Tests for modules 'getopt-posix', 'getopt-gnu'.
44473         * modules/getopt-posix-tests: New file.
44474         * tests/test-getopt.c: New file.
44475         * tests/test-getopt.h: New file.
44476         * tests/test-getopt_long.h: New file.
44477
44478         New modules 'getopt-posix', 'getopt-gnu'.
44479         * modules/getopt-gnu: New file, renamed from modules/getopt.
44480         * modules/getopt-posix: New file.
44481         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44482         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44483         (gl_GETOPT): Remove macro.
44484         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44485         Disable the test against BSD systems that declare optreset. Test
44486         against mingw bug. Test against lack of support of optional arguments
44487         on many platforms.
44488         * doc/glibc-headers/getopt.texi: Update module name and list of
44489         relevant platforms.
44490         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44491         'getopt-gnu' and more portability problems.
44492         * NEWS: Mention the changes.
44493
44494 2009-08-12  Bruno Haible  <bruno@clisp.org>
44495
44496         Ensure that optarg etc. get declared by <unistd.h>.
44497         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44498         AC_USE_SYSTEM_EXTENSIONS.
44499         * modules/getopt (Depends-on): Add 'extensions'.
44500
44501 2009-08-12  Bruno Haible  <bruno@clisp.org>
44502
44503         Avoid test link errors.
44504         * modules/pipe-filter-ii-tests (Makefile.am): Define
44505         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44506         * modules/pipe-filter-gi-tests (Makefile.am): Define
44507         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44508         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44509
44510 2009-08-12  Bruno Haible  <bruno@clisp.org>
44511
44512         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44513         gl_GETOPT_SUBSTITUTE before.
44514         (gl_GETOPT): Use it.
44515         * m4/argp.m4 (gl_ARGP): Update.
44516         Reported by Sergey Poznyakoff.
44517
44518         * m4/getopt.m4: Reorder macros.
44519         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44520         (gl_GETOPT_SUBSTITUTE): Remove macro.
44521
44522 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44523
44524         Minor improvement in gitlog-to-changelog
44525
44526         * build-aux/gitlog-to-changelog: New option `--format' makes
44527         output format string configurable.
44528
44529 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44530
44531         Optimize exclude: use hash tables for non-wildcard patterns.
44532
44533         * lib/exclude.c: Include hash.h and mbuiter.h
44534         (struct exclude_pattern, exclude_segment): New data types.
44535         (struct exclude): Rewrite.
44536         (fnmatch_pattern_has_wildcards): New function.
44537         (new_exclude_segment, free_exclude_segment): New functions.
44538         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44539         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44540         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44541         * modules/exclude: Depend on hash and mbuiter.
44542
44543         * modules/exclude-tests: New file.
44544         * tests/test-exclude.c: New file.
44545         * tests/test-exclude1.sh: New file.
44546         * tests/test-exclude2.sh: New file.
44547         * tests/test-exclude3.sh: New file.
44548         * tests/test-exclude4.sh: New file.
44549         * tests/test-exclude5.sh: New file.
44550         * tests/test-exclude6.sh: New file.
44551         * tests/test-exclude7.sh: New file.
44552
44553 2009-08-12  Bruno Haible  <bruno@clisp.org>
44554
44555         Ensure that getopt() gets declared by <unistd.h>.
44556         * lib/unistd.in.h: Conditionally include getopt.h.
44557         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44558         Set GNULIB_UNISTD_H_GETOPT.
44559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44560         GNULIB_UNISTD_H_GETOPT.
44561         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44562
44563 2009-08-12  Bruno Haible  <bruno@clisp.org>
44564
44565         Clarify logic.
44566         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44567         gl_replace_getopt instead of GETOPT_H.
44568
44569 2009-08-12  Bruno Haible  <bruno@clisp.org>
44570
44571         * m4/getopt.m4: Add comments.
44572
44573 2009-08-12  Bruno Haible  <bruno@clisp.org>
44574
44575         Disable multithread support by default on Cygwin 1.5.x.
44576         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44577         set gl_use_threads=no if not specified otherwise.
44578
44579 2009-08-11  Bruno Haible  <bruno@clisp.org>
44580
44581         Avoid compilation error on NetBSD 5.0.
44582         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44583         * tests/test-stdio.c: Likewise.
44584         * tests/test-stdlib.c: Likewise.
44585         * tests/test-string.c: Likewise.
44586         * tests/test-unistd.c: Likewise.
44587         Reported by Greg Troxel <gdt@ir.bbn.com>
44588         at <https://savannah.gnu.org/support/?106973>.
44589
44590 2009-08-11  Bruno Haible  <bruno@clisp.org>
44591
44592         * modules/dup2-tests (Depends-on): Remove close.
44593
44594         Undo 2009-07-19 commit.
44595         * modules/acl-tests (Depends-on): Remove close.
44596         * modules/binary-io-tests (Depends-on): Likewise.
44597         * modules/closein-tests (Depends-on): Likewise.
44598         * modules/flock-tests (Depends-on): Likewise.
44599         * modules/fsync-tests (Depends-on): Likewise.
44600         * modules/lseek-tests (Depends-on): Likewise.
44601         * modules/pipe-tests (Depends-on): Likewise.
44602         * modules/posix_spawn-tests (Depends-on): Likewise.
44603         * modules/posix_spawnp-tests (Depends-on): Likewise.
44604         * modules/stat-time-tests (Depends-on): Likewise.
44605         * modules/yesno-tests (Depends-on): Likewise.
44606
44607 2009-08-10  Bruno Haible  <bruno@clisp.org>
44608
44609         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44610
44611 2009-08-10  Bruno Haible  <bruno@clisp.org>
44612
44613         Fix a gcc warning.
44614         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44615
44616 2009-08-10  Bruno Haible  <bruno@clisp.org>
44617
44618         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44619         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44620         not only the first time.
44621         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44622         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44623         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44624         is 1, not only the the first time.
44625
44626 2009-08-10  Bruno Haible  <bruno@clisp.org>
44627
44628         Make it possible to use module 'gethostname' without module 'close'.
44629         * lib/unistd.in.h (close): Evoke a link error only if
44630         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44632         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44633         * modules/unistd (Makefile.am): Substitute
44634         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44635         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44636         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44637         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44638         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44639         * modules/sys_ioctl (Makefile.am): Substitute
44640         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44641         * modules/socket (configure.ac): On native Windows, set
44642         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44643         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44644         Reported by Sam Steingold <sds@gnu.org>.
44645
44646 2009-08-10  Bruno Haible  <bruno@clisp.org>
44647
44648         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44649         * modules/ioctl (configure.ac): Likewise.
44650
44651 2009-08-10  Bruno Haible  <bruno@clisp.org>
44652
44653         Avoid collision between gnulib wrapper and libintl wrapper.
44654         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44655         already defined in intl/printf.c.
44656         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44657         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44658
44659 2009-08-09  Bruno Haible  <bruno@clisp.org>
44660
44661         Make <sys/select.h> really self-contained, also on Solaris 10.
44662         * lib/sys_select.in.h: Include <string.h>.
44663         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44664         Solaris 10 problem.
44665         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44666         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44667         Reported by Jim Meyering.
44668
44669 2009-08-09  Bruno Haible  <bruno@clisp.org>
44670
44671         Avoid warnings from 'aclocal' that are due to a use of macro name
44672         AM_XGETTEXT_OPTION that is not defined in automake.
44673         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44674         automake.
44675         * modules/error (configure.ac): Likewise.
44676         * modules/propername (configure.ac): Likewise.
44677         * modules/vasprintf (configure.ac): Likewise.
44678         * modules/verror (configure.ac): Likewise.
44679         * modules/xprintf (configure.ac): Likewise.
44680         * modules/xvasprintf (configure.ac): Likewise.
44681
44682 2009-08-08  Bruno Haible  <bruno@clisp.org>
44683
44684         Avoid compilation error in C++ mode.
44685         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44686         Reported by Sam Steingold <sds@gnu.org>.
44687
44688 2009-08-08  Bruno Haible  <bruno@clisp.org>
44689
44690         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44691         for the various Unix platforms.
44692         * doc/posix-headers/limits.texi: Update platforms list regarding
44693         HOST_NAME_MAX.
44694         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44695
44696 2009-08-07  Jim Meyering  <meyering@redhat.com>
44697
44698         selinux-at: fix typo in a comment
44699         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44700         Spotted by Paolo Bonzini.
44701
44702         selinux-at: remove redundant m4 code, add documentation
44703         * modules/selinux-at (configure.ac): Remove redundant code.
44704         LIB_SELINUX is already set via the dependent module, selinux-h.
44705         (Include): Add quotes around selinux-at.h.
44706         * lib/selinux-at.h: Add documentation.
44707         Reported by Bruno Haible in
44708         http://marc.info/?l=gnulib-bug&m=124958988300749
44709
44710 2009-08-07  Bruno Haible  <bruno@clisp.org>
44711
44712         Avoid link error on MacOS X 10.3 and 10.4.
44713         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44714         on non-ELF systems.
44715         * lib/argp-pv.c (argp_program_version): Likewise.
44716         Reported by Simon Josefsson.
44717
44718 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44719
44720         * tests/test-version-etc.sh: Use $EXEEXT.
44721
44722 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44723
44724         update-copyright: update documentation to point to maint.mk
44725         * build-aux/update-copyright: Here.
44726
44727 2009-08-06  Jim Meyering  <meyering@redhat.com>
44728
44729         maint.mk: support update-copyright-local
44730         * top/maint.mk (update-copyright-local): Define place-holder.
44731         (update-copyright): Depend on $(update-copyright-local).
44732
44733 2009-08-06  Jim Meyering  <meyering@redhat.com>
44734
44735         selinux-at: new module
44736         Initially written for coreutils, this module will soon be
44737         used by findutils, too.
44738         * MODULES.html.sh [Misc]: Add selinux-at.
44739         * lib/selinux-at.h: New file, from coreutils.
44740         * lib/selinux-at.c: Likewise.
44741         * modules/selinux-at: Likewise.
44742         (License): Change from LGPL to GPL, since it depends
44743         on the GPL'd openat module.
44744
44745         doc: update README
44746         * README: Remove references to cogito.
44747         Remove cvs-repo-updating instructions from 2007.
44748         Don't imply that CVS is better if you have limited disk space.
44749
44750 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44751
44752         update-copyright: support C-style comments
44753         * build-aux/update-copyright: Implement and document.
44754         * tests/test-update-copyright.sh: Test.
44755
44756 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44757
44758         update-copyright: support omitted "(C)"
44759         * build-aux/update-copyright: Implement and document.  Also,
44760         allow variable whitespace before "(C)".
44761         * tests/test-update-copyright.sh: Test.
44762
44763 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44764
44765         update-copyright: don't trip on non-FSF copyright statements
44766         * build-aux/update-copyright: Fix so that the first correctly
44767         formatted FSF copyright statement is recognized no matter what
44768         appears before it.  Update documentation.
44769         * tests/test-update-copyright.sh: Test that.
44770
44771 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44772
44773         update-copyright: clean up code a little
44774         * build-aux/update-copyright: Append "_re" to the name of any
44775         variable holding a regular expression.
44776         Replace "old" and "new" with "stmt" in variable names.
44777         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44778         handled correctly.
44779         Format code more consistently.
44780
44781 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44782
44783         update-copyright-tests: improve portability
44784         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44785         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44786
44787 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44788
44789         update-copyright: support @copyright{} and &copy;
44790         * build-aux/update-copyright: Implement and document.
44791         * tests/test-update-copyright.sh: Test.
44792
44793 2009-08-04  Jim Meyering  <meyering@redhat.com>
44794
44795         update-copyright-tests: correctly test EOL=\r\n handling
44796         * tests/test-update-copyright.sh: Put \r at the end of some lines
44797         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44798
44799         maint.mk: make update-copyright exclusion list more configurable
44800         * top/maint.mk (update-copyright): Default to excluding COPYING,
44801         but allow an override, in case someone does want to update that file.
44802
44803         maint.mk: don't update copyright date in COPYING
44804         * top/maint.mk (update-copyright): Exclude COPYING.
44805
44806         maint.mk: add a copyright-updating rule
44807         * top/maint.mk (update-copyright): New rule.
44808         Derived from coreutils/Makefile.am.
44809
44810         update-copyright: rename some variables
44811         * build-aux/update-copyright: Rename a few variables for clarity.
44812         Tweak syntax.  List Joel E. Denny as coauthor.
44813
44814 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44815
44816         update-copyright: fix bug for 2-digit last year and add tests
44817         * build-aux/update-copyright: Fix bug.
44818         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44819         specified.
44820         * modules/update-copyright-tests: New
44821         * tests/test-update-copyright.sh: New.
44822
44823 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44824
44825         update-copyright: handle leading tabs in line prefix
44826         * build-aux/update-copyright: Count leading tabs as 8 spaces
44827         when computing margin.  This helps with the formatting of
44828         ChangeLogs, for example.
44829         Fix documentation a little.
44830
44831 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44832
44833         update-copyright: support EOL=\r\n
44834         * build-aux/update-copyright: Implement that.
44835
44836 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44837
44838         update-copyright: automatically format copyright statements
44839         * build-aux/update-copyright: Implement that.
44840         Also, be a little more predictable and safer by always failing
44841         when the full copyright format is not perfectly recognized as an
44842         unbroken whole.  Discussed at
44843         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44844         Rewrite documentation.
44845
44846 2009-08-03  Bruno Haible  <bruno@clisp.org>
44847
44848         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44849
44850 2009-08-02  Bruno Haible  <bruno@clisp.org>
44851
44852         Tests for module 'uname'.
44853         * modules/uname-tests: New file.
44854         * tests/test-uname.c: New file.
44855
44856         New module 'uname'.
44857         * lib/uname.c: New file.
44858         * m4/uname.m4: New file.
44859         * modules/uname: New file.
44860         * doc/posix-functions/uname.texi: Mention the new module.
44861
44862 2009-08-02  Bruno Haible  <bruno@clisp.org>
44863
44864         Tests for module 'sys_utsname'.
44865         * modules/sys_utsname-tests: New file.
44866         * tests/test-sys_utsname.c: New file.
44867
44868         New module 'sys_utsname'.
44869         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44870         * m4/sys_utsname_h.m4: New file.
44871         * modules/sys_utsname: New file.
44872         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44873
44874 2009-08-02  Bruno Haible  <bruno@clisp.org>
44875
44876         Implicitly initialize the sockets library.
44877         * lib/gethostname.c: Include sockets.h.
44878         (rpl_gethostname): Invoke gl_sockets_startup.
44879         * lib/socket.c: Include sockets.h.
44880         (rpl_socket): Invoke gl_sockets_startup.
44881         * modules/gethostname (Depends-on): Add sockets.
44882         * modules/socket (Depends-on): Likewise.
44883         * tests/test-poll.c: Don't include sockets.h.
44884         (main): Don't invoke gl_sockets_startup.
44885         * tests/test-select.c: Don't include sockets.h.
44886         (main): Don't invoke gl_sockets_startup.
44887
44888 2009-08-02  Bruno Haible  <bruno@clisp.org>
44889
44890         Allow multiple calls to gl_sockets_startup.
44891         * lib/sockets.c (initialized_sockets_version): New variable.
44892         (gl_sockets_startup): Do nothing if already called for this or a higher
44893         version.
44894         (gl_sockets_cleanup): Reset initialized_sockets_version.
44895
44896 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44897
44898         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44899         different project/version.
44900
44901 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44902             Bruno Haible  <bruno@clisp.org>
44903
44904         Tests for module 'pipe-filter-gi'.
44905         * modules/pipe-filter-gi-tests: New file.
44906         * tests/test-pipe-filter-gi1.sh: New file.
44907         * tests/test-pipe-filter-gi1.c: New file.
44908         * tests/test-pipe-filter-gi2.sh: New file.
44909         * tests/test-pipe-filter-gi2-main.c: New file.
44910         * tests/test-pipe-filter-gi2-child.c: New file.
44911
44912         New module 'pipe-filter-gi'.
44913         * lib/pipe-filter-gi.c: New file.
44914         * modules/pipe-filter-gi: New file.
44915
44916 2009-08-02  Bruno Haible  <bruno@clisp.org>
44917             Paolo Bonzini  <bonzini@gnu.org>
44918
44919         Tests for module 'pipe-filter-ii'.
44920         * modules/pipe-filter-ii-tests: New file.
44921         * tests/test-pipe-filter-ii1.sh: New file.
44922         * tests/test-pipe-filter-ii1.c: New file.
44923         * tests/test-pipe-filter-ii2.sh: New file.
44924         * tests/test-pipe-filter-ii2-main.c: New file.
44925         * tests/test-pipe-filter-ii2-child.c: New file.
44926
44927         New module 'pipe-filter-ii'.
44928         * lib/pipe-filter.h: New file.
44929         * lib/pipe-filter-ii.c: New file.
44930         * lib/pipe-filter-aux.h: New file.
44931         * modules/pipe-filter-ii: New file.
44932
44933 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44934
44935         * lib/gc-libgcrypt.c: Change copyright to FSF.
44936         * lib/gc-gnulib.c: Likewise.
44937
44938 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44939
44940         * lib/gethostname.c: Include limits.h.
44941
44942 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44943             Bruno Haible  <bruno@clisp.org>
44944
44945         Ensure HOST_NAME_MAX as part of the gethostname module.
44946         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44947         define also HOST_NAME_MAX.
44948         * tests/test-gethostname.c: Include <limits.h>.
44949         (main): Check also HOST_NAME_MAX.
44950         * doc/posix-headers/limits.texi: Document the mingw problem.
44951
44952 2009-08-02  Bruno Haible  <bruno@clisp.org>
44953
44954         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44955         Add comments.
44956
44957 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44958
44959         * lib/gethostname.c: Add Windows wrapper.
44960         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44961         * modules/gethostname: Depend on sys_socket & errno, for also
44962         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44963         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44964
44965 2009-07-31  Jim Meyering  <meyering@redhat.com>
44966
44967         getloadavg: fix symbol name in comment
44968         * lib/getloadavg.c: Correct a typo I introduced when adding
44969         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44970         Matt Kraai spotted the problem.
44971
44972 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44973
44974         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44975         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44976         code also if ! defined N_NAME_POINTER.
44977         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44978         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44979         but the n_name member is a 12-byte array.
44980
44981 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44982
44983         update-copyright: generalize comment handling
44984         * build-aux/update-copyright: Handle copyright statements
44985         within more comment styles.
44986         Document usage.
44987         Report any file with an external copyright holder or parse failure.
44988
44989 2009-07-29  Jim Meyering  <meyering@redhat.com>
44990
44991         mktime: correct setting of REPLACE_MKTIME
44992         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44993
44994         update-copyright: new module
44995         * modules/update-copyright: New file.
44996         * build-aux/update-copyright: New file.
44997         * MODULES.html.sh (maint+release support): Add update-copyright.
44998
44999 2009-07-27  Bruno Haible  <bruno@clisp.org>
45000
45001         Fix compilation error when <ctime> is used and mktime is replaced.
45002         * lib/time.in.h (mktime): New declaration.
45003         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
45004         REPLACE_MKTIME instead of defining mktime in config.h.
45005         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
45006         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
45007         Reported by Ross McFarland <rwmcfa1@neces.com>.
45008
45009 2009-07-27  Bruno Haible  <bruno@clisp.org>
45010
45011         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
45012         Reported by Matt Kraai <mkraai@beckman.com>.
45013
45014 2009-07-25  Jim Meyering  <meyering@redhat.com>
45015
45016         maint.mk: avoid warnings about missing files
45017         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
45018         diagnostic when .prev-version does not exist.
45019         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
45020         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
45021         nonexistent cfg.mk.
45022         Suggestions from Simon Josefsson.
45023
45024 2009-07-25  Bruno Haible  <bruno@clisp.org>
45025
45026         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
45027         defined as macros. Needed on QNX 6.4.1.
45028         Reported by Matt Kraai <mkraai@beckman.com>.
45029
45030 2009-07-23  Jim Meyering  <meyering@redhat.com>
45031
45032         maint.mk: invoke "make dist" with a working value of XZ_OPT
45033         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
45034
45035 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
45036
45037         Make fseeko.c compile on QNX.
45038         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
45039
45040 2009-07-22  Peter Simons  <simons@cryp.to>
45041
45042         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
45043         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
45044         * lib/md4.h: Likewise.
45045         * lib/md5.h: Likewise.
45046         * lib/sha1.h: Likewise.
45047         * lib/sha256.h: Likewise.
45048         * lib/sha512.h: Likewise.
45049
45050         tests-sha1: don't assign literal string to 'char *' variable
45051         * tests/test-sha1.c (main): Declare locals with "const" to match
45052         attributes of the right hand side.
45053
45054 2009-07-21  Eric Blake  <ebb9@byu.net>
45055
45056         dup2: fix more mingw problems
45057         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
45058         fd to itself.
45059         * doc/posix-functions/dup2.texi (dup2): Document the bug.
45060         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
45061         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
45062         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
45063         care of mingw bugs.
45064
45065 2009-07-21  Jim Meyering  <meyering@redhat.com>
45066
45067         vc-list-files: avoid failure when /bin/sh is dash
45068         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
45069         On some Debian based systems, /bin/sh is a symlink to dash, and running
45070         this command would omit the "/" following each 'tests' prefix:
45071           dash -x build-aux/vc-list-files -C . tests
45072         That is because bash and dash work differently:
45073           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
45074           bash ok
45075           dash odd
45076
45077 2009-07-21  Eric Blake  <ebb9@byu.net>
45078
45079         dup2-tests: test previous patch
45080         * modules/dup2-tests: New file.
45081         * tests/test-dup2.c: Likewise.
45082         * tests/test-open.c (main): Avoid unspecified behavior.
45083         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
45084         test.
45085
45086         dup2: work around mingw and cygwin 1.5 bug
45087         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
45088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45089         * modules/unistd (Makefile.am): Substitute it.
45090         * lib/unistd.in.h (dup2): Declare the replacement.
45091         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
45092         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
45093         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
45094         * modules/execute (Depends-on): Add dup2.
45095         * modules/fseterr (Depends-on): Likewise.
45096         * modules/pipe (Depends-on): Likewise.
45097         * modules/posix_spawn-internal (Depends-on): Likewise.
45098
45099 2009-07-21  Bruno Haible  <bruno@clisp.org>
45100
45101         * modules/.gitattributes: New file.
45102
45103 2009-07-20  Bruno Haible  <bruno@clisp.org>
45104
45105         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
45106         (main): Use it.
45107
45108 2009-07-20  Eric Blake  <ebb9@byu.net>
45109
45110         test-pipe: make a bit more robust.
45111         * tests/test-pipe.c (myerr): Allow error messages regardless of
45112         what we do to stderr.
45113         (test_pipe): Rearrange to avoid deadlock.
45114         (child_main): Try a larger read, to ensure we avoided deadlock.
45115         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
45116         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
45117         if misused.
45118
45119 2009-07-19  Jim Meyering  <meyering@redhat.com>
45120
45121         fts: avoid false-positive cycle-detection
45122         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
45123         for each new command line argument.
45124
45125 2009-07-19  Bruno Haible  <bruno@clisp.org>
45126
45127         Fix build error on mingw with the modules sys_select and unistd.
45128         * modules/acl-tests (Depends-on): Add close.
45129         * modules/binary-io-tests (Depends-on): Likewise.
45130         * modules/closein-tests (Depends-on): Likewise.
45131         * modules/flock-tests (Depends-on): Likewise.
45132         * modules/fsync-tests (Depends-on): Likewise.
45133         * modules/lseek-tests (Depends-on): Likewise.
45134         * modules/pipe-tests (Depends-on): Likewise.
45135         * modules/posix_spawn-tests (Depends-on): Likewise.
45136         * modules/posix_spawnp-tests (Depends-on): Likewise.
45137         * modules/stat-time-tests (Depends-on): Likewise.
45138         * modules/yesno-tests (Depends-on): Likewise.
45139
45140 2009-07-19  Bruno Haible  <bruno@clisp.org>
45141
45142         Unify conditionals.
45143         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45144         macros, not at the compiler macros.
45145         * lib/pipe.c: Likewise.
45146         * lib/execute.c: Likewise.
45147         * lib/spawni.c: Likewise.
45148
45149 2009-07-19  Bruno Haible  <bruno@clisp.org>
45150
45151         Fix handling of closed stdin/stdout/stderr on mingw.
45152         * lib/w32spawn.h: Include unistd.h.
45153         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45154         file descriptor with O_NOINHERIT flag.
45155         (fd_safer_noinherit): New function, based on fd-safer.c.
45156         (dup_safer_noinherit): New function, based on dup-safer.c.
45157         (undup_safer_noinherit): New function.
45158         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45159         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45160         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45161         instead of fd_safer.
45162         * tests/test-pipe.c: Include <windows.h>.
45163         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45164         result.
45165
45166         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45167         from main.
45168         (test_pipe): Pass an extra argument for disambiguation.
45169         (main): Invoke parent_main or child_main.
45170
45171         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45172         consistently.
45173
45174 2009-07-18  Eric Blake  <ebb9@byu.net>
45175
45176         test-pipe: fix mingw build
45177         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45178
45179 2009-07-18  Bruno Haible  <bruno@clisp.org>
45180
45181         * modules/pipe-tests (Makefile.am): Fix typo.
45182
45183 2009-07-18  Eric Blake  <ebb9@byu.net>
45184
45185         error: fix mingw build
45186         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45187         Reported by Bruno Haible.
45188
45189         error: avoid undefined use of stdout
45190         * lib/error.c (error, error_at_line): Check that fd 1 is open
45191         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45192         is handling faults and the close_stdout module wants to report the
45193         detection of closed stdout as an error.
45194
45195 2009-07-17  Eric Blake  <ebb9@byu.net>
45196
45197         pipe: be robust in face of closed fds
45198         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45199         should cause child to misbehave.
45200         * modules/pipe-tests: New module.
45201         * tests/test-pipe.c: New file.
45202         * tests/test-pipe.sh: New file.
45203         Reported by Akim Demaille.
45204
45205 2009-07-14  Bruno Haible  <bruno@clisp.org>
45206
45207         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45208         Reported by anonymous kc.
45209
45210 2009-07-07  Jim Meyering  <meyering@redhat.com>
45211
45212         maint.mk: don't look for translatable strings in *.m4 or *.mk
45213         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45214         when searching for translatable strings.
45215
45216 2009-07-05  Jim Meyering  <meyering@redhat.com>
45217
45218         remove superfluous parentheses in STREQ definition
45219         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45220         * lib/getugroups.c (STREQ): Likewise.
45221         * lib/fnmatch.c (STREQ): Likewise.
45222         Spotted by Bruno Haible.
45223
45224 2009-07-04  Jim Meyering  <meyering@redhat.com>
45225
45226         argv-iter: new module
45227         * MODULES.html.sh: Add argv-iter.
45228         * lib/argv-iter.c, lib/argv-iter.h: New files.
45229         * modules/argv-iter: New file.
45230         * modules/argv-iter-tests: New file.
45231         * tests/test-argv-iter.c: Test it.
45232
45233 2009-07-04  Bruno Haible  <bruno@clisp.org>
45234
45235         Fix assertion.
45236         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45237         contains more exact copies of a given entry than file2, leave the extra
45238         copies unpaired rather than aborting.
45239         Reported by Eric Blake.
45240
45241 2009-07-02  Bruno Haible  <bruno@clisp.org>
45242
45243         Speedup git-merge-changelog for git cherry-pick.
45244         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45245         (entries_mapping_get): New function, extracted from compute_mapping.
45246         (entries_mapping_reverse_get): New function.
45247         (compute_mapping): Add a 'full' argument. Return the result in a
45248         'struct entries_mapping'.
45249         (main): Update. Access the mappings through entries_mapping_get.
45250         Reported by Eric Blake.
45251
45252 2009-07-02  Bruno Haible  <bruno@clisp.org>
45253
45254         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45255         best_i.
45256
45257 2009-07-02  Bruno Haible  <bruno@clisp.org>
45258
45259         Speed up approximate search for matching ChangeLog entries.
45260         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45261         argument. Call fstrcmp_bounded instead of fstrcmp.
45262         (compute_mapping, try_split_merged_entry, main): Update callers.
45263
45264 2009-07-02  Bruno Haible  <bruno@clisp.org>
45265
45266         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45267
45268 2009-06-30  Bruno Haible  <bruno@clisp.org>
45269
45270         Reduce the number of uc_is_cased calls.
45271         * lib/unicase.h (casing_suffix_context_t): Add
45272         'first_char_except_ignorable' field.
45273         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45274         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45275         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45276         Update initializer.
45277         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45278         case-ignorable characters.
45279         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45280         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45281         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45282         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45283         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45284
45285 2009-06-30  Bruno Haible  <bruno@clisp.org>
45286
45287         Tests for module 'unicase/ignorable'.
45288         * modules/unicase/ignorable-tests: New file.
45289         * tests/unicase/test-ignorable.c: New file, generated by
45290         gen-uni-tables.
45291
45292         Tests for module 'unicase/cased'.
45293         * modules/unicase/cased-tests: New file.
45294         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45295         * tests/unicase/test-predicate-part1.h: New file, derived from
45296         tests/unictype/test-predicate-part1.h.
45297         * tests/unicase/test-predicate-part2.h: New file, same as
45298         tests/unictype/test-predicate-part2.h.
45299
45300         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45301         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45302         (output_casing_properties): New function.
45303         (main): Call it.
45304         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45305         * lib/unicase/cased.c: Include unictype/bitmap.h.
45306         (uc_is_cased): Define through a bitmap lookup.
45307         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45308         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45309         (uc_is_case_ignorable): Define through a bitmap lookup.
45310         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45311         lib/unictype/bitmap.h.
45312         (Depends-on): Add inline. Clean up.
45313         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45314         lib/unictype/bitmap.h.
45315         (Depends-on): Add inline. Clean up.
45316         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45317         recognition.
45318         * tests/unicase/test-u16-tolower.c (main): Likewise.
45319         * tests/unicase/test-u32-tolower.c (main): Likewise.
45320
45321 2009-06-30  Bruno Haible  <bruno@clisp.org>
45322
45323         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45324         * lib/unicase/u16-casemap.c: Likewise.
45325         * lib/unicase/u32-casemap.c: Likewise.
45326
45327 2009-06-29  Bruno Haible  <bruno@clisp.org>
45328
45329         Define u32_casefold as a wrapper around u32_ct_casefold.
45330         * lib/unicase/u32-casefold.c: Update.
45331         * modules/unicase/u32-casefold (Depends-on): Add
45332         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45333         unicase/empty-suffix-context. Clean up.
45334
45335         Define u16_casefold as a wrapper around u16_ct_casefold.
45336         * lib/unicase/u16-casefold.c: Update.
45337         * modules/unicase/u16-casefold (Depends-on): Add
45338         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45339         unicase/empty-suffix-context. Clean up.
45340
45341         Define u8_casefold as a wrapper around u8_ct_casefold.
45342         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45343         * lib/unicase/u8-casefold.c: Update.
45344         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45345         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45346
45347         Define u32_totitle as a wrapper around u32_ct_totitle.
45348         * lib/unicase/u32-totitle.c: Update.
45349         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45350         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45351
45352         Define u16_totitle as a wrapper around u16_ct_totitle.
45353         * lib/unicase/u16-totitle.c: Update.
45354         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45355         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45356
45357         Define u8_totitle as a wrapper around u8_ct_totitle.
45358         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45359         functions.
45360         (FUNC): Delegate to U_CT_TOTITLE.
45361         * lib/unicase/u8-totitle.c: Update.
45362         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45363         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45364
45365         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45366         invocation.
45367         * modules/unicase/u32-tolower (Depends-on): Add
45368         unicase/empty-prefix-context, unicase/empty-suffix-context.
45369
45370         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45371         invocation.
45372         * modules/unicase/u16-tolower (Depends-on): Add
45373         unicase/empty-prefix-context, unicase/empty-suffix-context.
45374
45375         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45376         * modules/unicase/u8-tolower (Depends-on): Add
45377         unicase/empty-prefix-context, unicase/empty-suffix-context.
45378
45379         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45380         invocation.
45381         * modules/unicase/u32-toupper (Depends-on): Add
45382         unicase/empty-prefix-context, unicase/empty-suffix-context.
45383
45384         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45385         invocation.
45386         * modules/unicase/u16-toupper (Depends-on): Add
45387         unicase/empty-prefix-context, unicase/empty-suffix-context.
45388
45389         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45390         * modules/unicase/u8-toupper (Depends-on): Add
45391         unicase/empty-prefix-context, unicase/empty-suffix-context.
45392
45393         New module 'unicase/u32-ct-casefold'.
45394         * lib/unicase/u32-ct-casefold.c: New file.
45395         * modules/unicase/u32-ct-casefold: New file.
45396
45397         New module 'unicase/u16-ct-casefold'.
45398         * lib/unicase/u16-ct-casefold.c: New file.
45399         * modules/unicase/u16-ct-casefold: New file.
45400
45401         New module 'unicase/u8-ct-casefold'.
45402         * lib/unicase/u8-ct-casefold.c: New file.
45403         * lib/unicase/u-ct-casefold.h: New file, derived from
45404         lib/unicase/u-casefold.h.
45405         * modules/unicase/u8-ct-casefold: New file.
45406
45407         New module 'unicase/u32-ct-totitle'.
45408         * lib/unicase/u32-ct-totitle.c: New file.
45409         * modules/unicase/u32-ct-totitle: New file.
45410
45411         New module 'unicase/u16-ct-totitle'.
45412         * lib/unicase/u16-ct-totitle.c: New file.
45413         * modules/unicase/u16-ct-totitle: New file.
45414
45415         New module 'unicase/u8-ct-totitle'.
45416         * lib/unicase/u8-ct-totitle.c: New file.
45417         * lib/unicase/u-ct-totitle.h: New file, derived from
45418         lib/unicase/u-totitle.h.
45419         * modules/unicase/u8-ct-totitle: New file.
45420
45421         New module 'unicase/u32-ct-tolower'.
45422         * lib/unicase/u32-ct-tolower.c: New file.
45423         * modules/unicase/u32-ct-tolower: New file.
45424
45425         New module 'unicase/u16-ct-tolower'.
45426         * lib/unicase/u16-ct-tolower.c: New file.
45427         * modules/unicase/u16-ct-tolower: New file.
45428
45429         New module 'unicase/u8-ct-tolower'.
45430         * lib/unicase/u8-ct-tolower.c: New file.
45431         * modules/unicase/u8-ct-tolower: New file.
45432
45433         New module 'unicase/u32-ct-toupper'.
45434         * lib/unicase/u32-ct-toupper.c: New file.
45435         * modules/unicase/u32-ct-toupper: New file.
45436
45437         New module 'unicase/u16-ct-toupper'.
45438         * lib/unicase/u16-ct-toupper.c: New file.
45439         * modules/unicase/u16-ct-toupper: New file.
45440
45441         New module 'unicase/u8-ct-toupper'.
45442         * lib/unicase/u8-ct-toupper.c: New file.
45443         * modules/unicase/u8-ct-toupper: New file.
45444
45445         Add context arguments to u*_casemap functions.
45446         * lib/unicase/unicasemap.h: Include unicase.h.
45447         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
45448         suffix_context arguments.
45449         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
45450         functions.
45451         (FUNC): Add prefix_context and suffix_context arguments. Use
45452         uc_is_cased and uc_is_case_ignorable.
45453         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
45454         * lib/unicase/u16-casemap.c: Likewise.
45455         * lib/unicase/u32-casemap.c: Likewise.
45456         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
45457         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45458         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45459         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45460         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45461         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45462
45463         New module 'unicase/u32-suffix-context'.
45464         * lib/unicase/u32-suffix-context.c: New file.
45465         * modules/unicase/u32-suffix-context: New file.
45466
45467         New module 'unicase/u16-suffix-context'.
45468         * lib/unicase/u16-suffix-context.c: New file.
45469         * modules/unicase/u16-suffix-context: New file.
45470
45471         New module 'unicase/u8-suffix-context'.
45472         * lib/unicase/u8-suffix-context.c: New file.
45473         * lib/unicase/u-suffix-context.h: New file.
45474         * modules/unicase/u8-suffix-context: New file.
45475
45476         New module 'unicase/empty-suffix-context'.
45477         * lib/unicase/empty-suffix-context.c: New file.
45478         * modules/unicase/empty-suffix-context: New file.
45479
45480         New module 'unicase/u32-prefix-context'.
45481         * lib/unicase/u32-prefix-context.c: New file.
45482         * modules/unicase/u32-prefix-context: New file.
45483
45484         New module 'unicase/u16-prefix-context'.
45485         * lib/unicase/u16-prefix-context.c: New file.
45486         * modules/unicase/u16-prefix-context: New file.
45487
45488         New module 'unicase/u8-prefix-context'.
45489         * lib/unicase/u8-prefix-context.c: New file.
45490         * lib/unicase/u-prefix-context.h: New file.
45491         * lib/unicase/context.h: New file.
45492         * modules/unicase/u8-prefix-context: New file.
45493
45494         New module 'unicase/empty-prefix-context'.
45495         * lib/unicase/empty-prefix-context.c: New file.
45496         * modules/unicase/empty-prefix-context: New file.
45497
45498         New module 'unicase/ignorable'.
45499         * lib/unicase/ignorable.c: New file.
45500         * modules/unicase/ignorable: New file.
45501
45502         New module 'unicase/cased'.
45503         * lib/unicase/caseprop.h: New file.
45504         * lib/unicase/cased.c: New file.
45505         * modules/unicase/cased: New file.
45506
45507         New functions for case mapping of substrings.
45508         * lib/unicase.h (casing_prefix_context_t): New type.
45509         (unicase_empty_prefix_context): New variable.
45510         (u8_casing_prefix_context, u16_casing_prefix_context,
45511         u32_casing_prefix_context, u8_casing_prefixes_context,
45512         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45513         declarations.
45514         (casing_suffix_context_t): New type.
45515         (unicase_empty_suffix_context): New variable.
45516         (u8_casing_suffix_context, u16_casing_suffix_context,
45517         u32_casing_suffix_context, u8_casing_suffixes_context,
45518         u16_casing_suffixes_context, u32_casing_suffixes_context,
45519         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45520         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45521         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45522         declarations.
45523
45524 2009-06-28  Jim Meyering  <meyering@redhat.com>
45525
45526         boostrap: indent only with spaces
45527         * build-aux/bootstrap: Indent only with spaces, never TABs.
45528
45529         bootstrap: split long lines
45530         * build-aux/bootstrap: Keep line length < 80.
45531
45532         bootstrap: sync from coreutils
45533         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45534         just as autoreconf does.  Verify a list of prerequisite
45535         package-name,version-number pairs if defined in bootstrap.conf.
45536         Refer to README-prereq, if prerequisites are not satisfied.
45537
45538 2009-06-27  Eric Blake  <ebb9@byu.net>
45539
45540         tests: add test for bogus NULL definition
45541         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45542         * tests/test-stdlib.c: Likewise.
45543         * tests/test-string.c: Likewise.
45544         * tests/test-locale.c: Likewise.
45545         * tests/test-unistd.c: Likewise.
45546         * modules/stdio-tests (Depends-on): Add verify.
45547         * modules/stdlib-tests (Depends-on): Likewise.
45548         * modules/string-tests (Depends-on): Likewise.
45549         * modules/locale-tests (Depends-on): Likewise.
45550         * modules/unistd-tests (Depends-on): Likewise.
45551
45552 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45553
45554         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45555         self-explaining comment.
45556         * m4/selinux-selinux-h: Update serial.
45557         (gl_LIBSELINUX): New macro, adding a warning for missing development
45558         packages to code extracted from...
45559         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45560         Add warning for missing development packages here, too.
45561
45562 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45563
45564         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45565
45566 2009-06-25  Eric Blake  <ebb9@byu.net>
45567
45568         version-etc: fix regression
45569         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45570         gcc.
45571         (version_etc): Use it, to catch bugs with trailing NULL.
45572         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45573         (version_etc_va): Fix logic bug.
45574         * modules/version-etc-tests: Add test.
45575         * tests/test-version-etc.c: New file.
45576         * tests/test-version-etc.sh: Likewise.
45577
45578 2009-06-25  Sam Steingold  <sds@gnu.org>
45579
45580         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45581         mbtowc declaration.
45582
45583 2009-06-25  Eric Blake  <ebb9@byu.net>
45584
45585         fpurge: migrate into <stdio.h>
45586         * lib/fpurge.h: Delete...
45587         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45588         * lib/fpurge.c (fpurge): Change declaring header.
45589         * modules/fpurge (Files): Drop deleted file.
45590         (Depends-on): Add stdio.
45591         (configure.ac): Set witness.
45592         * modules/stdio (Makefile.am): Support fpurge macros.
45593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45594         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45595         * lib/fflush.c: Update client.
45596         * tests/test-fpurge.c: Likewise.
45597         * NEWS: Mention the change.
45598
45599 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45600
45601         * lib/argp-version-etc.c (program_authors): Add const
45602         qualifier.
45603         * lib/version-etc.c: Fix typos in the comments.
45604         * modules/argp-version-etc: Depends on version-etc.
45605
45606 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45607
45608         argp-version-etc: new module.
45609
45610         * lib/argp-version-etc.c: New file.
45611         * lib/argp-version-etc.h: New file.
45612         * modules/argp-version-etc: New file.
45613         * modules/argp-version-etc-tests: New file.
45614         * tests/test-argp-version-etc.c: New test.
45615         * tests/test-argp-version-etc-1.sh: New test.
45616
45617 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45618
45619         Provide additional interfaces and documentation for version-etc
45620         module.
45621
45622         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45623         interfaces.
45624         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45625         prototypes.
45626
45627 2009-06-24  Bruno Haible  <bruno@clisp.org>
45628
45629         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45630         HAVE_LIB${NAME} macro.
45631         Reported by Sam Steingold <sds@gnu.org>.
45632
45633 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45634
45635         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45636         needed.
45637
45638 2009-06-21  Bruno Haible  <bruno@clisp.org>
45639
45640         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45641         work.
45642         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45643         together with LIB${NAME}, LTLIB${NAME}.
45644         Reported by Sam Steingold <sds@gnu.org>.
45645
45646 2009-06-20  Jim Meyering  <meyering@redhat.com>
45647
45648         tests: make sc_require_test_exit_idiom more generic
45649         * top/maint.mk (Exit_witness_file): New overridable variable.
45650         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45651         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45652
45653 2009-06-19  Jim Meyering  <meyering@redhat.com>
45654
45655         hash: reverse order of src/dst parameters in an internal interface
45656         * lib/hash.c (transfer_entries): Reverse order of parameters to
45657         put DST before SRC.  Adjust callers.
45658
45659         tests: test-hash: avoid wholesale duplication
45660         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45661         Instead, use a loop and add a single conditional.
45662
45663         tests: test-hash: allow seed selection via a command line argument
45664         * tests/test-hash.c (get_seed): New function.
45665         (main): Use it.
45666
45667 2009-06-19  Eric Blake  <ebb9@byu.net>
45668
45669         hash: avoid memory leak on allocation failure
45670         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45671         failure.  Factor repeated algorithm...
45672         (transfer_entries): ...into new helper routine.
45673         (hash_delete): React to hash_rehash return value.
45674
45675         hash: reduce memory pressure in hash_rehash no-op case
45676         * lib/hash.c (next_prime): Avoid overflow.
45677         (hash_initialize): Factor bucket size computation...
45678         (compute_bucket_size): ...into new helper function.
45679         (hash_rehash): Use new function and open coding to reduce memory
45680         pressure, and avoid a memory leak in USE_OBSTACK code.
45681         Reported by Jim Meyering.
45682
45683 2009-06-18  Eric Blake  <ebb9@byu.net>
45684
45685         hash: make rotation more obvious
45686         * modules/hash (Depends-on): Add bitrotate and stdint.
45687         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45688         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45689         (SIZE_MAX): Rely on headers for definition.
45690         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45691         (raw_hasher): Use rotr_sz.
45692         Suggested by Jim Meyering.
45693
45694         hash: fix memory leak in last patch
45695         * lib/hash.c (hash_rehash): Avoid memory leak.
45696
45697         hash: avoid no-op rehashing
45698         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45699
45700         hash: provide default callback functions
45701         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45702         (hash_initialize): Use them as defaults.
45703         * tests/test-hash.c (main): Test this.
45704
45705         hash: minor optimization
45706         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45707         when possible.
45708         (hash_initialize): Document this promise.
45709         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45710         * tests/test-hash.c (hash_compare_strings): Test this.
45711
45712 2009-06-18  Bruno Haible  <bruno@clisp.org>
45713
45714         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45715         going to be replaced anyway.
45716
45717 2009-06-18  Bruno Haible  <bruno@clisp.org>
45718
45719         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45720         in one place.
45721         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45722         be replaced anyway.
45723
45724 2009-06-18  Eric Blake  <ebb9@byu.net>
45725
45726         hash: check for resize before insertion
45727         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45728         threshold before insertion, so that a pathological hash_rehash
45729         that fills every bucket can still trigger another rehash.
45730
45731 2009-06-18  Jim Meyering  <meyering@redhat.com>
45732
45733         hash-tests: add a loop around the small tests
45734         * tests/test-hash.c (main): Repeat small tests with selected
45735         small initial table sizes.
45736
45737 2009-06-17  Eric Blake  <ebb9@byu.net>
45738
45739         hash: minor cleanups
45740         * lib/hash.h (hash_entry): Make opaque, by moving...
45741         * lib/hash.c (hash_entry): ...here.
45742         (hash_insert): Clarify restrictions on what can be inserted.
45743         (hash_get_next): Clarify when it is safe to remove an element
45744         during traversal.
45745         (check_tuning): Skip verification when tuning is known safe.
45746         (hash_initialize): Clarify restrictions on tuning.
45747
45748 2009-06-17  Jim Meyering  <jim@meyering.net>
45749         and Eric Blake  <ebb9@byu.net>
45750
45751         hash-tests: new module
45752         * modules/hash-tests: New file.
45753         * tests/test-hash.c: New file.
45754
45755 2009-06-17  Eric Blake  <ebb9@byu.net>
45756
45757         strstr-simple: document new module
45758         * MODULES.html.sh: Document new module.
45759
45760         strstr, strcasestr: replace on platforms with broken memchr
45761         * modules/strstr: Split into...
45762         * modules/strstr-simple: ...new module that does not care about
45763         performance, but does care about glibc bug.
45764         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45765         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45766         if platform memchr is broken, per Debian bug 521737.
45767         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45768         memchr.
45769         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45770         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45771         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45772         * modules/mountlist (Depends-on): Add strstr-simple.
45773         * modules/gen-uni-tables (Depends-on): Likewise.
45774         * modules/argz (Depends-on): Add strstr.
45775
45776 2009-06-17  Bruno Haible  <bruno@clisp.org>
45777
45778         * modules/posix_spawn-internal (Depends-on): Add errno.
45779
45780 2009-06-17  Bruno Haible  <bruno@clisp.org>
45781
45782         Define missing ESTALE on Interix 3.5.
45783         * lib/errno.in.h (ESTALE): Assign a value if missing.
45784         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45785         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45786         missing.
45787         * doc/posix-headers/errno.texi: Mention the Interix bug.
45788         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45789
45790 2009-06-15  Eric Blake  <ebb9@byu.net>
45791
45792         memchr, memchr2: add valgrind exception
45793         * lib/memchr.valgrind: New file.
45794         * lib/memchr2.valgrind: New file.
45795         * modules/memchr (Files): Distribute valgrind file.
45796         * modules/memchr2 (Files): Likewise.
45797
45798         docs: memchr is no longer obsolete
45799         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45800         * lib/string.in.h (memchr): Simplify logic.
45801
45802 2009-06-14  Jim Meyering  <meyering@redhat.com>
45803
45804         link-follow: fix the "checking..." message to not mention trailing slash
45805         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45806         never considered trailing slashes.
45807
45808 2009-06-14  Bruno Haible  <bruno@clisp.org>
45809
45810         * m4/memchr.m4: Mention also the bug on IA-64.
45811         * doc/posix-functions/memchr.texi: Likewise.
45812
45813 2009-06-12  Eric Blake  <ebb9@byu.net>
45814
45815         memchr: detect broken x86_64 and alpha implementations
45816         * modules/memchr-tests (Depends-on): Move mmap detection...
45817         * modules/memchr (Depends-on): ...here.
45818         (configure.ac): Set indicator.
45819         * lib/string.in.h (memchr): Declare replacement.
45820         * modules/string (Makefile.am): Trigger replacement.
45821         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45822         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45823         bugs.
45824         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45825         * modules/getpagesize (License): Relax license.
45826
45827 2009-06-11  Bruno Haible  <bruno@clisp.org>
45828
45829         * lib/idpriv.h: Add more references.
45830
45831 2009-06-08  Bruno Haible  <bruno@clisp.org>
45832
45833         Tests for module 'idpriv-droptemp'.
45834         * modules/idpriv-droptemp-tests: New file.
45835         * tests/test-idpriv-droptemp.sh: New file.
45836         * tests/test-idpriv-droptemp.su.sh: New file.
45837         * tests/test-idpriv-droptemp.c: New file.
45838
45839         New module 'idpriv-droptemp'.
45840         * lib/idpriv-droptemp.c: New file.
45841         * modules/idpriv-droptemp: New file.
45842
45843 2009-06-08  Bruno Haible  <bruno@clisp.org>
45844
45845         Tests for module 'idpriv-drop'.
45846         * modules/idpriv-drop-tests: New file.
45847         * tests/test-idpriv-drop.sh: New file.
45848         * tests/test-idpriv-drop.su.sh: New file.
45849         * tests/test-idpriv-drop.c: New file.
45850
45851         New module 'idpriv-drop'.
45852         * lib/idpriv.h: New file.
45853         * lib-idpriv-drop.c: New file.
45854         * m4/idpriv.m4: New file.
45855         * modules/idpriv-drop: New file.
45856
45857 2009-06-08  Bruno Haible  <bruno@clisp.org>
45858
45859         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45860         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45861         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45862         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45863         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45864         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45865         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45866
45867 2009-06-08  Eric Blake  <ebb9@byu.net>
45868
45869         test-strstr: use memory fence, when possible
45870         * tests/test-strstr.c (main): Use memory fence, in order to be
45871         more likely to trigger Debian bug 521737.
45872         * modules/strstr-tests (Files): Pull in additional files.
45873
45874         memchr: no longer obsolete, for wider field testing
45875         * modules/memchr (Status, Notice): Delete, this module is no
45876         longer obsolete.
45877         * modules/vasnprintf (Depends-on): Add memchr.
45878
45879 2009-06-07  Jim Meyering  <meyering@redhat.com>
45880
45881         hash: declare some functions with the warn_unused_result attribute
45882         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45883
45884 2009-06-07  Bruno Haible  <bruno@clisp.org>
45885
45886         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45887         Reported by Eric Blake.
45888
45889 2009-06-06  Eric Blake  <ebb9@byu.net>
45890
45891         test-alignof: fix typo with long double
45892         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45893         compiler error.
45894
45895 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45896
45897         Escape non-texinfo { and }s.
45898         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45899         markup error.
45900
45901 2009-06-04  Jim Meyering  <meyering@redhat.com>
45902
45903         gitlog-to-changelog: don't infloop on an empty commit log
45904         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45905         Reported by Boris Petersen <transacid@centerim.org>.
45906
45907 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45908
45909         version-etc: extend for packagers
45910         Add three new configure options, intended for packagers:
45911           --with-packager="packager name"
45912           --with-packager-version="packager-specific version"
45913           --with-packager-bug-reports="packager bug reporting"
45914         An example with coreutils:
45915           $ ./configure \
45916             --with-packager=Gentoo \
45917             --with-packager-bug-report=http://bugs.gentoo.org/ \
45918             --with-packager-version="patchset 1.6"
45919           $ ./src/ls --version | head -n2
45920           ls (GNU coreutils) 7.1-dirty
45921           Packaged by Gentoo (patchset 1.6)
45922         Note that the bug reporting info via --help doesn't show up because
45923         coreutils uses its own custom emit_bug_reporting_address() implementation
45924         in src/system.h.  If it didn't, it'd look like:
45925           $ ./src/ls --help | tail -n4
45926           Report bugs to <bug-coreutils@gnu.org>.
45927           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45928           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45929           General help using GNU software: <http://www.gnu.org/gethelp/>.
45930         * lib/version-etc.c: Print new information, if provided.
45931         * m4/version-etc.m4: New file.
45932         * modules/version-etc (Files): Add m4/version-etc.m4.
45933         (configure.ac): Add gl_VERSION_ETC.
45934
45935 2009-05-31  Bruno Haible  <bruno@clisp.org>
45936
45937         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45938         and 'int64_t'.
45939         * modules/alignof-tests (Dependencies): Add stdint.
45940         Reported by Eric Blake.
45941
45942 2009-05-31  Bruno Haible  <bruno@clisp.org>
45943
45944         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45945         restriction due to compiler bugs.
45946         Reported by Eric Blake.
45947
45948 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45949             Bruno Haible  <bruno@clisp.org>
45950
45951         Fix test-alignof failure.
45952         * lib/alignof.h (alignof_slot): New macro.
45953         (alignof_type): New macro, with the same semantics as the previous
45954         'alignof'.
45955         (alignof): Alias to alignof_slot.
45956         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45957         check that the results are usable as constant expressions.
45958
45959 2009-05-31  Bruno Haible  <bruno@clisp.org>
45960
45961         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45962         * tests/test-memchr.c (main): Check that memchr does not read past the
45963         first occurrence of the byte.
45964         * tests/test-strstr.c (main): Update comment.
45965         Suggested by Eric Blake.
45966
45967 2009-05-30  Bruno Haible  <bruno@clisp.org>
45968
45969         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45970         detail how to use dumpbin.
45971         Reported by David Byron <dbyron@dbyron.com>.
45972
45973 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45974
45975         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45976
45977 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45978
45979         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45980
45981 2009-05-28  Bruno Haible  <bruno@clisp.org>
45982
45983         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45984         build-aux/ files.
45985
45986 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45987
45988         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45989
45990 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45991
45992         * gnulib-tool (sed_transform_main_lib_file)
45993         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45994         regexps.
45995
45996 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45997
45998         * tests/test-strstr.c: Add another self-test.
45999         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
46000         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
46001
46002 2009-05-23  Bruno Haible  <bruno@clisp.org>
46003
46004         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
46005         change.
46006
46007 2009-05-21  Bruno Haible  <bruno@clisp.org>
46008
46009         Simplify use of mode_t varargs.
46010         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
46011         uses 'mode_t' or 'int'.
46012         * lib/openat.c (openat): Likewise.
46013         * lib/open-safer.c (open_safer): Likewise.
46014         * m4/mode_t.m4: New file.
46015         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
46016         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
46017         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
46018         * modules/open (Files): Add m4/mode_t.m4.
46019         * modules/openat (Files): Likewise.
46020         * modules/fcntl-safer (Files): Likewise.
46021         Suggested by Eric Blake.
46022
46023 2009-05-21  Pádraig Brady  <P@draigbrady.com>
46024
46025         * doc/glibc-functions/fallocate.texi: New file.
46026         * doc/gnulib.texi: Include it.
46027
46028 2009-05-21  Eric Blake  <ebb9@byu.net>
46029             Bruno Haible  <bruno@clisp.org>
46030
46031         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
46032         invocations.
46033         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46034
46035 2009-05-21  Eric Blake  <ebb9@byu.net>
46036             Bruno Haible  <bruno@clisp.org>
46037
46038         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
46039         include_next. Fix of 2008-11-20 commit.
46040         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
46041         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
46042         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
46043         NEXT_MATH_H.
46044         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
46045         instead of NEXT_MATH_H.
46046
46047 2009-05-21  Bruno Haible  <bruno@clisp.org>
46048
46049         Avoid redefinition warnings for SIZE_MAX.
46050         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
46051         Reported by Simon Josefsson.
46052
46053 2009-05-21  Bruno Haible  <bruno@clisp.org>
46054
46055         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
46056         AC_CACHE_VAL.
46057
46058 2009-05-20  Bruno Haible  <bruno@clisp.org>
46059
46060         Make zeroptr.h work on mingw.
46061         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
46062         mprotect.
46063         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
46064         * modules/memchr2-tests (configure.ac): Likewise.
46065         * modules/memcmp-tests (configure.ac): Likewise.
46066         * modules/memmem-tests (configure.ac): Likewise.
46067         * modules/memrchr-tests (configure.ac): Likewise.
46068         Reported by Simon Josefsson.
46069
46070 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46071
46072         * tests/test-glob.c: Include string.h for strcmp prototype.
46073
46074 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46075
46076         * modules/getdelim (Depends-on): Add explicit stdint, although it
46077         was implicitly already pulled in via realloc-posix.
46078         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
46079
46080 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46081
46082         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
46083         G. Christensen" <tgc@jupiterrise.com>.
46084         * m4/sys_socket_h.m4: Check for sa_family_t.
46085         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
46086         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
46087         * tests/test-sys_socket.c: Check that sa_family_t works.
46088
46089 2009-05-18  Eric Blake  <ebb9@byu.net>
46090
46091         maint.mk: allow gnulib_dir in VPATH build
46092         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
46093
46094 2009-05-15  Jim Meyering  <meyering@redhat.com>
46095
46096         maint.mk: Give gnulib_dir a default definition.
46097         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
46098         Thus, most packages no longer need to specify this variable in cfg.mk
46099
46100 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
46101
46102         rename.m4: fix typos that would make non-mingw cross-configure fail
46103         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
46104
46105 2009-05-13  Eric Blake  <ebb9@byu.net>
46106
46107         mmap-anon: avoid out-of-order autoconf expansion
46108         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
46109         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
46110         * modules/memchr-tests (Depends-on): Add extensions.
46111         * modules/memchr2-tests (Depends-on): Add extensions.
46112         * modules/memcmp-tests (Depends-on): Add extensions.
46113         * modules/memmem-tests (Depends-on): Add extensions.
46114         * modules/memrchr-tests (Depends-on): Add extensions.
46115
46116 2009-05-13  Bruno Haible  <bruno@clisp.org>
46117
46118         Make some tests ISO C 99 compliant.
46119         * tests/zerosize-ptr.h: New file.
46120         * tests/test-memchr.c: Include zerosize-ptr.h.
46121         (main): Use a zero-size object pointer instead of NULL.
46122         * tests/test-memchr2.c: Include zerosize-ptr.h.
46123         (main): Use a zero-size object pointer instead of NULL.
46124         * tests/test-memcmp.c: Include zerosize-ptr.h.
46125         (main): Use a zero-size object pointer instead of NULL.
46126         * tests/test-memmem.c: Include zerosize-ptr.h.
46127         (main): Use a zero-size object pointer instead of NULL.
46128         * tests/test-memrchr.c: Include zerosize-ptr.h.
46129         (main): Use a zero-size object pointer instead of NULL.
46130         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46131         m4/mmap-anon.m4.
46132         (Depends-on): Add getpagesize.
46133         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46134         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46135         m4/mmap-anon.m4.
46136         (Depends-on): Add getpagesize.
46137         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46138         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46139         m4/mmap-anon.m4.
46140         (Depends-on): Add getpagesize.
46141         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46142         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46143         m4/mmap-anon.m4.
46144         (Depends-on): Add getpagesize.
46145         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46146         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46147         m4/mmap-anon.m4.
46148         (Depends-on): Add getpagesize.
46149         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46150
46151 2009-05-12  Bruno Haible  <bruno@clisp.org>
46152
46153         Tests for module 'alignof'.
46154         * modules/alignof-tests: New file.
46155         * tests/test-alignof.c: New file.
46156
46157 2009-05-12  Bruno Haible  <bruno@clisp.org>
46158
46159         Fix alignof macro.
46160         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46161         vendor compilers that are always correct.
46162
46163 2009-05-12  Bruno Haible  <bruno@clisp.org>
46164
46165         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46166         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46167         not whether its fully works.
46168
46169 2009-05-12  Bruno Haible  <bruno@clisp.org>
46170
46171         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46172
46173 2009-05-12  Jim Meyering  <meyering@redhat.com>
46174
46175         * top/maint.mk: Adjust backslash alignment.
46176
46177 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46178
46179         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46180
46181 2009-05-11  Eric Blake  <ebb9@byu.net>
46182
46183         argp: avoid undefined behavior
46184         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46185         macros.
46186
46187 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46188
46189         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46190         user.name to prevent git commit from complaining.
46191
46192 2009-05-10  Bruno Haible  <bruno@clisp.org>
46193
46194         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46195         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46196         it rewrites every file name only once.
46197         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46198
46199 2009-05-08  Bruno Haible  <bruno@clisp.org>
46200
46201         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46202         instead of 'max'.
46203
46204 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46205
46206         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46207         sockaddr_storage test.
46208
46209 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46210
46211         * modules/sys_socket (Makefile.am): Substitute
46212         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46213         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46214         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46215         * tests/test-sys_socket.c: Check sockaddr_storage.
46216
46217 2009-05-08  Bruno Haible  <bruno@clisp.org>
46218
46219         New module 'alignof'.
46220         * lib/alignof.h: New file.
46221         * modules/alignof: New file.
46222
46223 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46224             Bruno Haible  <bruno@clisp.org>
46225
46226         Fix test-file-has-acl on FreeBSD.
46227         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46228         mask is implicitly added.
46229         * tests/test-file-has-acl.c: Include <signal.h>.
46230         (main): Terminate the test after 5 seconds.
46231         * modules/acl-tests (configure.ac): Check for alarm function.
46232
46233 2009-05-04  Bruno Haible  <bruno@clisp.org>
46234
46235         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46236         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46237         * modules/errno (configure.ac): Drop AC_REQUIRE.
46238         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46239         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46240
46241 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46242
46243         * modules/glob-tests: New module.
46244         * tests/test-glob.c: Add.
46245
46246 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46247
46248         * modules/fnmatch-tests: New module.
46249         * tests/test-fnmatch.c: Add.
46250
46251 2009-05-04  Eric Blake  <ebb9@byu.net>
46252
46253         maint: make the new no-submodule-changes rule VPATH-safe
46254         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46255
46256 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46257             Bruno Haible  <bruno@clisp.org>
46258
46259         acl: Fix infinite loop on FreeBSD.
46260         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46261         of return value from acl_get_entry.
46262         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46263         Likewise.
46264
46265 2009-05-03  Bruno Haible  <bruno@clisp.org>
46266
46267         * lib/acl-internal.h (acl_entries): Clarify return value.
46268         * lib/acl_entries.c (acl_entries): Likewise.
46269
46270 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46271
46272         Bug fix in acl module.
46273         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46274
46275 2009-05-03  Bruno Haible  <bruno@clisp.org>
46276
46277         Create gperf-generated file in the source dir, not in the build dir.
46278         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46279         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46280         * modules/unicase/locale-language (unicase/locale-languages.h):
46281         Likewise.
46282         * modules/unicase/special-casing (unicase/special-casing-table.h):
46283         Likewise.
46284         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46285         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46286         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46287         Reported by Ralf Wildenhues.
46288
46289 2009-05-03  Bruno Haible  <bruno@clisp.org>
46290
46291         * modules/fnmatch (Description, configure.ac): Taken from
46292         fnmatch-posix.
46293         * modules/fnmatch-posix: Turn into a symbolic reference to the
46294         'fnmatch' module, and deprecate.
46295         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46296
46297 2009-05-03  Bruno Haible  <bruno@clisp.org>
46298
46299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46300         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46301         Reported by Ralf Wildenhues.
46302
46303 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46304
46305         * m4/fnmatch.m4: Fix fnmatch re-define.
46306
46307 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46308
46309         priv-set: new module and tests; adapt write-any-file
46310         * lib/priv-set.c: New file.
46311         * lib/priv-set.h: New file.
46312         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46313         * lib/write-any-file.c: Simplify by using priv-set module.
46314         * m4/priv-set.m4: New file.
46315         * modules/priv-set: New file.
46316         * modules/unlinkdir: Add dependency on priv-set module.
46317         * modules/write-any-file: Likewise.
46318
46319         Tests for module 'priv-set'.
46320         * modules/priv-set-tests: New file.
46321         * tests/test-priv-set.c: New file.
46322
46323 2009-05-03  Jim Meyering  <meyering@redhat.com>
46324             Bruno Haible  <bruno@clisp.org>
46325
46326         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46327         use the converted UTF-8 variant of the name instead.
46328
46329 2009-05-03  Jim Meyering  <meyering@redhat.com>
46330
46331         tests: tighten some getdate tests
46332         * tests/test-getdate.c (main): Tighten tests: require equality,
46333         not just greater than.  Set TZ envvar to UTC0.
46334
46335 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46336
46337         getdate: correctly interpret "next monday" when run on a Monday
46338         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46339         that e.g., "next tues" (when run on a tuesday) results in a date
46340         that is one week in the future, and not today's date.
46341         I.e., add a week when the wday is the same as the current one.
46342         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46343         and earlier by Martin Bernreuther and Jan Minář.
46344         * tests/test-getdate.c (main): Check that "next DAY" is always in
46345         the future and that "last DAY" is always in the past.
46346
46347 2009-05-02  Jim Meyering  <meyering@redhat.com>
46348
46349         build: ensure that a release build fails when a submodule is unclean
46350         * top/maint.mk (no-submodule-changes): New rule.
46351         (alpha beta major): Depend on it.
46352
46353 2009-05-02  Bruno Haible  <bruno@clisp.org>
46354
46355         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46356         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46357         shell variable gl_fnmatch_required to detect which variant is
46358         requested.
46359         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46360         gl_FUNC_FNMATCH_POSIX.
46361         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46362         exclude fnmatch-posix.
46363
46364 2009-05-02  Bruno Haible  <bruno@clisp.org>
46365
46366         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46367         * modules/mbsrtowcs (License): Change to LGPLv2+.
46368         * modules/strnlen1 (License): Likewise.
46369         Reported by Simon Josefsson.
46370
46371 2009-05-02  Bruno Haible  <bruno@clisp.org>
46372
46373         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46374         "cross".
46375         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46376         gnulib-tool was called with option --source-base=lib.
46377
46378 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46379
46380         Use automake *-local hooks without commands, for extensibility.
46381         * modules/localcharset (Makefile.am): Rename install-exec-local
46382         rule to install-exec-localcharset, and make it a prerequisite of
46383         install-exec-local.  Likewise, rename the uninstall-local rule to
46384         uninstall-localcharset, and make it a prerequisite of the former.
46385
46386 2009-05-01  Bruno Haible  <bruno@clisp.org>
46387
46388         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46389         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46390         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46391         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46392         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46393         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46394         m4/locale-zh.m4, m4/codeset.m4.
46395
46396         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46397         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46398         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46399         m4/locale-zh.m4.
46400
46401         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46402         REPLACE_WCRTOMB if mbstate_t must be replaced.
46403         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46404         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46405
46406 2009-05-01  Bruno Haible  <bruno@clisp.org>
46407
46408         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46409         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46410         dngettext, dcngettext, textdomain, bindtextdomain,
46411         bind_textdomain_codeset): Undefine before redefining.
46412
46413 2009-04-30  Bruno Haible  <bruno@clisp.org>
46414
46415         Fix bug introduced on 2009-04-25.
46416         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46417         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46418         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46419         is defined.
46420         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46421         is defined.
46422         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46423         is defined.
46424         Reported by Elbert_Pol <elbert.pol@gmail.com>.
46425
46426 2009-04-28  Bruno Haible  <bruno@clisp.org>
46427
46428         Comment tweaks.
46429         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
46430         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
46431         * lib/unicase.h (u*_casexfrm): Likewise.
46432         Reported by Paolo Bonzini.
46433
46434 2009-04-28  Bruno Haible  <bruno@clisp.org>
46435
46436         Fix a compilation error.
46437         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
46438         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46439         Reported by Jim Meyering.
46440
46441 2009-04-27  Bruno Haible  <bruno@clisp.org>
46442
46443         New module 'libunistring'.
46444         * modules/libunistring: New file.
46445         * m4/libunistring.m4: New file.
46446         * MODULES.html.sh (Unicode string functions): Add it.
46447
46448 2009-04-27  Eric Blake  <ebb9@byu.net>
46449
46450         maint.mk: allow package-specific header to provide <config.h>
46451         * top/maint.mk (sc_require_config_h): New variable.
46452         (sc_require_config_h, sc_require_config_h_first): Use it.
46453
46454 2009-04-27  Simon Josefsson  <simon@josefsson.org>
46455
46456         * top/maint.mk (sc_avoid_if_before_free): Except
46457         useless-if-before-free script.
46458
46459 2009-04-27  Eric Blake  <ebb9@byu.net>
46460
46461         maintainer-makefile: depend on all required helper scripts
46462         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46463         useless-if-before-free.
46464         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46465         version, rather than assuming gnulib checkout is available.
46466         Reported by Simen Josefsson.
46467
46468 2009-04-26  Bruno Haible  <bruno@clisp.org>
46469
46470         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46471         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46472         "../" or "..".
46473
46474 2009-04-26  Bruno Haible  <bruno@clisp.org>
46475
46476         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46477         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46478         AC_LIB_HAVE_LINKFLAGS.
46479
46480 2009-04-26  Bruno Haible  <bruno@clisp.org>
46481
46482         Simplify calling convention of u*_conv_from_encoding.
46483         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46484         u32_conv_from_encoding): Expect a resultbuf argument and return the
46485         result directly as a pointer.
46486         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46487         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46488         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46489         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46490         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46491         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46492         Update.
46493         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46494         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46495         * lib/vasnprintf.c (VASNPRINTF): Update.
46496         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46497         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46498         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46499         * NEWS: Mention the change.
46500
46501 2009-04-26  Bruno Haible  <bruno@clisp.org>
46502
46503         Simplify calling convention of u*_conv_to_encoding.
46504         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46505         u32_conv_to_encoding): Expect a resultbuf argument and return the
46506         result directly as a pointer.
46507         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46508         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46509         freeing scaled_offsets if mem_iconveha failed.
46510         * lib/unicase/u-casexfrm.h (FUNC): Update.
46511         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46512         * lib/vasnprintf.c (VASNPRINTF): Update.
46513         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46514         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46515         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46516         * NEWS: Mention the change.
46517
46518 2009-04-26  Bruno Haible  <bruno@clisp.org>
46519
46520         Avoid test failures on AIX and OSF/1.
46521         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46522         malloc(0).
46523         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46524         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46525         Likewise.
46526         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46527         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46528         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46529         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46530         * doc/posix-functions/malloc.texi: Document the portability problem
46531         related to malloc(0).
46532
46533 2009-04-26  Bruno Haible  <bruno@clisp.org>
46534
46535         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46536         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46537         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46538
46539 2009-04-25  Bruno Haible  <bruno@clisp.org>
46540
46541         Avoid link error when creating a namespace clean library.
46542         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46543         as macro with arguments if already defined as an alias.
46544         * lib/signbitf.c (gl_signbitf): Don't undefine.
46545         * lib/signbitd.c (gl_signbitd): Don't undefine.
46546         * lib/signbitl.c (gl_signbitl): Don't undefine.
46547
46548 2009-04-25  Jim Meyering  <meyering@redhat.com>
46549
46550         vc-list-files: fix another quoting bug
46551         * build-aux/vc-list-files: Avoid sed backslash expansion
46552         of pathological directory names.
46553
46554 2009-04-25  Eric Blake  <ebb9@byu.net>
46555
46556         vc-list-files: fix shell quoting error
46557         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46558         timestamp.
46559
46560 2009-04-25  Jim Meyering  <meyering@redhat.com>
46561
46562         vc-list-files: restore lost functionality with subdir argument
46563         * build-aux/vc-list-files: When given a non-"." sub-directory
46564         argument, substitute the $dir/ prefix back onto each resulting name.
46565         Otherwise, coreutils' root_tests check would fail.
46566
46567 2009-04-24  Eric Blake  <ebb9@byu.net>
46568
46569         vc-list-files: ignore git symlinks
46570         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46571         than ls-files, to ignore git symlinks.
46572
46573         maint.mk: import improvements from m4
46574         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46575         (move_if_change): Delete unused macro.
46576         (news-date-check, vc-diff-check): Support VPATH builds.
46577         (announcement): Likewise.  Split --bootstrap-tools list...
46578         (boostrap-tools): ...into separate list, which can be overridden
46579         in cfg.mk.
46580         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46581         requiring dependency on useless-if-before-free module.
46582         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46583         Support VPATH builds.
46584
46585 2009-04-24  Jim Meyering  <meyering@redhat.com>
46586
46587         maint.mk: remove coreutils-specific rules and variables
46588         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46589         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46590         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46591
46592         maint.mk: remove obsolete rule
46593         * top/maint.mk (rel-check): Remove rule.
46594         (WGET, WGETFLAGS): Remove now-unused variables.
46595
46596 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46597
46598         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46599         consistency.
46600
46601         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46602         '$(PATH_SEPARATOR)' instead of ':'.
46603
46604 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46605
46606         * lib/getopt1.c (main): Use 'const' for static array.
46607
46608 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46609
46610         * top/maint.mk: Sync with coreutils.
46611         * NEWS: Explain incompatibilities.
46612
46613 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46614             Bruno Haible  <bruno@clisp.org>
46615
46616         Fix cross-compilation results.
46617         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46618         statement, as third argument of AC_TRY_RUN.
46619         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46620         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46621         Likewise.
46622         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46623         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46624         Likewise.
46625         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46626         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46627         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46628
46629 2009-04-20  Bruno Haible  <bruno@clisp.org>
46630
46631         Avoid test failure on mingw.
46632         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46633
46634 2009-04-20  Bruno Haible  <bruno@clisp.org>
46635
46636         Avoid compilation error on mingw.
46637         * modules/localename-tests (Depends-on): Add locale.
46638
46639 2009-04-19  Bruno Haible  <bruno@clisp.org>
46640
46641         Support for building a shared library on Windows platforms.
46642         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46643         (main): Test the presence of UNINORM_NFC here.
46644         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46645         (main): Test the presence of UNINORM_NFD here.
46646         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46647         (main): Test the presence of UNINORM_NFKC here.
46648         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46649         (main): Test the presence of UNINORM_NFKD here.
46650
46651 2009-04-19  Bruno Haible  <bruno@clisp.org>
46652
46653         Avoid a compiler warning.
46654         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46655         Change type of variable 'sequence'.
46656
46657 2009-04-19  Bruno Haible  <bruno@clisp.org>
46658
46659         * modules/configmake (Makefile.am): When the contents of configmake.h
46660         does not change, arrange to preserve its modification time.
46661
46662 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46663
46664         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46665         gettext domain.
46666
46667 2009-04-16  Jim Meyering  <meyering@redhat.com>
46668
46669         useless-if-before-free: improve conversion code
46670         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46671         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46672
46673 2009-04-14  Bruno Haible  <bruno@clisp.org>
46674
46675         * modules/fcntl (Depends-on): Add extensions.
46676         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46677
46678 2009-04-12  Ben Pfaff  <blp@gnu.org>
46679
46680         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46681         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46682
46683 2009-03-20  Ben Pfaff  <blp@gnu.org>
46684
46685         Make rename replace existing destinations on Windows.
46686         * m4/rename.m4: Add test for Mingw.
46687         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46688         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46689         * doc/posix-functions/rename.texi: Document.
46690
46691 2009-04-10  Bruno Haible  <bruno@clisp.org>
46692
46693         New include file "iconveh.h".
46694         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46695         * lib/striconveh.h: Include it.
46696         (enum iconv_ilseq_handler): Remove definition.
46697         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46698         striconveh.h.
46699         * lib/striconveha.c: Include striconveh.h.
46700         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46701         * modules/striconveh (Files): Add lib/iconveh.h.
46702         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46703         lib/striconveh.h.
46704
46705 2009-04-10  Bruno Haible  <bruno@clisp.org>
46706
46707         * lib/uniconv.h: Update comment.
46708
46709 2009-04-10  Bruno Haible  <bruno@clisp.org>
46710
46711         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46712         always.
46713         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46714         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46715         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46716         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46717         "unistring-notinline.h", so that the function gets defined always.
46718         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46719         * lib/unistr/u8-uctomb.c: Likewise.
46720         * lib/unistr/u16-mbtouc.c: Likewise.
46721         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46722         * lib/unistr/u16-uctomb.c: Likewise.
46723         * lib/unistr/u32-mbtouc.c: Likewise.
46724         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46725         * lib/unistr/u32-uctomb.c: Likewise.
46726
46727 2009-04-10  Bruno Haible  <bruno@clisp.org>
46728
46729         Mark 'utime' obsolete.
46730         * modules/utime (Status, Notice): New sections.
46731         Suggested by Jim Meyering.
46732
46733         Fix cross-compile guess for utime test.
46734         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46735         autoconf.
46736         * doc/posix-functions/utime.texi: Give more precisions.
46737         Reported by Jan <ipif@ymail.com>.
46738
46739 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46740
46741         filevercmp: correct today's change
46742         * lib/filevercmp.c: Also handle coreutils' test inputs.
46743         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46744
46745         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46746         for reporting it.
46747         * lib/filevercmp.c: Special handle for "", "." and "..".
46748         * tests/test-filevercmp.c: Enlarge the set suite.
46749
46750 2009-04-07  Jim Meyering  <meyering@redhat.com>
46751
46752         useless-if-before-free: show how to remove braced useless free, too
46753         * build-aux/useless-if-before-free: still only in a comment, though.
46754
46755 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46756
46757         maint.mk: import changes to syntax-check macros from coreutils
46758         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46759         Use them in the relevant macros.
46760
46761 2009-04-06  Bruno Haible  <bruno@clisp.org>
46762
46763         Fix unportable use of bit-fields.
46764         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46765         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46766         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46767
46768 2009-04-06  Bruno Haible  <bruno@clisp.org>
46769
46770         Avoid test failures on AIX and OSF/1.
46771         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46772         that malloc(0) = NULL.
46773         * tests/unicase/test-u8-tolower.c (check): Likewise.
46774         * tests/unicase/test-u8-totitle.c (check): Likewise.
46775         * tests/unicase/test-u8-toupper.c (check): Likewise.
46776         * tests/unicase/test-u16-casefold.c (check): Likewise.
46777         * tests/unicase/test-u16-tolower.c (check): Likewise.
46778         * tests/unicase/test-u16-totitle.c (check): Likewise.
46779         * tests/unicase/test-u16-toupper.c (check): Likewise.
46780         * tests/unicase/test-u32-casefold.c (check): Likewise.
46781         * tests/unicase/test-u32-tolower.c (check): Likewise.
46782         * tests/unicase/test-u32-totitle.c (check): Likewise.
46783         * tests/unicase/test-u32-toupper.c (check): Likewise.
46784         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46785         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46786         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46787         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46788         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46789         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46790         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46791         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46792         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46793         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46794         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46795         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46796
46797 2009-04-05  Bruno Haible  <bruno@clisp.org>
46798
46799         Work around an autoconf limitation.
46800         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46801         comment line if it would be longer than 3 KB.
46802
46803 2009-04-05  Bruno Haible  <bruno@clisp.org>
46804
46805         Avoid test failure with libiconv-1.13.
46806         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46807         of the expected test results.
46808
46809 2009-04-05  Bruno Haible  <bruno@clisp.org>
46810
46811         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46812         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46813         that it should be installed.
46814
46815 2009-04-05  Bruno Haible  <bruno@clisp.org>
46816
46817         * gnulib-tool: New option --copy-file.
46818         (func_usage): Document it.
46819         (func_dest_tmpfilename): Moved out of func_import.
46820         (func_add_file, func_update_file): New functions, extracted from
46821         func_import.
46822         (func_import): Update.
46823
46824 2009-04-05  Karl Berry  <karl@gnu.org>
46825
46826         * README: prominently mention gnulib-tool.
46827         Rearrange sections so getting the code is near the top.
46828
46829 2009-04-05  Bruno Haible  <bruno@clisp.org>
46830
46831         * lib/unicase.h: Mention u*_cmp2.
46832         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46833         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46834         * lib/unicase/ulc-casecmp.c: Likewise.
46835         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46836         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46837         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46838         unistr/u8-cmp.
46839         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46840         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46841         unistr/u16-cmp.
46842         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46843         unistr/u32-cmp.
46844
46845         * lib/uninorm.h: Mention u*_cmp2.
46846         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46847         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46848         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46849         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46850         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46851         unistr/u8-cmp.
46852         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46853         unistr/u16-cmp.
46854         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46855         unistr/u32-cmp.
46856
46857         New module 'unistr/u32-cmp2'.
46858         * lib/unistr/u32-cmp2.c: New file.
46859         * modules/unistr/u32-cmp2: New file.
46860
46861         New module 'unistr/u16-cmp2'.
46862         * lib/unistr/u16-cmp2.c: New file.
46863         * modules/unistr/u16-cmp2: New file.
46864
46865         New module 'unistr/u8-cmp2'.
46866         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46867         * lib/unistr/u8-cmp2.c: New file.
46868         * lib/unistr/u-cmp2.h: New file.
46869         * modules/unistr/u8-cmp2: New file.
46870
46871 2009-04-05  Bruno Haible  <bruno@clisp.org>
46872
46873         * lib/unictype.h (uc_property_is_valid): New macro.
46874         * tests/unictype/test-pr_byname.c (main): Use it.
46875
46876         * lib/unistr.h: Doc fixes.
46877         * lib/uniconv.h: Doc fixes.
46878         * lib/unictype.h: Doc fixes.
46879
46880 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46881
46882         Port coreutils 7.2 to Solaris 8.
46883
46884         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46885         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46886         for Solaris 8.  This is a bit of a hack, as it means it's the
46887         caller's responsibility to add -lnsl if needed, but most likely it
46888         won't be needed since only getaddrinfo uses this and getaddrinfo
46889         isn't needed on Solaris 8.
46890
46891         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46892         problem to Solaris 8 encountered with coreutils 7.2, which
46893         resulted in a message "fnmatch.c:292: warning: passing argument 4
46894         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46895         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46896
46897 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46898
46899         * m4/ld-version-script.m4: Add FIXME comment.
46900
46901 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46902
46903         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46904         SOVERSION variable.
46905
46906 2009-04-02  Bruno Haible  <bruno@clisp.org>
46907
46908         * Makefile (info, html, dvi, pdf): Combine the rules.
46909         Suggested by Jim Meyering.
46910
46911 2009-04-01  Bruno Haible  <bruno@clisp.org>
46912
46913         * Makefile (info, html, dvi, pdf): New targets.
46914         Reported by Reuben Thomas <rrt@sc3d.org>.
46915
46916 2009-04-01  Bruno Haible  <bruno@clisp.org>
46917
46918         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46919         can be put into PATH.
46920         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46921
46922 2009-04-01  Bruno Haible  <bruno@clisp.org>
46923
46924         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46925
46926 2009-04-01  Bruno Haible  <bruno@clisp.org>
46927
46928         Rename module 'visibility'.
46929         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46930         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46931         * doc/gnulib.texi: Update.
46932         * MODULES.html.sh (Misc): Update.
46933         * NEWS: Mention the change.
46934
46935 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46936
46937         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46938         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46939         Eric Blake <ebb9@byu.net> for review.
46940         * MODULES.html.sh: Add lib-msvc-compat.
46941         * doc/gnulib.texi: Link to new section.
46942         * m4/ld-output-def.m4: New file.
46943         * doc/ld-output-def.texi: New file.
46944
46945 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46946
46947         Rename ld-version-script to lib-symbol-versions.  Suggested by
46948         Bruno Haible <bruno@clisp.org>.
46949         * modules/ld-version-script: Renamed to lib-symbol-versions.
46950         * doc/ld-version-script.texi: Fix module name.
46951         * MODULES.html.sh: Add lib-symbol-versions.
46952
46953 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46954
46955         * modules/u64-tests: New file.
46956         * tests/test-u64.c: New file.
46957
46958 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46959
46960         * MODULES.html.sh: Mention u64.
46961         * modules/u64: New module.
46962         * modules/crypto/sha512: Depend on u64 module instead of providing
46963         u64.h.
46964
46965 2009-03-27  Eric Blake  <ebb9@byu.net>
46966
46967         test-strerror: make debugging EAI_SYSTEM easier
46968         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46969         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46970         failure was EAI_SYSTEM.
46971
46972 2009-03-25  Bruno Haible  <bruno@clisp.org>
46973
46974         Fix a problem with --enable-relocatable on Solaris 7.
46975         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46976         since 2008-02-24.
46977
46978 2009-03-25  Eric Blake  <ebb9@byu.net>
46979
46980         test-sockets: avoid gcc warning
46981         * tests/test-sockets.c (main): Silence compiler warning.
46982
46983 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46984
46985         New modules nproc, pthread, contributed by Glen Lenker.
46986
46987         * MODULES.html.sh: Add pthread, nproc.
46988         * lib/nproc.c: New file.
46989         * lib/nproc.h: New file.
46990         * lib/pthread.in.h: New file.
46991         * m4/pthread.m4: New file.
46992         * modules/nproc: New file.
46993         * modules/pthread: New file.
46994
46995 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46996
46997         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46998         New variable.
46999
47000 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
47001
47002         filevercmp: handle simple~ and numbered.~3~ backup suffixes
47003         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
47004         * tests/test-filevercmp.c: Add tests for backup suffixes.
47005
47006 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47007
47008         * modules/stdlib (Depends-on): Add stdint, needed when defining
47009         struct random_data on, for example, HP-UX 10.20.  Reported by
47010         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47011
47012 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47013
47014         * lib/readline.c (readline): Call fflush on stdout after printing
47015         prompt.
47016
47017 2009-03-20  Bruno Haible  <bruno@clisp.org>
47018
47019         Remove dependency from 'close' module to -lws2_32 on native Windows.
47020         * lib/close-hook.h: New file.
47021         * lib/close-hook.c: New file.
47022         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
47023         w32sock.h.
47024         (_gl_close_fd_maybe_socket): Remove function.
47025         (rpl_close): Invoke execute_all_close_hooks instead of
47026         _gl_close_fd_maybe_socket.
47027         * lib/sockets.c: Include close-hook.h, w32sock.h.
47028         (close_fd_maybe_socket): New function, essentially from lib/close.c.
47029         (close_sockets_hook): New variable.
47030         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
47031         (gl_sockets_cleanup): Unregister it.
47032         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
47033         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
47034         * modules/close-hook: New file.
47035         * modules/close (Files): Remove lib/w32sock.h.
47036         (Depends-on): Add close-hook.
47037         (Link): Remove section.
47038         * modules/sockets (Files): Add lib/w32sock.h.
47039         (Depends-on): Add close-hook.
47040         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
47041         invocation.
47042         * NEWS: Mention that LIB_CLOSE is gone.
47043
47044 2009-03-23  Eric Blake  <ebb9@byu.net>
47045
47046         signal-tests: test previous patch
47047         * tests/test-signal.c: New file.
47048         * modules/signal-tests: Likewise.
47049
47050         signal.h: always support 'volatile sig_atomic_t'
47051         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
47052         (gl_SIGNAL_H_DEFAULTS): Add a default.
47053         * modules/signal (Makefile.am): Substitute if needed.
47054         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
47055         users can blindly add volatile.
47056         * doc/posix-headers/signal.texi (signal.h): Document it.
47057         Reported by Matthew Woehlke.
47058
47059 2009-03-23  Jim Meyering  <meyering@redhat.com>
47060
47061         pathmax: PATH_MAX: use pathconf only when available
47062         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
47063         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
47064         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
47065         This avoids a link failure in a PSP cross-compilation environment
47066         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
47067
47068         * lib/vasnprintf.c (divide): Fix typo in comment.
47069
47070 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47071
47072         * gnulib-tool (func_filter_filelist): Fix comment.
47073
47074 2009-03-20  Bruno Haible  <bruno@clisp.org>
47075
47076         Make sockets.h self-contained.
47077         * lib/sockets.c: Include sockets.h first.
47078         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
47079
47080 2009-03-19  Eric Blake  <ebb9@byu.net>
47081
47082         doc: mention more functions added in cygwin 1.7.0
47083         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
47084         addition.
47085         * doc/posix-functions/log2f.texi: Likewise.
47086
47087 2009-03-19  Jim Meyering  <meyering@redhat.com>
47088
47089         fsusage: avoid syntax error due to statement-before-declaration
47090         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
47091         after all declarations.  Reported by Matthew Woehlke in
47092         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
47093
47094 2009-03-18  Eric Blake  <ebb9@byu.net>
47095
47096         build-aux/compile: sync from automake
47097         * build-aux/compile: New file, from automake.
47098         * config/srclist.txt: Mention build-aux/compile.
47099
47100 2009-03-17  Bruno Haible  <bruno@clisp.org>
47101
47102         * lib/git-merge-changelog.c: Fix typo in comment.
47103         Reported by Reuben Thomas <rrt@sc3d.org>.
47104
47105 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
47106
47107         * m4/regex.m4: update and improve help for
47108         --without-included-regex.
47109
47110 2009-03-17  Simon Josefsson  <simon@josefsson.org>
47111
47112         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
47113         failure on missing include files.
47114
47115 2009-03-17  Eric Blake  <ebb9@byu.net>
47116
47117         doc: mention more functions added in cygwin 1.7.0
47118         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
47119         addition.
47120         * doc/posix-functions/fwscanf.texi: Likewise.
47121         * doc/posix-functions/swprintf.texi: Likewise.
47122         * doc/posix-functions/swscanf.texi: Likewise.
47123         * doc/posix-functions/vfwprintf.texi: Likewise.
47124         * doc/posix-functions/vfwscanf.texi: Likewise.
47125         * doc/posix-functions/vswprintf.texi: Likewise.
47126         * doc/posix-functions/vswscanf.texi: Likewise.
47127         * doc/posix-functions/vwprintf.texi: Likewise.
47128         * doc/posix-functions/vwscanf.texi: Likewise.
47129         * doc/posix-functions/wcscasecmp.texi: Likewise.
47130         * doc/posix-functions/wcsdup.texi: Likewise.
47131         * doc/posix-functions/wcsftime.texi: Likewise.
47132         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47133         * doc/posix-functions/wprintf.texi: Likewise.
47134         * doc/posix-functions/wscanf.texi: Likewise.
47135         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47136
47137 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47138
47139         maint.mk: really add $(AM_MAKEFLAGS)
47140         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47141         was inadvertently omitted in the last commit.
47142         Spotted by Bruno Haible.
47143
47144         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47145         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47146         $(AM_MAKEFLAGS)' rather than plain `make'.
47147
47148         gnulib-tool: execute $MAKE not make
47149         * gnulib-tool: Default $MAKE to 'make'.
47150         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47151         than make.  Initialize $MAKE in the do-autobuild script.
47152
47153         gnulib-tool: use $MAKE not make in generated files
47154         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47155         make, in generated files.  Initialize $MAKE in the do-autobuild
47156         script.
47157
47158         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47159
47160         GNUmakefile: disable parallelism only for multiple, recursive targets
47161         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47162         additions in the Makefile.
47163         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47164         by Automake.
47165         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47166         are listed on the command line and at least one of them is
47167         listed in $(ALL_RECURSIVE_TARGETS).
47168
47169 2009-03-14  Bruno Haible  <bruno@clisp.org>
47170
47171         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47172         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47173         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47174         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47175         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47176         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47177         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47178         unistr/u8-uctomb.
47179         * modules/unistr/u8-strchr (Depends-on): Likewise.
47180         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47181         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47182         unistr/u16-uctomb.
47183         * modules/unistr/u16-strchr (Depends-on): Likewise.
47184         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47185
47186 2009-03-12  Bruno Haible  <bruno@clisp.org>
47187
47188         Work around select() bug on Interix 3.5.
47189         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47190         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47191         * m4/select.m4: New file.
47192         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47193         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47194         * modules/select (Files): Add m4/select.m4.
47195         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47196         * modules/nanosleep (Depends-on): Add select.
47197         * modules/poll (Depends-on): Likewise.
47198         * doc/posix-functions/select.texi: Mention the Interix bug.
47199         Reported by Markus Duft <mduft@gentoo.org>.
47200
47201         * lib/select.c: Renamed from lib/winsock-select.c.
47202         * modules/select (Files): Add lib/select.c, remove
47203         lib/winsock-select.c.
47204         (configure.ac): Update.
47205
47206 2009-03-12  Jim Meyering  <meyering@redhat.com>
47207
47208         avoid gcc warnings about unused macro definitions
47209         * lib/readtokens.c (STREQ): Remove unused definition.
47210         * lib/xmalloc.c (SIZE_MAX): Likewise.
47211         * lib/openat-die.c (N_): Likewise.
47212         * lib/mountlist.c (SIZE_MAX): Remove definition.
47213         Instead, include <stdint.h>.
47214         * lib/readutmp.c: Likewise.
47215         * modules/readutmp (Depends-on): Add stdint.
47216         * modules/mountlist (Depends-on): Add stdint.
47217         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47218
47219 2009-03-10  Bruno Haible  <bruno@clisp.org>
47220
47221         Tests for module 'mbmemcasecoll'.
47222         * modules/mbmemcasecoll-tests: New file.
47223         * tests/test-mbmemcasecoll1.sh: New file.
47224         * tests/test-mbmemcasecoll2.sh: New file.
47225         * tests/test-mbmemcasecoll3.sh: New file.
47226         * tests/test-mbmemcasecoll.c: New file.
47227
47228         New module 'mbmemcasecoll'.
47229         * lib/mbmemcasecoll.h: New file.
47230         * lib/mbmemcasecoll.c: New file.
47231         * modules/mbmemcasecoll: New file.
47232
47233         * tests/test-mbmemcasecmp.h: New file, extracted from
47234         tests/test-mbmemcasecmp.c.
47235         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47236         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47237         (main): Update.
47238         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47239
47240 2009-03-09  Bruno Haible  <bruno@clisp.org>
47241
47242         Tests for module 'mbmemcasecmp'.
47243         * modules/mbmemcasecmp-tests: New file.
47244         * tests/test-mbmemcasecmp1.sh: New file.
47245         * tests/test-mbmemcasecmp2.sh: New file.
47246         * tests/test-mbmemcasecmp3.sh: New file.
47247         * tests/test-mbmemcasecmp.c: New file.
47248
47249         New module 'mbmemcasecmp'.
47250         * lib/mbmemcasecmp.h: New file.
47251         * lib/mbmemcasecmp.c: New file.
47252         * modules/mbmemcasecmp: New file.
47253
47254 2009-03-09  Bruno Haible  <bruno@clisp.org>
47255
47256         Tests for module 'unicase/ulc-casecoll'.
47257         * modules/unicase/ulc-casecoll-tests: New file.
47258         * tests/unicase/test-ulc-casecoll1.sh: New file.
47259         * tests/unicase/test-ulc-casecoll2.sh: New file.
47260         * tests/unicase/test-ulc-casecoll.c: New file.
47261
47262         New module 'unicase/ulc-casecoll'.
47263         * lib/unicase.h (ulc_casecoll): New declaration.
47264         * lib/unicase/ulc-casecoll.c: New file.
47265         * modules/unicase/ulc-casecoll: New file.
47266
47267         New module 'unicase/ulc-casexfrm'.
47268         * lib/unicase.h (ulc_casexfrm): New declaration.
47269         * lib/unicase/ulc-casexfrm.c: New file.
47270         * modules/unicase/ulc-casexfrm: New file.
47271
47272 2009-03-09  Bruno Haible  <bruno@clisp.org>
47273
47274         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47275         invocations.
47276
47277         * m4/mbscasecmp.m4: Remove file.
47278         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47279         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47280
47281         * m4/mbscasestr.m4: Remove file.
47282         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47283         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47284
47285         * m4/mbschr.m4: Remove file.
47286         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47287         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47288
47289         * m4/mbscspn.m4: Remove file.
47290         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47291         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47292
47293         * m4/mbslen.m4: Remove file.
47294         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47295         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47296
47297         * m4/mbsncasecmp.m4: Remove file.
47298         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47299         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47300
47301         * m4/mbsnlen.m4: Remove file.
47302         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47303         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47304
47305         * m4/mbspbrk.m4: Remove file.
47306         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47307         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47308
47309         * m4/mbspcasecmp.m4: Remove file.
47310         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47311         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47312
47313         * m4/mbsrchr.m4: Remove file.
47314         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47315         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47316
47317         * m4/mbssep.m4: Remove file.
47318         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47319         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47320
47321         * m4/mbsspn.m4: Remove file.
47322         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47323         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47324
47325         * m4/mbsstr.m4: Remove file.
47326         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47327         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47328
47329         * m4/mbstok_r.m4: Remove file.
47330         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47331         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47332
47333         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47334
47335         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47336         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47337
47338         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47339
47340 2009-03-08  Bruno Haible  <bruno@clisp.org>
47341
47342         Tests for module 'unicase/ulc-casecmp'.
47343         * modules/unicase/ulc-casecmp-tests: New file.
47344         * tests/unicase/test-ulc-casecmp1.sh: New file.
47345         * tests/unicase/test-ulc-casecmp2.sh: New file.
47346         * tests/unicase/test-ulc-casecmp.c: New file.
47347
47348         New module 'unicase/ulc-casecmp'.
47349         * lib/unicase.h (ulc_casecmp): New declaration.
47350         * lib/unicase/ulc-casecmp.c: New file.
47351         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47352         'const SRC_UNIT *'.
47353         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47354         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47355         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47356         * modules/unicase/ulc-casecmp: New file.
47357
47358         Tests for module 'unicase/u32-is-cased'.
47359         * modules/unicase/u32-is-cased-tests: New file.
47360         * tests/unicase/test-u32-is-cased.c: New file.
47361
47362         Tests for module 'unicase/u16-is-cased'.
47363         * modules/unicase/u16-is-cased-tests: New file.
47364         * tests/unicase/test-u16-is-cased.c: New file.
47365
47366         Tests for module 'unicase/u8-is-cased'.
47367         * modules/unicase/u8-is-cased-tests: New file.
47368         * tests/unicase/test-u8-is-cased.c: New file.
47369         * tests/unicase/test-is-cased.h: New file.
47370
47371         New module 'unicase/u32-is-cased'.
47372         * lib/unicase/u32-is-cased.c: New file.
47373         * modules/unicase/u32-is-cased: New file.
47374
47375         New module 'unicase/u16-is-cased'.
47376         * lib/unicase/u16-is-cased.c: New file.
47377         * modules/unicase/u16-is-cased: New file.
47378
47379         New module 'unicase/u8-is-cased'.
47380         * lib/unicase/u8-is-cased.c: New file.
47381         * lib/unicase/u-is-cased.h: New file.
47382         * modules/unicase/u8-is-cased: New file.
47383
47384         Tests for module 'unicase/u32-is-casefolded'.
47385         * modules/unicase/u32-is-casefolded-tests: New file.
47386         * tests/unicase/test-u32-is-casefolded.c: New file.
47387
47388         Tests for module 'unicase/u16-is-casefolded'.
47389         * modules/unicase/u16-is-casefolded-tests: New file.
47390         * tests/unicase/test-u16-is-casefolded.c: New file.
47391
47392         Tests for module 'unicase/u8-is-casefolded'.
47393         * modules/unicase/u8-is-casefolded-tests: New file.
47394         * tests/unicase/test-u8-is-casefolded.c: New file.
47395         * tests/unicase/test-is-casefolded.h: New file.
47396
47397         New module 'unicase/u32-is-casefolded'.
47398         * lib/unicase/u32-is-casefolded.c: New file.
47399         * modules/unicase/u32-is-casefolded: New file.
47400
47401         New module 'unicase/u16-is-casefolded'.
47402         * lib/unicase/u16-is-casefolded.c: New file.
47403         * modules/unicase/u16-is-casefolded: New file.
47404
47405         New module 'unicase/u8-is-casefolded'.
47406         * lib/unicase/u8-is-casefolded.c: New file.
47407         * modules/unicase/u8-is-casefolded: New file.
47408
47409         Tests for module 'unicase/u32-is-titlecase'.
47410         * modules/unicase/u32-is-titlecase-tests: New file.
47411         * tests/unicase/test-u32-is-titlecase.c: New file.
47412
47413         Tests for module 'unicase/u16-is-titlecase'.
47414         * modules/unicase/u16-is-titlecase-tests: New file.
47415         * tests/unicase/test-u16-is-titlecase.c: New file.
47416
47417         Tests for module 'unicase/u8-is-titlecase'.
47418         * modules/unicase/u8-is-titlecase-tests: New file.
47419         * tests/unicase/test-u8-is-titlecase.c: New file.
47420         * tests/unicase/test-is-titlecase.h: New file.
47421
47422         New module 'unicase/u32-is-titlecase'.
47423         * lib/unicase/u32-is-titlecase.c: New file.
47424         * modules/unicase/u32-is-titlecase: New file.
47425
47426         New module 'unicase/u16-is-titlecase'.
47427         * lib/unicase/u16-is-titlecase.c: New file.
47428         * modules/unicase/u16-is-titlecase: New file.
47429
47430         New module 'unicase/u8-is-titlecase'.
47431         * lib/unicase/u8-is-titlecase.c: New file.
47432         * modules/unicase/u8-is-titlecase: New file.
47433
47434         Tests for module 'unicase/u32-is-lowercase'.
47435         * modules/unicase/u32-is-lowercase-tests: New file.
47436         * tests/unicase/test-u32-is-lowercase.c: New file.
47437
47438         Tests for module 'unicase/u16-is-lowercase'.
47439         * modules/unicase/u16-is-lowercase-tests: New file.
47440         * tests/unicase/test-u16-is-lowercase.c: New file.
47441
47442         Tests for module 'unicase/u8-is-lowercase'.
47443         * modules/unicase/u8-is-lowercase-tests: New file.
47444         * tests/unicase/test-u8-is-lowercase.c: New file.
47445         * tests/unicase/test-is-lowercase.h: New file.
47446
47447         New module 'unicase/u32-is-lowercase'.
47448         * lib/unicase/u32-is-lowercase.c: New file.
47449         * modules/unicase/u32-is-lowercase: New file.
47450
47451         New module 'unicase/u16-is-lowercase'.
47452         * lib/unicase/u16-is-lowercase.c: New file.
47453         * modules/unicase/u16-is-lowercase: New file.
47454
47455         New module 'unicase/u8-is-lowercase'.
47456         * lib/unicase/u8-is-lowercase.c: New file.
47457         * modules/unicase/u8-is-lowercase: New file.
47458
47459         Tests for module 'unicase/u32-is-uppercase'.
47460         * modules/unicase/u32-is-uppercase-tests: New file.
47461         * tests/unicase/test-u32-is-uppercase.c: New file.
47462
47463         Tests for module 'unicase/u16-is-uppercase'.
47464         * modules/unicase/u16-is-uppercase-tests: New file.
47465         * tests/unicase/test-u16-is-uppercase.c: New file.
47466
47467         Tests for module 'unicase/u8-is-uppercase'.
47468         * modules/unicase/u8-is-uppercase-tests: New file.
47469         * tests/unicase/test-u8-is-uppercase.c: New file.
47470         * tests/unicase/test-is-uppercase.h: New file.
47471
47472         New module 'unicase/u32-is-uppercase'.
47473         * lib/unicase/u32-is-uppercase.c: New file.
47474         * modules/unicase/u32-is-uppercase: New file.
47475
47476         New module 'unicase/u16-is-uppercase'.
47477         * lib/unicase/u16-is-uppercase.c: New file.
47478         * modules/unicase/u16-is-uppercase: New file.
47479
47480         New module 'unicase/u8-is-uppercase'.
47481         * lib/unicase/u8-is-uppercase.c: New file.
47482         * modules/unicase/u8-is-uppercase: New file.
47483
47484         New module 'unicase/u32-is-invariant'.
47485         * lib/unicase/u32-is-invariant.c: New file.
47486         * modules/unicase/u32-is-invariant: New file.
47487
47488         New module 'unicase/u16-is-invariant'.
47489         * lib/unicase/u16-is-invariant.c: New file.
47490         * modules/unicase/u16-is-invariant: New file.
47491
47492         New module 'unicase/u8-is-invariant'.
47493         * lib/unicase/u8-is-invariant.c: New file.
47494         * lib/unicase/invariant.h: New file.
47495         * lib/unicase/u-is-invariant.h: New file.
47496         * modules/unicase/u8-is-invariant: New file.
47497
47498         Tests for module 'unicase/u32-casecoll'.
47499         * modules/unicase/u32-casecoll-tests: New file.
47500         * tests/unicase/test-u32-casecoll.c: New file.
47501
47502         Tests for module 'unicase/u16-casecoll'.
47503         * modules/unicase/u16-casecoll-tests: New file.
47504         * tests/unicase/test-u16-casecoll.c: New file.
47505
47506         Tests for module 'unicase/u8-casecoll'.
47507         * modules/unicase/u8-casecoll-tests: New file.
47508         * tests/unicase/test-u8-casecoll.c: New file.
47509
47510         New module 'unicase/u32-casecoll'.
47511         * lib/unicase/u32-casecoll.c: New file.
47512         * modules/unicase/u32-casecoll: New file.
47513
47514         New module 'unicase/u16-casecoll'.
47515         * lib/unicase/u16-casecoll.c: New file.
47516         * modules/unicase/u16-casecoll: New file.
47517
47518         New module 'unicase/u8-casecoll'.
47519         * lib/unicase/u8-casecoll.c: New file.
47520         * lib/unicase/u-casecoll.h: New file.
47521         * modules/unicase/u8-casecoll: New file.
47522
47523         New module 'unicase/u32-casexfrm'.
47524         * lib/unicase/u32-casexfrm.c: New file.
47525         * modules/unicase/u32-casexfrm: New file.
47526
47527         New module 'unicase/u16-casexfrm'.
47528         * lib/unicase/u16-casexfrm.c: New file.
47529         * modules/unicase/u16-casexfrm: New file.
47530
47531         New module 'unicase/u8-casexfrm'.
47532         * lib/unicase/u8-casexfrm.c: New file.
47533         * lib/unicase/u-casexfrm.h: New file.
47534         * modules/unicase/u8-casexfrm: New file.
47535
47536         Tests for module 'unicase/u32-casecmp'.
47537         * modules/unicase/u32-casecmp-tests: New file.
47538         * tests/unicase/test-u32-casecmp.c: New file.
47539
47540         Tests for module 'unicase/u16-casecmp'.
47541         * modules/unicase/u16-casecmp-tests: New file.
47542         * tests/unicase/test-u16-casecmp.c: New file.
47543
47544         Tests for module 'unicase/u8-casecmp'.
47545         * modules/unicase/u8-casecmp-tests: New file.
47546         * tests/unicase/test-u8-casecmp.c: New file.
47547         * tests/unicase/test-casecmp.h: New file.
47548
47549         New module 'unicase/u32-casecmp'.
47550         * lib/unicase/u32-casecmp.c: New file.
47551         * modules/unicase/u32-casecmp: New file.
47552
47553         New module 'unicase/u16-casecmp'.
47554         * lib/unicase/u16-casecmp.c: New file.
47555         * modules/unicase/u16-casecmp: New file.
47556
47557         New module 'unicase/u8-casecmp'.
47558         * lib/unicase/u8-casecmp.c: New file.
47559         * lib/unicase/u-casecmp.h: New file.
47560         * modules/unicase/u8-casecmp: New file.
47561
47562         Tests for module 'unicase/u32-casefold'.
47563         * modules/unicase/u32-casefold-tests: New file.
47564         * tests/unicase/test-u32-casefold.c: New file.
47565
47566         Tests for module 'unicase/u16-casefold'.
47567         * modules/unicase/u16-casefold-tests: New file.
47568         * tests/unicase/test-u16-casefold.c: New file.
47569
47570         Tests for module 'unicase/u8-casefold'.
47571         * modules/unicase/u8-casefold-tests: New file.
47572         * tests/unicase/test-u8-casefold.c: New file.
47573
47574         New module 'unicase/u32-casefold'.
47575         * lib/unicase/u32-casefold.c: New file.
47576         * modules/unicase/u32-casefold: New file.
47577
47578         New module 'unicase/u16-casefold'.
47579         * lib/unicase/u16-casefold.c: New file.
47580         * modules/unicase/u16-casefold: New file.
47581
47582         New module 'unicase/u8-casefold'.
47583         * lib/unicase/u8-casefold.c: New file.
47584         * lib/unicase/u-casefold.h: New file.
47585         * modules/unicase/u8-casefold: New file.
47586
47587         New module 'unicase/tocasefold'.
47588         * lib/unicase/casefold.h: New file.
47589         * lib/unicase/tocasefold.c: New file.
47590         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47591         * modules/unicase/tocasefold: New file.
47592
47593         Tests for module 'unicase/u32-totitle'.
47594         * modules/unicase/u32-totitle-tests: New file.
47595         * tests/unicase/test-u32-totitle.c: New file.
47596
47597         Tests for module 'unicase/u16-totitle'.
47598         * modules/unicase/u16-totitle-tests: New file.
47599         * tests/unicase/test-u16-totitle.c: New file.
47600
47601         Tests for module 'unicase/u8-totitle'.
47602         * modules/unicase/u8-totitle-tests: New file.
47603         * tests/unicase/test-u8-totitle.c: New file.
47604
47605         New module 'unicase/u32-totitle'.
47606         * lib/unicase/u32-totitle.c: New file.
47607         * modules/unicase/u32-totitle: New file.
47608
47609         New module 'unicase/u16-totitle'.
47610         * lib/unicase/u16-totitle.c: New file.
47611         * modules/unicase/u16-totitle: New file.
47612
47613         New module 'unicase/u8-totitle'.
47614         * lib/unicase/u8-totitle.c: New file.
47615         * lib/unicase/u-totitle.h: New file.
47616         * modules/unicase/u8-totitle: New file.
47617
47618         Tests for module 'unicase/u32-tolower'.
47619         * modules/unicase/u32-tolower-tests: New file.
47620         * tests/unicase/test-u32-tolower.c: New file.
47621
47622         Tests for module 'unicase/u16-tolower'.
47623         * modules/unicase/u16-tolower-tests: New file.
47624         * tests/unicase/test-u16-tolower.c: New file.
47625
47626         Tests for module 'unicase/u8-tolower'.
47627         * modules/unicase/u8-tolower-tests: New file.
47628         * tests/unicase/test-u8-tolower.c: New file.
47629
47630         New module 'unicase/u32-tolower'.
47631         * lib/unicase/u32-tolower.c: New file.
47632         * modules/unicase/u32-tolower: New file.
47633
47634         New module 'unicase/u16-tolower'.
47635         * lib/unicase/u16-tolower.c: New file.
47636         * modules/unicase/u16-tolower: New file.
47637
47638         New module 'unicase/u8-tolower'.
47639         * lib/unicase/u8-tolower.c: New file.
47640         * modules/unicase/u8-tolower: New file.
47641
47642         Tests for module 'unicase/u32-toupper'.
47643         * modules/unicase/u32-toupper-tests: New file.
47644         * tests/unicase/test-u32-toupper.c: New file.
47645
47646         Tests for module 'unicase/u16-toupper'.
47647         * modules/unicase/u16-toupper-tests: New file.
47648         * tests/unicase/test-u16-toupper.c: New file.
47649
47650         Tests for module 'unicase/u8-toupper'.
47651         * modules/unicase/u8-toupper-tests: New file.
47652         * tests/unicase/test-u8-toupper.c: New file.
47653
47654         New module 'unicase/u32-toupper'.
47655         * lib/unicase/u32-toupper.c: New file.
47656         * modules/unicase/u32-toupper: New file.
47657
47658         New module 'unicase/u16-toupper'.
47659         * lib/unicase/u16-toupper.c: New file.
47660         * modules/unicase/u16-toupper: New file.
47661
47662         New module 'unicase/u8-toupper'.
47663         * lib/unicase/u8-toupper.c: New file.
47664         * modules/unicase/u8-toupper: New file.
47665
47666         New module 'unicase/u32-casemap'.
47667         * lib/unicase/u32-casemap.c: New file.
47668         * modules/unicase/u32-casemap: New file.
47669
47670         New module 'unicase/u16-casemap'.
47671         * lib/unicase/u16-casemap.c: New file.
47672         * modules/unicase/u16-casemap: New file.
47673
47674         New module 'unicase/u8-casemap'.
47675         * lib/unicase/unicasemap.h: New file.
47676         * lib/unicase/u8-casemap.c: New file.
47677         * lib/unicase/u-casemap.h: New file.
47678         * modules/unicase/u8-casemap: New file.
47679
47680         New module 'unicase/special-casing'.
47681         * lib/unicase/special-casing.h: New file.
47682         * lib/unicase/special-casing.c: New file.
47683         * lib/unicase/special-casing-table.gperf: New file, generated by
47684         gen-uni-tables.c.
47685         * modules/unicase/special-casing: New file.
47686
47687         Tests for module 'unicase/locale-language'.
47688         * modules/unicase/locale-language-tests: New file.
47689         * tests/unicase/test-locale-language.sh: New file.
47690         * tests/unicase/test-locale-language.c: New file.
47691
47692         New module 'unicase/locale-language'.
47693         * lib/unicase/locale-language.c: New file.
47694         * lib/unicase/locale-languages.gperf: New file.
47695         * modules/unicase/locale-language: New file.
47696
47697         Generate more tables for case conversion and case folding.
47698         * lib/gen-uni-tables.c (SCC_*): New enum items.
47699         (struct special_casing_rule): New type.
47700         (casing_rules, num_casing_rules, allocated_casing_rules): New
47701         variables.
47702         (add_casing_rule, fill_casing_rules): New functions.
47703         (struct casefold_rule): New type.
47704         (casefolding_rules, num_casefolding_rules,
47705         allocated_casefolding_rules): New variables.
47706         (fill_casefolding_rules): New function.
47707         (unicode_casefold): New variable.
47708         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47709         sort_casing_rules, output_casing_rules): New functions.
47710         (main): Accept to more arguments: SpecialCasing.txt and
47711         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47712         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47713         Output mapping for casefolding.
47714
47715         * lib/unicase.h: Include stdbool.h, uninorm.h.
47716         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47717         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47718         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47719         arguments.
47720         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47721         resultp arguments.
47722         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47723         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47724         resultp arguments.
47725         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47726         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47727         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47728         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47729         declarations.
47730         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47731
47732 2009-03-08  Bruno Haible  <bruno@clisp.org>
47733
47734         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47735         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47736         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47737         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47738
47739 2009-03-07  Bruno Haible  <bruno@clisp.org>
47740
47741         Adjust u*_normcmp, u*_normcoll API.
47742         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47743         u16_normcoll, u32_normcoll): Change failure conventions.
47744         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47745         errno and return -1.
47746         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47747
47748 2009-03-07  Bruno Haible  <bruno@clisp.org>
47749
47750         Tests for module 'uninorm/u32-normcoll'.
47751         * modules/uninorm/u32-normcoll-tests: New file.
47752         * tests/uninorm/test-u32-normcoll.c: New file.
47753
47754         Tests for module 'uninorm/u16-normcoll'.
47755         * modules/uninorm/u16-normcoll-tests: New file.
47756         * tests/uninorm/test-u16-normcoll.c: New file.
47757
47758         Tests for module 'uninorm/u8-normcoll'.
47759         * modules/uninorm/u8-normcoll-tests: New file.
47760         * tests/uninorm/test-u8-normcoll.c: New file.
47761
47762 2009-03-07  Bruno Haible  <bruno@clisp.org>
47763
47764         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47765         tests/uninorm/test-u32-normcmp.c.
47766         * tests/uninorm/test-u32-normcmp.c: Include it.
47767         (test_nonascii): New function, extracted from main. Add some more
47768         tests.
47769         (main): Invoke test_ascii and test_nonascii.
47770         * modules/uninorm/u32-normcmp-tests (Files): Add
47771         tests/uninorm/test-u32-normcmp.h.
47772         (Depends-on): Remove uninorm/u32-normcmp.
47773
47774         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47775         tests/uninorm/test-u16-normcmp.c.
47776         * tests/uninorm/test-u16-normcmp.c: Include it.
47777         (test_nonascii): New function, extracted from main. Add some more
47778         tests.
47779         (main): Invoke test_ascii and test_nonascii.
47780         * modules/uninorm/u16-normcmp-tests (Files): Add
47781         tests/uninorm/test-u16-normcmp.h.
47782         (Depends-on): Remove uninorm/u16-normcmp.
47783
47784         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47785         tests/uninorm/test-u8-normcmp.c.
47786         * tests/uninorm/test-u8-normcmp.c: Include it.
47787         (test_nonascii): New function, extracted from main. Add some more
47788         tests.
47789         (main): Invoke test_ascii and test_nonascii.
47790         * modules/uninorm/u8-normcmp-tests (Files): Add
47791         tests/uninorm/test-u8-normcmp.h.
47792         (Depends-on): Remove uninorm/u8-normcmp.
47793
47794 2009-03-07  Bruno Haible  <bruno@clisp.org>
47795
47796         New module 'uninorm/u32-normcoll'.
47797         * lib/uninorm/u32-normcoll.c: New file.
47798         * modules/uninorm/u32-normcoll: New file.
47799
47800         New module 'uninorm/u16-normcoll'.
47801         * lib/uninorm/u16-normcoll.c: New file.
47802         * modules/uninorm/u16-normcoll: New file.
47803
47804         New module 'uninorm/u8-normcoll'.
47805         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47806         declarations.
47807         * lib/uninorm/u8-normcoll.c: New file.
47808         * lib/uninorm/u-normcoll.h: New file.
47809         * modules/uninorm/u8-normcoll: New file.
47810
47811         New module 'uninorm/u32-normxfrm'.
47812         * lib/uninorm/u32-normxfrm.c: New file.
47813         * modules/uninorm/u32-normxfrm: New file.
47814
47815         New module 'uninorm/u16-normxfrm'.
47816         * lib/uninorm/u16-normxfrm.c: New file.
47817         * modules/uninorm/u16-normxfrm: New file.
47818
47819         New module 'uninorm/u8-normxfrm'.
47820         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47821         declarations.
47822         * lib/uninorm/u8-normxfrm.c: New file.
47823         * lib/uninorm/u-normxfrm.h: New file.
47824         * modules/uninorm/u8-normxfrm: New file.
47825
47826 2009-03-07  Bruno Haible  <bruno@clisp.org>
47827
47828         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47829         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47830         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47831
47832 2009-03-07  Bruno Haible  <bruno@clisp.org>
47833
47834         New module 'memxfrm'.
47835         * lib/memxfrm.h: New file.
47836         * lib/memxfrm.c: New file.
47837         * modules/memxfrm: New file.
47838
47839 2009-03-07  Bruno Haible  <bruno@clisp.org>
47840
47841         New module 'memcmp2'.
47842         * lib/memcmp2.h: New file.
47843         * lib/memcmp2.c: New file.
47844         * modules/memcmp2: New file.
47845
47846 2009-03-07  Bruno Haible  <bruno@clisp.org>
47847
47848         Tests for module 'uninorm/decomposing-form'.
47849         * modules/uninorm/decomposing-form-tests: New file.
47850         * tests/uninorm/test-decomposing-form.c: New file.
47851
47852         New module 'uninorm/decomposing-form'.
47853         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47854         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47855         Add 'decomposing_variant' field.
47856         * lib/uninorm/decomposing-form.c: New file.
47857         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47858         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47859         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47860         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47861         * modules/uninorm/decomposing-form: New file.
47862         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47863         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47864
47865 2009-03-07  Bruno Haible  <bruno@clisp.org>
47866
47867         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47868         strings.
47869
47870 2009-03-06  Bruno Haible  <bruno@clisp.org>
47871
47872         Tests for module 'uninorm/u32-normcmp'.
47873         * tests/uninorm/test-u32-normcmp.c: New file.
47874         * modules/uninorm/u32-normcmp-tests: New file.
47875
47876         Tests for module 'uninorm/u16-normcmp'.
47877         * tests/uninorm/test-u16-normcmp.c: New file.
47878         * modules/uninorm/u16-normcmp-tests: New file.
47879
47880         Tests for module 'uninorm/u8-normcmp'.
47881         * tests/uninorm/test-u8-normcmp.c: New file.
47882         * modules/uninorm/u8-normcmp-tests: New file.
47883
47884         New module 'uninorm/u32-normcmp'.
47885         * lib/uninorm/u32-normcmp.c: New file.
47886         * modules/uninorm/u32-normcmp: New file.
47887
47888         New module 'uninorm/u16-normcmp'.
47889         * lib/uninorm/u16-normcmp.c: New file.
47890         * modules/uninorm/u16-normcmp: New file.
47891
47892         New module 'uninorm/u8-normcmp'.
47893         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47894         declarations.
47895         * lib/uninorm/u8-normcmp.c: New file.
47896         * lib/uninorm/u-normcmp.h: New file.
47897         * modules/uninorm/u8-normcmp: New file.
47898
47899 2009-03-06  Bruno Haible  <bruno@clisp.org>
47900
47901         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47902         Reported by Eric Blake.
47903
47904 2009-03-06  Eric Blake  <ebb9@byu.net>
47905             Bruno Haible  <bruno@clisp.org>
47906
47907         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47908         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47909         condition.
47910         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47911         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47912         condition.
47913         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47914
47915 2009-03-06  Eric Blake  <ebb9@byu.net>
47916
47917         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47918         to avoid compiler warnings.
47919         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47920
47921 2009-03-05  Bruno Haible  <bruno@clisp.org>
47922
47923         * tests/test-ftell.c (main): Disable test beyond end of file on
47924         FreeMiNT.
47925         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47926
47927 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47928
47929         * lib/filevercmp.c: Move hidden files up in ordering.
47930         * tests/test-filevercmp.c: Add tests for hidden files.
47931
47932 2009-03-04  Bruno Haible  <bruno@clisp.org>
47933
47934         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47935         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47936         AM_CFLAGS.
47937         Reported by Simon Josefsson.
47938
47939 2009-03-03  Bruno Haible  <bruno@clisp.org>
47940
47941         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47942         Reported by Simon Josefsson.
47943
47944         * doc/ld-version-script.texi: Update node reference.
47945
47946 2009-03-03  Bruno Haible  <bruno@clisp.org>
47947
47948         * modules/visibility (License): Change to 'unlimited'.
47949         Suggested by Simon Josefsson.
47950
47951 2009-03-03  Jim Meyering  <meyering@redhat.com>
47952
47953         unlinkdir: cannot_unlink_dir may modify process state
47954         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47955         it's neither thread-safe nor appropriate for use in a library.
47956
47957 2009-03-03  Eric Blake  <ebb9@byu.net>
47958
47959         test-closein: silence test under Darwin
47960         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47961         care if it dies from EPIPE or EBADF.
47962
47963 2009-03-03  Bruno Haible  <bruno@clisp.org>
47964
47965         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47966         earlier.
47967         * doc/visibility.texi: Fix @node and @section.
47968
47969 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47970
47971         * doc/gnulib.texi: Link to sections for ld version script and
47972         visibility.
47973         * doc/visibility.texi: Add @node and @section.
47974         * modules/ld-version-script: New module.
47975         * m4/ld-version-script.m4: New file.
47976         * doc/ld-version-script.texi: New file.
47977
47978 2009-03-02  David Lutterkort  <lutter@redhat.com>
47979
47980         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47981         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47982
47983 2009-03-02  Bruno Haible  <bruno@clisp.org>
47984
47985         * doc/visibility.texi: Mention libtool's -export-symbols option.
47986
47987 2009-03-02  Jim Meyering  <meyering@redhat.com>
47988
47989         announce-gen: new option: --no-print-checksums
47990         * build-aux/announce-gen (usage): Describe it.
47991         (print_checksums): Print a newline here, not in the [*] footnote.
47992         (main): Honor it.
47993
47994 2009-03-01  Bruno Haible  <bruno@clisp.org>
47995
47996         Use socklen_t in the native Windows replacements prototypes.
47997         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47998         instead of 'int'.
47999         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48000         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48001         * modules/getsockopt (Depends-on): Add socklen.
48002         * modules/setsockopt (Depends-on): Add socklen.
48003
48004 2009-03-01  Bruno Haible  <bruno@clisp.org>
48005
48006         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
48007         least 4.2.
48008
48009 2009-03-01  Eric Blake  <ebb9@byu.net>
48010             Bruno Haible  <bruno@clisp.org>
48011
48012         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
48013         error messages.
48014         * lib/wait-process.c (wait_subprocess): Omit error message about
48015         deadly signal sent to the child of termsigp != NULL.
48016
48017 2009-03-01  Eric Blake  <ebb9@byu.net>
48018
48019         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
48020
48021 2009-03-01  Bruno Haible  <bruno@clisp.org>
48022
48023         Avoid a gcc warning.
48024         * tests/test-sched.c (b): Make global.
48025         Reported by Eric Blake.
48026
48027 2009-01-19  Martin Lambers  <marlam@marlam.de>
48028
48029         Provide POSIX semantics for socket timeout options on W32.
48030         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
48031         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
48032         * modules/setsockopt: Depend on sys_time module for struct timeval.
48033         * modules/getsockopt: Depend on sys_time module for struct timeval.
48034
48035 2009-03-01  Simon Josefsson  <simon@josefsson.org>
48036
48037         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
48038         __USE_GNU, for consistency with netdb.in.h.
48039         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48040
48041 2009-03-01  Bruno Haible  <bruno@clisp.org>
48042
48043         More support for FreeMiNT.
48044         * lib/fseeko.c (rpl_fseeko): Complete last commit.
48045         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48046
48047 2009-03-01  Bruno Haible  <bruno@clisp.org>
48048
48049         More support for FreeMiNT.
48050         * lib/fpurge.c (fpurge): Correct last commit.
48051         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48052
48053 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48054
48055         Fix unportable awk script in vc-list-files.
48056         * build-aux/vc-list-files: In the replacement awk script, use
48057         substr with a second argument of 1, not zero.
48058         Report by Simon Josefsson.
48059
48060 2009-02-28  Bruno Haible  <bruno@clisp.org>
48061
48062         More support for FreeMiNT.
48063         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
48064         to FreeMiNT today.
48065         * lib/fwriting.c (fwriting): Likewise.
48066         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
48067
48068 2009-02-28  Bruno Haible  <bruno@clisp.org>
48069
48070         * tests/test-freadseek.c (main): Disable test beyond end of file on
48071         FreeMiNT.
48072         * tests/test-ftello.c (main): Likewise.
48073         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48074
48075 2009-02-28  Bruno Haible  <bruno@clisp.org>
48076
48077         Add tentative support for FreeMiNT.
48078         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
48079         * lib/fpurge.c (fpurge): Likewise.
48080         * lib/freadable.c (freadable): Likewise.
48081         * lib/freading.c (freading): Likewise.
48082         * lib/freadptr.c (freadptr): Likewise.
48083         * lib/freadseek.c (freadptrinc): Likewise.
48084         * lib/fseeko.c (rpl_fseeko): Likewise.
48085         * lib/fseterr.c (fseterr): Likewise.
48086         * lib/fwritable.c (fwritable): Likewise.
48087         * lib/fwriting.c (fwriting): Likewise.
48088         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
48089         Hourihane.
48090         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48091
48092 2009-02-28  Bruno Haible  <bruno@clisp.org>
48093
48094         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
48095         SIGCHLD.
48096         Reported by Jim Meyering.
48097
48098 2009-02-28  Bruno Haible  <bruno@clisp.org>
48099
48100         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
48101         Mention the results of these tests on various platforms.
48102         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
48103         order.
48104         * doc/posix-functions/printf.texi: Likewise.
48105         * doc/posix-functions/snprintf.texi: Likewise.
48106         * doc/posix-functions/sprintf.texi: Likewise.
48107         * doc/posix-functions/vfprintf.texi: Likewise.
48108         * doc/posix-functions/vprintf.texi: Likewise.
48109         * doc/posix-functions/vsnprintf.texi: Likewise.
48110         * doc/posix-functions/vsprintf.texi: Likewise.
48111         * doc/glibc-functions/obstack_printf.texi: Likewise.
48112         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48113
48114 2009-02-28  Bruno Haible  <bruno@clisp.org>
48115
48116         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
48117         Reported by Loïc Minier <lool@dooz.org>.
48118
48119 2009-02-27  Bruno Haible  <bruno@clisp.org>
48120
48121         * gnulib-tool (func_import): Make the sed expression used to create the
48122         sed script for updating the .gitignore file POSIX compliant.
48123         Reported by Eric Blake.
48124
48125 2009-02-27  Bruno Haible  <bruno@clisp.org>
48126
48127         * gnulib-tool (sed): Don't alias as "sed --posix".
48128         Reported by Eric Blake.
48129
48130 2009-02-27  Bruno Haible  <bruno@clisp.org>
48131
48132         Avoid test link errors.
48133         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48134         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48135         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48136         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48137         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48138
48139 2009-02-27  Bruno Haible  <bruno@clisp.org>
48140
48141         Avoid spurious "(cached)" in configure output.
48142         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48143         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48144         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48145         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48146         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48147         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48148         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48149         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48150         Reported by Eric Blake.
48151
48152 2009-02-27  Eric Blake  <ebb9@byu.net>
48153
48154         printf: fix regression in previous patch
48155         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48156
48157 2009-02-27  Bruno Haible  <bruno@clisp.org>
48158
48159         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48160         value.
48161         * lib/stdint.in.h: Likewise.
48162         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48163
48164 2009-02-27  Eric Blake  <ebb9@byu.net>
48165
48166         doc: mention more functions added in cygwin 1.7.0
48167         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48168         addition.
48169         * doc/posix-functions/open_wmemstream.texi: Likewise.
48170         * doc/posix-functions/wcsnlen.texi: Likewise.
48171         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48172         * doc/posix-functions/wcstod.texi: Likewise.
48173         * doc/posix-functions/wcstof.texi: Likewise.
48174         * doc/posix-functions/wcstoimax.texi: Likewise.
48175         * doc/posix-functions/wcstok.texi: Likewise.
48176         * doc/posix-functions/wcstoumax.texi: Likewise.
48177
48178         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48179         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48180         * doc/posix-functions/fprintf.texi: Update.
48181         * doc/posix-functions/printf.texi: Update.
48182         * doc/posix-functions/snprintf.texi: Update.
48183         * doc/posix-functions/sprintf.texi: Update.
48184         * doc/posix-functions/vfprintf.texi: Update.
48185         * doc/posix-functions/vprintf.texi: Update.
48186         * doc/posix-functions/vsnprintf.texi: Update.
48187         * doc/posix-functions/vsprintf.texi: Update.
48188         * doc/glibc-functions/obstack_printf.texi: Update.
48189         * doc/glibc-functions/obstack_vprintf.texi: Update.
48190
48191 2009-02-26  Eric Blake  <ebb9@byu.net>
48192
48193         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48194         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48195         compilation bug by using runtime conversion.
48196         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48197         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48198         * modules/ceill-tests (Files): Use nan.h.
48199         * modules/floorl-tests (Files): Likewise.
48200         * modules/frexpl-tests (Files): Likewise.
48201         * modules/isnanl-tests (Files): Likewise.
48202         * modules/ldexpl-tests (Files): Likewise.
48203         * modules/roundl-tests (Files): Likewise.
48204         * modules/truncl-tests (Files): Likewise.
48205         * tests/test-ceill.c (main): Use a working NaN.
48206         * tests/test-floorl.c (main): Likewise.
48207         * tests/test-frexpl.c (main): Likewise.
48208         * tests/test-isnan.c (test_long_double): Likewise.
48209         * tests/test-isnanl.h (main): Likewise.
48210         * tests/test-ldexpl.h (main): Likewise.
48211         * tests/test-roundl.h (main): Likewise.
48212         * tests/test-truncl.h (main): Likewise.
48213         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48214
48215 2009-02-26  Eric Blake  <ebb9@byu.net>
48216             Bruno Haible  <bruno@clisp.org>
48217
48218         Work around a *printf bug with %ls on Solaris.
48219         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48220         precision is specified, sprintf stops converting the wide string
48221         argument when the number of bytes that have been produced by this
48222         conversion equals or exceeds the precision.
48223         * doc/posix-functions/fprintf.texi: Update.
48224         * doc/posix-functions/printf.texi: Update.
48225         * doc/posix-functions/snprintf.texi: Update.
48226         * doc/posix-functions/sprintf.texi: Update.
48227         * doc/posix-functions/vfprintf.texi: Update.
48228         * doc/posix-functions/vprintf.texi: Update.
48229         * doc/posix-functions/vsnprintf.texi: Update.
48230         * doc/posix-functions/vsprintf.texi: Update.
48231         * doc/glibc-functions/obstack_printf.texi: Update.
48232         * doc/glibc-functions/obstack_vprintf.texi: Update.
48233
48234 2009-02-26  Eric Blake  <ebb9@byu.net>
48235
48236         stdlib: favor compiler check of random.h
48237         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48238         to avoid an ObjC random.h installed by Swarm.
48239
48240 2009-02-26  Bruno Haible  <bruno@clisp.org>
48241
48242         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48243         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48244         Reported by Gary V. Vaughan <gary@gnu.org>.
48245
48246 2009-02-26  Bruno Haible  <bruno@clisp.org>
48247
48248         Fix *printf behaviour regarding the %ls directive.
48249         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48250         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48251         NEED_PRINTF_DIRECTIVE_LS.
48252         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48253         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48254         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48255         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48256         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48257         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48258         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48259         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48260         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48261         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48262         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48263         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48264         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48265         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48266         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48267         * doc/posix-functions/fprintf.texi: Update.
48268         * doc/posix-functions/printf.texi: Update.
48269         * doc/posix-functions/snprintf.texi: Update.
48270         * doc/posix-functions/sprintf.texi: Update.
48271         * doc/posix-functions/vfprintf.texi: Update.
48272         * doc/posix-functions/vprintf.texi: Update.
48273         * doc/posix-functions/vsnprintf.texi: Update.
48274         * doc/posix-functions/vsprintf.texi: Update.
48275         * doc/glibc-functions/obstack_printf.texi: Update.
48276         * doc/glibc-functions/obstack_vprintf.texi: Update.
48277         Reported by Eric Blake.
48278
48279 2009-02-25  Bruno Haible  <bruno@clisp.org>
48280
48281         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48282         with known value.
48283         Reported by Gary V. Vaughan <gary@gnu.org>.
48284
48285 2009-02-25  Bruno Haible  <bruno@clisp.org>
48286
48287         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48288         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48289         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48290         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48291         Reported by Gary V. Vaughan <gary@gnu.org>.
48292
48293 2009-02-25  Bruno Haible  <bruno@clisp.org>
48294
48295         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48296         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48297         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48298         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48299         Reported by Gary V. Vaughan <gary@gnu.org>.
48300
48301 2009-02-25  Eric Blake  <ebb9@byu.net>
48302
48303         tests: skip fseek/ftell tests if ungetc is broken
48304         * m4/ungetc.m4: New file.
48305         * modules/fseek-tests: Split test, so ungetc dependency is
48306         separate from rest of test.
48307         * modules/fseeko-tests: Likewise.
48308         * modules/ftell-tests: Likewise.
48309         * modules/ftello-tests: Likewise.
48310         * tests/test-fseek.c (main): Isolate ungetc dependency.
48311         * tests/test-fseeko.c (main): Likewise.
48312         * tests/test-ftell.c (main): Likewise.
48313         * tests/test-ftello.c (main): Likewise.
48314         * tests/test-fseek2.sh: New file.
48315         * tests/test-fseeko2.sh: Likewise.
48316         * tests/test-ftell2.sh: Likewise.
48317         * tests/test-ftello2.sh: Likewise.
48318
48319 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48320
48321         test-getaddrinfo: fix usage of skip return code 77
48322         * tests/test-gettaddrinfo.c: Return skip code 77 only
48323         for first occurrence of skip (4x77 is not 77)
48324
48325 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48326
48327         strtod: avoid C99 decl-after-statement
48328         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48329
48330 2009-02-24  Eric Blake  <ebb9@byu.net>
48331
48332         strtod: detect HP-UX 11.31 bug
48333         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48334         Reported by Gary V. Vaughan.
48335
48336 2009-02-23  Bruno Haible  <bruno@clisp.org>
48337
48338         Fix invalid read past end of memory block.
48339         * lib/vasnprintf.c (DCHAR_SET): Define.
48340         (local_wcslen): Define only when needed.
48341         (local_strnlen, local_wcsnlen): New functions.
48342         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48343         directives that involve a conversion ourselves.
48344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48345         wcsnlen, mbrtowc, wcrtomb.
48346         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48347         * tests/test-vasprintf-posix.c (test_function): Likewise.
48348         * tests/test-snprintf-posix.h (test_function): Likewise.
48349         * tests/test-sprintf-posix.h (test_function): Likewise.
48350         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48351
48352 2009-02-22  Bruno Haible  <bruno@clisp.org>
48353
48354         Implement new clarified decomposition of Hangul syllables.
48355         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48356         of type LTV, return only a pairwise decomposition.
48357         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48358         Likewise.
48359         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48360         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48361         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48362
48363 2009-02-22  Bruno Haible  <bruno@clisp.org>
48364
48365         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48366         zero-length results and shrink excess allocated memory.
48367         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48368         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48369         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48370         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48371         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48372         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48373         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48374         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48375         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48376         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48377         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48378         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48379
48380 2009-02-21  Bruno Haible  <bruno@clisp.org>
48381
48382         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48383         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48384         spaces after a period. Put a space between a macro name and its
48385         argument list. Trivial rewordings.
48386         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48387         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48388         (main): Return 0 explicitly.
48389
48390 2009-02-21  Bruno Haible  <bruno@clisp.org>
48391
48392         Tests for module 'uninorm/filter'.
48393         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48394         * modules/uninorm/filter-tests: New file.
48395
48396         New module 'uninorm/filter'.
48397         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48398         uninorm_filter_flush, uninorm_filter_free): New declarations.
48399         * lib/uninorm/uninorm-filter.c: New file.
48400         * modules/uninorm/filter: New file.
48401
48402 2009-02-21  Bruno Haible  <bruno@clisp.org>
48403
48404         Tests for module 'uninorm/nfkc'.
48405         * tests/uninorm/test-nfkc.c: New file.
48406         * tests/uninorm/test-u8-nfkc.c: New file.
48407         * tests/uninorm/test-u16-nfkc.c: New file.
48408         * tests/uninorm/test-u32-nfkc.c: New file.
48409         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48410         * tests/uninorm/test-u32-nfkc-big.c: New file.
48411         * modules/uninorm/nfkc-tests: New file.
48412
48413         New module 'uninorm/nfkc'.
48414         * lib/uninorm/nfkc.c: New file.
48415         * modules/uninorm/nfkc: New file.
48416
48417         Tests for module 'uninorm/nfkd'.
48418         * tests/uninorm/test-nfkd.c: New file.
48419         * tests/uninorm/test-u8-nfkd.c: New file.
48420         * tests/uninorm/test-u16-nfkd.c: New file.
48421         * tests/uninorm/test-u32-nfkd.c: New file.
48422         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48423         * tests/uninorm/test-u32-nfkd-big.c: New file.
48424         * modules/uninorm/nfkd-tests: New file.
48425
48426         New module 'uninorm/nfkd'.
48427         * lib/uninorm/nfkd.c: New file.
48428         * modules/uninorm/nfkd: New file.
48429
48430         Tests for module 'uninorm/nfc'.
48431         * tests/uninorm/test-nfc.c: New file.
48432         * tests/uninorm/test-u8-nfc.c: New file.
48433         * tests/uninorm/test-u16-nfc.c: New file.
48434         * tests/uninorm/test-u32-nfc.c: New file.
48435         * tests/uninorm/test-u32-nfc-big.sh: New file.
48436         * tests/uninorm/test-u32-nfc-big.c: New file.
48437         * modules/uninorm/nfc-tests: New file.
48438
48439         New module 'uninorm/nfc'.
48440         * lib/uninorm/nfc.c: New file.
48441         * modules/uninorm/nfc: New file.
48442
48443         Tests for module 'uninorm/nfd'.
48444         * tests/uninorm/test-nfd.c: New file.
48445         * tests/uninorm/test-u8-nfd.c: New file.
48446         * tests/uninorm/test-u16-nfd.c: New file.
48447         * tests/uninorm/test-u32-nfd.c: New file.
48448         * tests/uninorm/test-u32-nfd-big.sh: New file.
48449         * tests/uninorm/test-u32-nfd-big.c: New file.
48450         * tests/uninorm/test-u32-normalize-big.h: New file.
48451         * tests/uninorm/test-u32-normalize-big.c: New file.
48452         * tests/uninorm/NormalizationTest.txt: New file, created from
48453         Unicode 5.1.0 NormalizationTest.txt.
48454         * modules/uninorm/nfd-tests: New file.
48455
48456         New module 'uninorm/nfd'.
48457         * lib/uninorm/nfd.c: New file.
48458         * modules/uninorm/nfd: New file.
48459
48460         New module 'uninorm/u32-normalize'.
48461         * lib/uninorm/u32-normalize.c: New file.
48462         * modules/uninorm/u32-normalize: New file.
48463
48464         New module 'uninorm/u16-normalize'.
48465         * lib/uninorm/u16-normalize.c: New file.
48466         * modules/uninorm/u16-normalize: New file.
48467
48468         New module 'uninorm/u8-normalize'.
48469         * lib/uninorm/u8-normalize.c: New file.
48470         * lib/uninorm/normalize-internal.h: New file.
48471         * lib/uninorm/u-normalize-internal.h: New file.
48472         * modules/uninorm/u8-normalize: New file.
48473
48474         New module 'uninorm/decompose-internal'.
48475         * lib/uninorm/decompose-internal.c: New file.
48476         * modules/uninorm/decompose-internal: New file.
48477
48478         Tests for module 'uninorm/composition'.
48479         * tests/uninorm/test-composition.c: New file.
48480         * modules/uninorm/composition-tests: New file.
48481
48482         New module 'uninorm/composition'.
48483         * lib/uninorm/composition.c: New file.
48484         * lib/uninorm/composition-table.gperf: New file, generated by
48485         gen-uni-tables.
48486         * modules/uninorm/composition: New file.
48487
48488         Tests for module 'uninorm/compat-decomposition'.
48489         * tests/uninorm/test-compat-decomposition.c: New file.
48490         * modules/uninorm/compat-decomposition-tests: New file.
48491
48492         New module 'uninorm/compat-decomposition'.
48493         * lib/uninorm/decompose-internal.h: New file.
48494         * lib/uninorm/compat-decomposition.c: New file.
48495         * modules/uninorm/compat-decomposition: New file.
48496
48497         Tests for module 'uninorm/canonical-decomposition'.
48498         * tests/uninorm/test-canonical-decomposition.c: New file.
48499         * modules/uninorm/canonical-decomposition-tests: New file.
48500
48501         New module 'uninorm/canonical-decomposition'.
48502         * lib/uninorm/canonical-decomposition.c: New file.
48503         * modules/uninorm/canonical-decomposition: New file.
48504
48505         Tests for module 'uninorm/decomposition'.
48506         * tests/uninorm/test-decomposition.c: New file.
48507         * modules/uninorm/decomposition-tests: New file.
48508
48509         New module 'uninorm/decomposition'.
48510         * lib/uninorm/decomposition.c: New file.
48511         * modules/uninorm/decomposition: New file.
48512
48513         New module 'uninorm/decomposition-table'.
48514         * lib/uninorm/decomposition-table.h: New file.
48515         * lib/uninorm/decomposition-table.c: New file.
48516         * lib/uninorm/decomposition-table1.h: New file, generated by
48517         gen-uni-tables.
48518         * lib/uninorm/decomposition-table2.h: New file, generated by
48519         gen-uni-tables.
48520         * modules/uninorm/decomposition-table: New file.
48521
48522         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48523         (UC_DECOMP_*): New enumeration items.
48524         (get_decomposition): New function.
48525         (struct decomp_table): New type.
48526         (output_decomposition, output_decomposition_tables): New functions.
48527         (unicode_composition_exclusions): New variable.
48528         (fill_composition_exclusions, debug_output_composition_tables): New
48529         functions.
48530         (main): Accept one more argument. Invoke fill_composition_exclusions.
48531         Output decomposition and composition tables.
48532
48533         New module 'uninorm/base'.
48534         * lib/uninorm.h: New file.
48535         * lib/unictype.h: Update comment.
48536         * modules/uninorm/base: New file.
48537
48538 2009-02-21  David Lutterkort  <lutter@redhat.com>
48539
48540         Tests for module 'safe-alloc'.
48541         * tests/test-safe-alloc.c: New file.
48542         * modules/safe-alloc-tests: New file.
48543
48544         New module 'safe-alloc'.
48545         * lib/safe-alloc.h: New file.
48546         * lib/safe-alloc.c: New file.
48547         * m4/safe-alloc.m4: New file.
48548         * modules/safe-alloc: New file.
48549         * doc/safe-alloc.texi: New file.
48550         * doc/gnulib.texi: Include it.
48551         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48552         safe-alloc.
48553
48554 2009-02-18  Bruno Haible  <bruno@clisp.org>
48555
48556         Fix link error on non-glibc systems.
48557         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48558         variable.
48559         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48560
48561 2009-02-18  Jim Meyering  <meyering@redhat.com>
48562
48563         fts: avoid used-uninitialized error due to recent change
48564         * lib/fts.c (fts_read): Guard uses of the new member,
48565         parent->fts_n_dirs_remaining, since it's not relevant for
48566         the parent of a directory specified on the command-line.
48567
48568 2009-02-17  James Youngman  <jay@gnu.org>
48569             Bruno Haible  <bruno@clisp.org>
48570
48571         * m4/include_next.m4: Reformulate comment.
48572
48573 2009-02-16  Jim Meyering  <meyering@redhat.com>
48574
48575         fts: add #if guards so that the fts_lgpl module still builds
48576         * lib/fts.c: Guard just-added hash-table-using parts with
48577         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48578         Reported by Simon Josefsson.
48579
48580 2009-02-15  Bruno Haible  <bruno@clisp.org>
48581
48582         * modules/array-mergesort-tests: New file.
48583         * tests/test-array-mergesort.c: New file.
48584
48585         New module 'array-mergesort'.
48586         * modules/array-mergesort: New file.
48587         * lib/array-mergesort.h: New file.
48588
48589 2009-02-15  Bruno Haible  <bruno@clisp.org>
48590
48591         Fix 2009-02-07 commit.
48592         * lib/gen-uni-tables.c (output_predicate, output_category,
48593         output_combclass, output_bidi_category, output_decimal_digit,
48594         output_digit, output_numeric, output_mirror, output_scripts,
48595         output_ident_category, output_simple_mapping): Fix format directives.
48596         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48597
48598 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48599
48600         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48601         fixes are available from IBM.
48602
48603 2009-02-13  Jim Meyering  <meyering@redhat.com>
48604
48605         fts: arrange not to stat non-directories in more cases
48606         This makes GNU find (when it doesn't need to stat each file)
48607         *much* more efficient at traversing reiserfs file systems.
48608         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48609         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48610         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48611         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48612         (leaf_optimization_applies): New function.
48613         (LCO_hash, LCO_compare): New helper functions.
48614         (link_count_optimize_ok): New function.
48615         (fts_stat): Initialize new member (if dir).
48616         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48617         we've just stat'ed a directory.  Skip the stat call when possible.
48618         ---
48619         Note this AFS-related exchange:
48620         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48621         and note find's pioctl call in find/fstype.c.
48622         But that is necessary only if you want to enable the
48623         optimization for AFS, and for now, I don't.
48624
48625         fts: move a function definition "up" (no semantic change)
48626         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48627         "up" to precede upcoming use of a related function.
48628
48629 2009-02-11  Jim Meyering  <meyering@redhat.com>
48630
48631         fts: correct internal computation of nlinks (optimization-related)
48632         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48633         whether the current entry is a directory, so don't test it.
48634
48635 2009-02-10  Bruno Haible  <bruno@clisp.org>
48636
48637         Tests for module 'uniwbrk/ulc-wordbreaks'.
48638         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48639         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48640         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48641
48642         Tests for module 'uniwbrk/u32-wordbreaks'.
48643         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48644         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48645
48646         Tests for module 'uniwbrk/u16-wordbreaks'.
48647         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48648         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48649
48650         Tests for module 'uniwbrk/u8-wordbreaks'.
48651         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48652         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48653
48654 2009-02-10  Bruno Haible  <bruno@clisp.org>
48655
48656         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48657         property.
48658         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48659         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48660         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48661
48662 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48663
48664         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48665         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48666
48667 2009-02-10  Bruno Haible  <bruno@clisp.org>
48668
48669         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48670         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48671         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48672         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48673         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48674         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48675
48676 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48677
48678         * lib/sockets.h (gl_fd_to_handle): New function.
48679
48680         * tests/test-sockets.c: Call gl_fd_to_handle.
48681
48682 2009-02-09  Bruno Haible  <bruno@clisp.org>
48683
48684         * doc/havelib.texi: Document the conventions on bi-arch systems.
48685
48686 2009-02-08  Bruno Haible  <bruno@clisp.org>
48687
48688         Document the AC_LIB_LINKFLAGS macro.
48689         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48690         * doc/gnulib.texi: Include it.
48691
48692 2009-02-08  Bruno Haible  <bruno@clisp.org>
48693
48694         Fix wrong order of sections, compared to TOC.
48695         * doc/gnulib.texi: Include relocatable-maint.texi after the
48696         "Regular expressions" node, not before.
48697
48698 2009-02-08  Bruno Haible  <bruno@clisp.org>
48699
48700         Tests for module 'unicase/totitle'.
48701         * modules/unicase/totitle-tests: New file.
48702
48703         Tests for module 'unicase/tolower'.
48704         * modules/unicase/tolower-tests: New file.
48705
48706         Tests for module 'unicase/toupper'.
48707         * modules/unicase/toupper-tests: New file.
48708         * tests/unicase/test-mapping-part1.h: New file.
48709         * tests/unicase/test-mapping-part2.h: New file.
48710
48711         New module 'unicase/totitle'.
48712         * modules/unicase/totitle: New file.
48713         * lib/unicase/totitle.c: New file.
48714
48715         New module 'unicase/tolower'.
48716         * modules/unicase/tolower: New file.
48717         * lib/unicase/tolower.c: New file.
48718
48719         New module 'unicase/toupper'.
48720         * modules/unicase/toupper: New file.
48721         * lib/unicase/toupper.c: New file.
48722         * lib/unicase/simple-mapping.h: New file.
48723
48724         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48725         (mapping_table): New structure.
48726         (output_simple_mapping): New function.
48727         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48728         * modules/gen-uni-tables (Description): Update.
48729         * lib/unicase/toupper.h: New file, automatically generated by
48730         gen-uni-tables.
48731         * lib/unicase/tolower.h: New file, automatically generated by
48732         gen-uni-tables.
48733         * lib/unicase/totitle.h: New file, automatically generated by
48734         gen-uni-tables.
48735         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48736         gen-uni-tables.
48737         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48738         gen-uni-tables.
48739         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48740         gen-uni-tables.
48741
48742         New module 'unicase/base'.
48743         * modules/unicase/base: New file.
48744         * lib/unicase.h: New file.
48745
48746 2009-02-08  Bruno Haible  <bruno@clisp.org>
48747
48748         New module 'uniwbrk/ulc-wordbreaks'.
48749         * modules/uniwbrk/ulc-wordbreaks: New file.
48750         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48751
48752         New module 'uniwbrk/u32-wordbreaks'.
48753         * modules/uniwbrk/u32-wordbreaks: New file.
48754         * lib/uniwbrk/u32-wordbreaks.c: New file.
48755
48756         New module 'uniwbrk/u16-wordbreaks'.
48757         * modules/uniwbrk/u16-wordbreaks: New file.
48758         * lib/uniwbrk/u16-wordbreaks.c: New file.
48759
48760         New module 'uniwbrk/u8-wordbreaks'.
48761         * modules/uniwbrk/u8-wordbreaks: New file.
48762         * lib/uniwbrk/u8-wordbreaks.c: New file.
48763         * lib/uniwbrk/u-wordbreaks.h: New file.
48764
48765         New module 'uniwbrk/table'.
48766         * modules/uniwbrk/table: New file.
48767         * lib/uniwbrk/wbrktable.h: New file.
48768         * lib/uniwbrk/wbrktable.c: New file.
48769
48770         New module 'uniwbrk/wordbreak-property'.
48771         * modules/uniwbrk/wordbreak-property: New file.
48772         * lib/uniwbrk/wordbreak-property.c: New file.
48773
48774         * lib/gen-uni-tables.c (WBP_*): New enum items.
48775         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48776         (unicode_org_wbp): New variable.
48777         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48778         New functions.
48779         (wbp_table): New structure.
48780         (output_wbp, output_wbrk_tables): New functions.
48781         (main): Accept additional argument. Invoke fill_org_wbp,
48782         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48783         output_wbrk_tables.
48784         * modules/gen-uni-tables (Description): Update.
48785         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48786         gen-uni-tables.
48787
48788         New module 'uniwbrk/base'.
48789         * modules/uniwbrk/base: New file.
48790         * lib/uniwbrk.h: New file.
48791
48792 2009-02-08  Bruno Haible  <bruno@clisp.org>
48793
48794         Update to Unicode 5.1.0.
48795         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48796         U+2185..U+2188.
48797         (is_property_default_ignorable_code_point): Don't include characters
48798         of category Cc or Cs and not-a-characters.
48799         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48800         U+0D79, U+109E, U+109F, U+A60C.
48801         * lib/unictype/bidi_of.h: Regenerated.
48802         * lib/unictype/blocks.h: Regenerated.
48803         * lib/unictype/categ_C.h: Regenerated.
48804         * lib/unictype/categ_Cf.h: Regenerated.
48805         * lib/unictype/categ_Cn.h: Regenerated.
48806         * lib/unictype/categ_L.h: Regenerated.
48807         * lib/unictype/categ_Ll.h: Regenerated.
48808         * lib/unictype/categ_Lm.h: Regenerated.
48809         * lib/unictype/categ_Lo.h: Regenerated.
48810         * lib/unictype/categ_Lu.h: Regenerated.
48811         * lib/unictype/categ_M.h: Regenerated.
48812         * lib/unictype/categ_Mc.h: Regenerated.
48813         * lib/unictype/categ_Me.h: Regenerated.
48814         * lib/unictype/categ_Mn.h: Regenerated.
48815         * lib/unictype/categ_N.h: Regenerated.
48816         * lib/unictype/categ_Nd.h: Regenerated.
48817         * lib/unictype/categ_Nl.h: Regenerated.
48818         * lib/unictype/categ_No.h: Regenerated.
48819         * lib/unictype/categ_P.h: Regenerated.
48820         * lib/unictype/categ_Pd.h: Regenerated.
48821         * lib/unictype/categ_Pe.h: Regenerated.
48822         * lib/unictype/categ_Pf.h: Regenerated.
48823         * lib/unictype/categ_Pi.h: Regenerated.
48824         * lib/unictype/categ_Po.h: Regenerated.
48825         * lib/unictype/categ_Ps.h: Regenerated.
48826         * lib/unictype/categ_S.h: Regenerated.
48827         * lib/unictype/categ_Sk.h: Regenerated.
48828         * lib/unictype/categ_Sm.h: Regenerated.
48829         * lib/unictype/categ_So.h: Regenerated.
48830         * lib/unictype/categ_of.h: Regenerated.
48831         * lib/unictype/combining.h: Regenerated.
48832         * lib/unictype/ctype_alnum.h: Regenerated.
48833         * lib/unictype/ctype_alpha.h: Regenerated.
48834         * lib/unictype/ctype_graph.h: Regenerated.
48835         * lib/unictype/ctype_lower.h: Regenerated.
48836         * lib/unictype/ctype_print.h: Regenerated.
48837         * lib/unictype/ctype_punct.h: Regenerated.
48838         * lib/unictype/ctype_upper.h: Regenerated.
48839         * lib/unictype/decdigit.h: Regenerated.
48840         * lib/unictype/digit.h: Regenerated.
48841         * lib/unictype/mirror.h: Regenerated.
48842         * lib/unictype/numeric.h: Regenerated.
48843         * lib/unictype/pr_alphabetic.h: Regenerated.
48844         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48845         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48846         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48847         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48848         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48849         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48850         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48851         * lib/unictype/pr_combining.h: Regenerated.
48852         * lib/unictype/pr_dash.h: Regenerated.
48853         * lib/unictype/pr_decimal_digit.h: Regenerated.
48854         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48855         * lib/unictype/pr_deprecated.h: Regenerated.
48856         * lib/unictype/pr_diacritic.h: Regenerated.
48857         * lib/unictype/pr_extender.h: Regenerated.
48858         * lib/unictype/pr_format_control.h: Regenerated.
48859         * lib/unictype/pr_grapheme_base.h: Regenerated.
48860         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48861         * lib/unictype/pr_grapheme_link.h: Regenerated.
48862         * lib/unictype/pr_id_continue.h: Regenerated.
48863         * lib/unictype/pr_id_start.h: Regenerated.
48864         * lib/unictype/pr_ideographic.h: Regenerated.
48865         * lib/unictype/pr_ignorable_control.h: Regenerated.
48866         * lib/unictype/pr_lowercase.h: Regenerated.
48867         * lib/unictype/pr_math.h: Regenerated.
48868         * lib/unictype/pr_numeric.h: Regenerated.
48869         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48870         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48871         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48872         * lib/unictype/pr_other_id_continue.h: Regenerated.
48873         * lib/unictype/pr_other_lowercase.h: Regenerated.
48874         * lib/unictype/pr_other_math.h: Regenerated.
48875         * lib/unictype/pr_punctuation.h: Regenerated.
48876         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48877         * lib/unictype/pr_soft_dotted.h: Regenerated.
48878         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48879         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48880         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48881         * lib/unictype/pr_uppercase.h: Regenerated.
48882         * lib/unictype/pr_xid_continue.h: Regenerated.
48883         * lib/unictype/pr_xid_start.h: Regenerated.
48884         * lib/unictype/pr_zero_width.h: Regenerated.
48885         * lib/unictype/scripts.h: Regenerated.
48886         * lib/unictype/scripts_byname.gperf: Regenerated.
48887         * lib/unictype/sy_java_ident.h: Regenerated.
48888         * lib/unilbrk/lbrkprop1.h: Regenerated.
48889         * lib/unilbrk/lbrkprop2.h: Regenerated.
48890         * tests/unictype/test-categ_C.c: Regenerated.
48891         * tests/unictype/test-categ_Cf.c: Regenerated.
48892         * tests/unictype/test-categ_Cn.c: Regenerated.
48893         * tests/unictype/test-categ_L.c: Regenerated.
48894         * tests/unictype/test-categ_Ll.c: Regenerated.
48895         * tests/unictype/test-categ_Lm.c: Regenerated.
48896         * tests/unictype/test-categ_Lo.c: Regenerated.
48897         * tests/unictype/test-categ_Lu.c: Regenerated.
48898         * tests/unictype/test-categ_M.c: Regenerated.
48899         * tests/unictype/test-categ_Mc.c: Regenerated.
48900         * tests/unictype/test-categ_Me.c: Regenerated.
48901         * tests/unictype/test-categ_Mn.c: Regenerated.
48902         * tests/unictype/test-categ_N.c: Regenerated.
48903         * tests/unictype/test-categ_Nd.c: Regenerated.
48904         * tests/unictype/test-categ_Nl.c: Regenerated.
48905         * tests/unictype/test-categ_No.c: Regenerated.
48906         * tests/unictype/test-categ_P.c: Regenerated.
48907         * tests/unictype/test-categ_Pd.c: Regenerated.
48908         * tests/unictype/test-categ_Pe.c: Regenerated.
48909         * tests/unictype/test-categ_Pf.c: Regenerated.
48910         * tests/unictype/test-categ_Pi.c: Regenerated.
48911         * tests/unictype/test-categ_Po.c: Regenerated.
48912         * tests/unictype/test-categ_Ps.c: Regenerated.
48913         * tests/unictype/test-categ_S.c: Regenerated.
48914         * tests/unictype/test-categ_Sk.c: Regenerated.
48915         * tests/unictype/test-categ_Sm.c: Regenerated.
48916         * tests/unictype/test-categ_So.c: Regenerated.
48917         * tests/unictype/test-ctype_alnum.c: Regenerated.
48918         * tests/unictype/test-ctype_alpha.c: Regenerated.
48919         * tests/unictype/test-ctype_graph.c: Regenerated.
48920         * tests/unictype/test-ctype_lower.c: Regenerated.
48921         * tests/unictype/test-ctype_print.c: Regenerated.
48922         * tests/unictype/test-ctype_punct.c: Regenerated.
48923         * tests/unictype/test-ctype_upper.c: Regenerated.
48924         * tests/unictype/test-decdigit.h: Regenerated.
48925         * tests/unictype/test-digit.h: Regenerated.
48926         * tests/unictype/test-numeric.h: Regenerated.
48927         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48928         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48929         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48930         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48931         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48932         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48933         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48934         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48935         * tests/unictype/test-pr_combining.c: Regenerated.
48936         * tests/unictype/test-pr_dash.c: Regenerated.
48937         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48938         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48939         * tests/unictype/test-pr_deprecated.c: Regenerated.
48940         * tests/unictype/test-pr_diacritic.c: Regenerated.
48941         * tests/unictype/test-pr_extender.c: Regenerated.
48942         * tests/unictype/test-pr_format_control.c: Regenerated.
48943         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48944         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48945         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48946         * tests/unictype/test-pr_id_continue.c: Regenerated.
48947         * tests/unictype/test-pr_id_start.c: Regenerated.
48948         * tests/unictype/test-pr_ideographic.c: Regenerated.
48949         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48950         * tests/unictype/test-pr_lowercase.c: Regenerated.
48951         * tests/unictype/test-pr_math.c: Regenerated.
48952         * tests/unictype/test-pr_numeric.c: Regenerated.
48953         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48954         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48955         Regenerated.
48956         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48957         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48958         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48959         * tests/unictype/test-pr_other_math.c: Regenerated.
48960         * tests/unictype/test-pr_punctuation.c: Regenerated.
48961         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48962         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48963         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48964         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48965         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48966         * tests/unictype/test-pr_uppercase.c: Regenerated.
48967         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48968         * tests/unictype/test-pr_xid_start.c: Regenerated.
48969         * tests/unictype/test-pr_zero_width.c: Regenerated.
48970
48971         Update to Unicode 5.1.0.
48972         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48973         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48974         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48975         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48976         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48977         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48978         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48979         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48980         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48981         (nonspacing_table_ind): Update.
48982         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48983
48984         Update to Unicode 5.1.0.
48985         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48986         code transform.
48987         * lib/uniname/uniname.c (unicode_character_name,
48988         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48989         * lib/uniname/uninames.h: Regenerated.
48990         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48991
48992 2009-02-07  Bruno Haible  <bruno@clisp.org>
48993
48994         Merge gen-ctype and gen-lbrk into a single program.
48995         * lib/gen-uni-tables.c: New file, incorporating
48996         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48997         Add directory prefixes to the names of the generated files.
48998         * lib/unictype/gen-ctype.c: Remove file.
48999         * lib/unilbrk/gen-lbrk.c: Remove file.
49000         * modules/gen-uni-tables: New file.
49001         * modules/unictype/gen-ctype: Remove file.
49002         * modules/unilbrk/gen-lbrk: Remove file.
49003
49004 2009-02-07  Bruno Haible  <bruno@clisp.org>
49005
49006         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
49007
49008         New module 'unistr/u32-strcoll'.
49009         * modules/unistr/u32-strcoll: New file.
49010         * lib/unistr/u32-strcoll.c: New file.
49011
49012         New module 'unistr/u16-strcoll'.
49013         * modules/unistr/u16-strcoll: New file.
49014         * lib/unistr/u16-strcoll.c: New file.
49015
49016         New module 'unistr/u8-strcoll'.
49017         * modules/unistr/u8-strcoll: New file.
49018         * lib/unistr/u8-strcoll.c: New file.
49019         * lib/unistr/u-strcoll.h: New file.
49020
49021 2009-02-07  Bruno Haible  <bruno@clisp.org>
49022
49023         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
49024         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49025         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49026         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
49027         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
49028         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
49029
49030 2009-02-07  Bruno Haible  <bruno@clisp.org>
49031
49032         Make 64-bit clean.
49033         * lib/unictype/gen-ctype.c (output_predicate, output_category,
49034         output_combclass, output_bidi_category, output_decimal_digit,
49035         output_digit, output_numeric, output_mirror, output_scripts,
49036         output_ident_category): Use proper width specifier in format strings.
49037
49038 2009-02-07  Bruno Haible  <bruno@clisp.org>
49039
49040         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
49041         failure behaviour.
49042
49043 2009-02-07  Jim Meyering  <meyering@redhat.com>
49044
49045         regex: avoid compilation failure with upcoming gcc-4.4
49046         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
49047         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
49048         "... error: integer overflow in preprocessor expression".
49049
49050 2009-02-05  Ben Pfaff  <blp@gnu.org>
49051
49052         Fix link errors on Windows when close module is used.
49053         * modules/close: Add $(LIB_CLOSE) to Link section.
49054         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
49055         $(LIB_CLOSE) on Windows.
49056
49057 2009-02-05  Jim Meyering  <meyering@redhat.com>
49058
49059         still avoid unused-parameter warnings, but do it cleanly
49060         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
49061         (get_fs_usage): Cast to void instead.
49062         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
49063         (dev_from_mount_options, read_file_system_list): Cast to void.
49064         Prompted by Bruno Haible.
49065
49066 2009-02-04  Jim Meyering  <meyering@redhat.com>
49067
49068         fsusage.c: correct copyright year
49069         * lib/fsusage.c: Reflect year in which the change is pushed into
49070
49071         avoid misc. warnings
49072         * lib/fsusage.c (UNUSED_PARAM): Define.
49073         (get_fs_usage): Mark parameter "disk" as unused.
49074         * lib/getugroups.c (getgrent): Use "void" in prototype.
49075         * lib/mountlist.c: Mark unused parameters.
49076         (read_file_system_list): Declare a local with "const".
49077         * lib/nanosleep.c (getnow): Declare static.
49078         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
49079
49080         dirfd: set errno upon failure
49081         * lib/dirfd.c: Include <errno.h>.
49082         Set errno to ENOTSUP when returning -1.
49083         * modules/dirfd (Depends-on): Add errno.
49084         Suggested by John Kodis <kodis@comcast.net>.
49085
49086 2009-02-01  Bruno Haible  <bruno@clisp.org>
49087
49088         Don't assume sizeof (long) >= sizeof (void *).
49089         * lib/memcmp.c: Include stdint.h.
49090         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
49091         srcp2 to 'const byte *'.
49092         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
49093         types to uintptr_t.
49094         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
49095         * modules/memcmp (Depends-on): Add stdint.
49096         Reported by Ozkan Sezer <sezeroz@gmail.com>.
49097
49098 2009-01-30  Eric Blake  <ebb9@byu.net>
49099
49100         fix more require-before-expand issues
49101         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
49102         expand, AC_PROG_AWK.
49103         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
49104
49105 2009-01-28  Eric Blake  <ebb9@byu.net>
49106
49107         version-etc: use consistent URL formatting
49108         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
49109         Improve formatting.  Use fputs for string without %.
49110
49111 2009-01-28  Jim Meyering  <meyering@redhat.com>
49112
49113         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
49114         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
49115         "underquoted definition of NAME" from autoconf-2.59.
49116
49117 2009-01-28  Bruno Haible  <bruno@clisp.org>
49118
49119         * doc/gnulib.texi: Add "Obsolete modules" to index.
49120
49121 2009-01-28  Jim Meyering  <meyering@redhat.com>
49122
49123         useless-if-before-free: recognize more variants
49124         * build-aux/useless-if-before-free: Also recognize e.g.,
49125         if (NULL != p) free (p);
49126
49127 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49128
49129         test-getaddrinfo: skip (don't fail) this test when there's no network
49130         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49131         on the presumption that it means you lack network access.
49132
49133 2009-01-26  Jim Meyering  <meyering@redhat.com>
49134
49135         fflush: avoid warnings on modern systems
49136         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49137         pos and result, into scopes where they're used.
49138
49139 2009-01-26  Eric Blake  <ebb9@byu.net>
49140
49141         Silence warning reintroduced by recent extensions patch.
49142         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49143         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49144         autoconf.
49145
49146         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49147         * m4/00gnulib.m4: New file.
49148         * gnulib-tool (func_get_filelist): Always use it.
49149         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49150         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49151
49152 2009-01-25  Bruno Haible  <bruno@clisp.org>
49153
49154         Make test-quotearg work on MacOS X and AIX.
49155         * tests/test-quotearg.sh: New file.
49156         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49157         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49158         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49159         include <libintl.h>.
49160         (fake_locale): Remove variable.
49161         (gettext, dgettext, dcgettext): Remove functions.
49162         (main): Instead of setting a fake locale, set a real locale. Call
49163         textdomain and bindtextdomain.
49164         * modules/quotearg-tests (Files): Add the new files.
49165         (Depends-on): Add gettext, setenv, unsetenv.
49166         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49167         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49168         Augment TESTS_ENVIRONMENT.
49169
49170 2009-01-25  Bruno Haible  <bruno@clisp.org>
49171
49172         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49173         fr_FR.ISO8859-1 locale on MacOS X.
49174         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49175         ja_JP.eucJP locale on MacOS X.
49176         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49177         zh_CN.GB18030 locale on MacOS X.
49178
49179 2009-01-25  Bruno Haible  <bruno@clisp.org>
49180
49181         Avoid link errors on MacOS X 10.3.
49182         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49183         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49184
49185 2009-01-25  Bruno Haible  <bruno@clisp.org>
49186
49187         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49188         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49189         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49190         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49191         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49192         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49193         posix_spawnattr_init, posix_spawnattr_setsigmask,
49194         posix_spawnattr_setflags, posix_spawnattr_destroy.
49195
49196         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49197         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49198         * modules/execute (Files): Remove m4/posix_spawn.m4.
49199         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49200         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49201         posix_spawnattr_init, posix_spawnattr_setsigmask,
49202         posix_spawnattr_setflags, posix_spawnattr_destroy.
49203
49204 2009-01-25  Bruno Haible  <bruno@clisp.org>
49205
49206         * lib/glthread/threadlib.c: Include <stdlib.h>.
49207
49208 2009-01-25  Bruno Haible  <bruno@clisp.org>
49209
49210         * lib/glthread/threadlib.c (dummy): New declaration.
49211
49212 2009-01-25  Bruno Haible  <bruno@clisp.org>
49213
49214         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49215         multibyte characters also for the GB18030 encoding. Don't crash when
49216         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49217
49218 2009-01-25  Bruno Haible  <bruno@clisp.org>
49219
49220         Avoid redefining 'struct random_data' on OSF/1 5.1.
49221         * lib/stdlib.in.h: Include <random.h> if it exists.
49222         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49223         HAVE_RANDOM_H. Include <random.h> when testing whether
49224         'struct random_data' exists.
49225         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49226
49227 2009-01-25  Bruno Haible  <bruno@clisp.org>
49228
49229         Don't install charset.alias on MacOS X >= 10.3.
49230         * lib/localcharset.c (DARWIN7): New macro.
49231         (get_charset_aliases): Hardcode the result for Darwin7.
49232         * modules/localcharset (install-exec-local): Don't install
49233         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49234
49235 2009-01-25  Bruno Haible  <bruno@clisp.org>
49236
49237         Don't install charset.alias on mingw and Cygwin.
49238         * modules/localcharset (install-exec-local): Don't install
49239         charset.alias on mingw and Cygwin, if the file does not yet exist.
49240         The result for these platforms is hardcoded in localcharset.c.
49241
49242 2009-01-25  Bruno Haible  <bruno@clisp.org>
49243
49244         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49245         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49246         before requiring AC_USE_SYSTEM_EXTENSIONS.
49247
49248 2009-01-25  Jim Meyering  <meyering@redhat.com>
49249
49250         c-strtod: avoid warnings
49251         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49252         "assignment discards qualifiers from pointer target type" warnings.
49253
49254 2009-01-24  Bruno Haible  <bruno@clisp.org>
49255
49256         Add support for non-UTF-8 locales on MacOS X.
49257         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49258         canonical encodings. For Darwin 7 and newer, don't map traditional
49259         encodings to UTF-8.
49260         Reported by Vincent Lefevre <vincent@vinc17.org>
49261         at <http://savannah.gnu.org/bugs/?25235>.
49262
49263 2009-01-24  Bruno Haible  <bruno@clisp.org>
49264
49265         * doc/gnulib.texi (Obsolete modules): New section.
49266         Reported by Mike Frysinger <vapier@gentoo.org>.
49267
49268 2009-01-24  Bruno Haible  <bruno@clisp.org>
49269
49270         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49271         (%.dvi): New rule.
49272
49273 2009-01-24  Bruno Haible  <bruno@clisp.org>
49274
49275         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49276         Reported by Eric Blake.
49277
49278 2009-01-24  Bruno Haible  <bruno@clisp.org>
49279
49280         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49281         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49282         Reported by Gary V. Vaughan <gary@gnu.org>.
49283
49284 2009-01-24  Bruno Haible  <bruno@clisp.org>
49285
49286         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49287
49288 2009-01-23  Bruno Haible  <bruno@clisp.org>
49289
49290         Make c-strtod, c-strtold usable in libraries.
49291         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49292         (C_STRTOD): Call strdup instead of xstrdup.
49293         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49294         * modules/c-strtold (Depends-on): Likewise.
49295         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49296         * NEWS: Mention the change.
49297         Reported by Michael Gold <mgold@ncf.ca>.
49298
49299 2009-01-23  Jim Meyering  <meyering@redhat.com>
49300
49301         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49302         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49303         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49304
49305 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49306
49307         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49308         GNU CoreUtils.
49309         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49310         * modules/version-etc (Description): Update.
49311
49312 2009-01-22  Bruno Haible  <bruno@clisp.org>
49313
49314         Cache the C locale object.
49315         * lib/c-strtod.c (c_locale_cache): New variable.
49316         (c_locale): New function.
49317         (C_STRTOD): Use it, and don't call freelocale.
49318         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49319         Suggested by Paolo Bonzini.
49320
49321 2009-01-21  Bruno Haible  <bruno@clisp.org>
49322
49323         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49324         conditions other than overflow.
49325
49326 2009-01-21  Bruno Haible  <bruno@clisp.org>
49327
49328         * lib/c-strtod.c: Include errno.h.
49329         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49330         value from STRTOD_L and STRTOD.
49331
49332 2009-01-21  Bruno Haible  <bruno@clisp.org>
49333         and Jim Meyering  <meyering@redhat.com>
49334
49335         nanosleep: skip configure test (fail it) for apple universal builds
49336         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49337         universal builds, assume that nanosleep does not work.
49338         * modules/nanosleep (Depends-on): Add multiarch.
49339
49340         mktime: skip configure test (fail it) for apple universal builds
49341         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49342         universal builds, assume that mktime does not work.
49343         * modules/mktime (Depends-on): Add multiarch.
49344
49345 2009-01-21  Eric Blake  <ebb9@byu.net>
49346
49347         multiarch: avoid expand-before-require warning
49348         * modules/multiarch (configure.ac): Require, rather than expand,
49349         gl_MULTIARCH.
49350         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49351         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49352         enforce that all clients require it.  Partial reversion of
49353         2008-12-29 patch.
49354
49355         error: avoid expand-before-require warning
49356         * modules/errno (configure.ac): Require, rather than expand,
49357         gl_HEADER_ERRNO_H.
49358         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49359         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49360         enforce that all clients require it.
49361
49362         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49363         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49364         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49365         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49366
49367 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49368
49369         Revert:
49370         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49371
49372         regex: do not depend on obsolete modules.
49373         * modules/regex: Remove memcmp and memmove.
49374
49375 2009-01-20  Bruno Haible  <bruno@clisp.org>
49376
49377         Make the 'link' module link on Windows NT 4.
49378         * lib/link.c (_WIN32_WINNT): Don't define.
49379         (CreateHardLinkFuncType): New type.
49380         (CreateHardLinkFunc, initialized): New variables.
49381         (initialize): New function.
49382         (link): Invoke CreateHardLink indirectly through the function pointer.
49383
49384 2009-01-20  Bruno Haible  <bruno@clisp.org>
49385
49386         Fix compilation failure on mingw.
49387         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49388
49389 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49390
49391         * doc/c-strtod.texi: Mention a couple of restrictions.
49392
49393 2009-01-20  Jim Meyering  <meyering@redhat.com>
49394
49395         gettimeofday: move more declarations out of functions
49396         * lib/gettimeofday.c: Move extern declarations of tzset and
49397         gmtime out of containing functions.  Prompted by Bruno Haible.
49398
49399 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49400
49401         regex: do not depend on obsolete modules.
49402         * modules/regex: Remove memcmp and memmove.
49403
49404 2009-01-19  Bruno Haible  <bruno@clisp.org>
49405
49406         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49407         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49408         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49409         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49410         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49411
49412 2009-01-19  Bruno Haible  <bruno@clisp.org>
49413
49414         * tests/test-link.c: Include <errno.h>.
49415         (main): Exit with code 77 when a hard link cannot be created due to
49416         the file system.
49417         * tests/test-link.sh: Skip test when a hard link cannot be created due
49418         to the file system.
49419         Suggested by Eric Blake.
49420
49421 2009-01-19  Martin Lambers  <marlam@marlam.de>
49422
49423         * modules/link-tests: New file.
49424         * tests/test-link.sh: New file.
49425         * tests/test-link.c: New file.
49426
49427 2009-01-19  Eric Blake  <ebb9@byu.net>
49428
49429         doc: mention another function added in cygwin 1.7.0
49430         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
49431         Another new function in cygwin 1.7.
49432
49433 2009-01-19  Bruno Haible  <bruno@clisp.org>
49434
49435         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49436         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
49437         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
49438         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49439         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
49440         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
49441         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49442         * m4/md4.m4 (gl_MD4): Likewise.
49443         * m4/md5.m4 (gl_MD5): Likewise.
49444         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
49445         * m4/sha1.m4 (gl_SHA1): Likewise.
49446         * m4/sha256.m4 (gl_SHA256): Likewise.
49447         * m4/sha512.m4 (gl_SHA512): Likewise.
49448
49449 2009-01-19  Bruno Haible  <bruno@clisp.org>
49450
49451         * modules/uniname/uniname-tests (Depends-on): Add progname.
49452         * tests/uniname/test-uninames.c: Include progname.h.
49453         (main): Call set_program_name.
49454
49455         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
49456         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
49457         (main): Call set_program_name.
49458
49459         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49460         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49461         (main): Call set_program_name.
49462
49463         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49464         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49465         (main): Call set_program_name.
49466
49467         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49468         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49469         (main): Call set_program_name.
49470
49471         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49472         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49473         (main): Call set_program_name.
49474
49475         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49476         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49477         (main): Call set_program_name.
49478
49479         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49480         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49481         (main): Call set_program_name.
49482
49483         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49484         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49485         (main): Call set_program_name.
49486
49487 2009-01-19  Eric Blake  <ebb9@byu.net>
49488
49489         test-unistd: test previous patch
49490         * tests/test-unistd.c: Test *_FILENO macros.
49491
49492         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49493         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49494         Guarantee a definition.
49495         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49496         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49497         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49498         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49499         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49500         Likewise.
49501         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49502         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49503         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49504         Likewise.
49505         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49506         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49507         (STDERR_FILENO): Likewise.
49508         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49509         (STDERR_FILENO): Likewise.
49510         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49511         (STDERR_FILENO): Likewise.
49512         Reported by Elbert Pol.
49513
49514 2009-01-19  Eric Blake  <ebb9@byu.net>
49515
49516         doc: mention more functions added in cygwin 1.7.0
49517         * doc/posix-functions/abort.texi (abort): Update wording related
49518         to cygwin.
49519         * doc/posix-functions/daylight.texi (daylight): Likewise.
49520         * doc/posix-functions/optarg.texi (optarg): Likewise.
49521         * doc/posix-functions/optarg.texi (opterr): Likewise.
49522         * doc/posix-functions/optarg.texi (optind): Likewise.
49523         * doc/posix-functions/optarg.texi (optopt): Likewise.
49524         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49525         worked in 1.5.x, and was withdrawn in 1.7.
49526         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49527         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49528         cygwin versions.
49529         * doc/posix-functions/perror.texi (perror): Likewise.
49530         * doc/posix-functions/printf.texi (printf): Likewise.
49531         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49532         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49533         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49534         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49535         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49536         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49537         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49538         Likewise.
49539         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49540         Likewise.
49541         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49542         this function.
49543         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49544         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49545         Likewise.
49546         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49547         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49548         * doc/posix-functions/confstr.texi (confstr): Likewise.
49549         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49550         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49551         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49552         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49553         * doc/posix-functions/fputws.texi (fputws): Likewise.
49554         * doc/posix-functions/fwide.texi (fwide): Likewise.
49555         * doc/posix-functions/getwc.texi (getwc): Likewise.
49556         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49557         * doc/posix-functions/putwc.texi (putwc): Likewise.
49558         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49559         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49560         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49561         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49562         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49563         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49564         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49565         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49566         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49567         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49568         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49569
49570 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49571
49572         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49573         * lib/ioctl.c: Include <sys/ioctl.h>.
49574
49575 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49576
49577         * modules/getdate-tests (Depends-on): Add progname.
49578         * tests/test-getdate.c: Use progname module, to avoid link errors
49579         on non-glibc systems.
49580
49581 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49582
49583         * modules/filenamecat-tests (Depends-on): Add progname.
49584         * modules/fstrcmp-tests (Depends-on): Likewise.
49585
49586         * tests/test-filenamecat.c: Use progname module, to avoid link
49587         errors on non-glibc systems.
49588         * tests/test-fstrcmp.c: Likewise.
49589
49590 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49591
49592         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49593         * lib/gettimeofday.c: Move extern declaration out of function.
49594
49595 2009-01-18  Bruno Haible  <bruno@clisp.org>
49596
49597         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49598         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49599         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49600
49601 2009-01-18  Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/strftime.c (MEMPCPY): Remove unused macro.
49604         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49605
49606 2009-01-18  Martin Lambers  <marlam@marlam.de>
49607
49608         New module 'link'.
49609         * lib/unistd.in.h (link): New declaration.
49610         * lib/link.c: New file.
49611         * m4/link.m4: New file.
49612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49613         HAVE_LINK.
49614         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49615         * modules/link: New file.
49616         * doc/posix-functions/link.texi: Mention the new module.
49617
49618 2009-01-18  Bruno Haible  <bruno@clisp.org>
49619
49620         * tests/test-avltree_list.c (main): Call set_program_name.
49621         * tests/test-avltree_oset.c (main): Likewise.
49622         * tests/test-obstack-printf.c: Include progname.h.
49623         (main): Call set_program_name.
49624         * tests/test-quotearg.c: Include progname.h.
49625         (main): Call set_program_name.
49626         * tests/test-xmemdup0.c: Include progname.h.
49627         (main): Call set_program_name.
49628
49629 2009-01-18  Bruno Haible  <bruno@clisp.org>
49630
49631         New module 'alphasort'.
49632         * lib/dirent.in.h (alphasort): New declaration.
49633         * lib/alphasort.c: New file, from glibc with modifications.
49634         * m4/alphasort.m4: New file.
49635         * modules/alphasort: New file.
49636         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49637         HAVE_ALPHASORT.
49638         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49639         HAVE_ALPHASORT.
49640         * doc/posix-functions/alphasort.texi: Mention the new module and the
49641         portability problems.
49642
49643 2009-01-18  Bruno Haible  <bruno@clisp.org>
49644
49645         New module 'scandir'.
49646         * lib/dirent.in.h (scandir): New declaration.
49647         * lib/scandir.c: New file, from glibc with modifications.
49648         * m4/scandir.m4: New file.
49649         * modules/scandir: New file.
49650         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49651         HAVE_SCANDIR.
49652         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49653         HAVE_SCANDIR.
49654         * doc/posix-functions/scandir.texi: Mention the new module and the
49655         portability problems.
49656
49657 2009-01-17  Bruno Haible  <bruno@clisp.org>
49658
49659         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49660         Update documentation.
49661         (func_remove_suffix): Escape all dots in the suffix. Update
49662         documentation.
49663         (func_filter_filelist): Update documentation.
49664         Reported by Ralf Wildenhues.
49665
49666 2009-01-17  Bruno Haible  <bruno@clisp.org>
49667
49668         * modules/dprintf-posix-tests: New file.
49669         * tests/test-dprintf-posix.sh: New file.
49670         * tests/test-dprintf-posix.c: New file.
49671
49672         New modules 'dprintf', 'dprintf-posix'.
49673         * lib/stdio.in.h (dprintf): New declaration.
49674         * lib/dprintf.c: New file.
49675         * m4/dprintf.m4: New file.
49676         * m4/dprintf-posix.m4: New file.
49677         * modules/dprintf: New file.
49678         * modules/dprintf-posix: New file.
49679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49680         HAVE_DPRINTF, REPLACE_DPRINTF.
49681         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49682         HAVE_DPRINTF, REPLACE_DPRINTF.
49683         * doc/posix-functions/dprintf.texi: Mention the new modules.
49684
49685 2009-01-17  Bruno Haible  <bruno@clisp.org>
49686
49687         * modules/vdprintf-posix-tests: New file.
49688         * tests/test-vdprintf-posix.sh: New file.
49689         * tests/test-vdprintf-posix.c: New file.
49690
49691         New modules 'vdprintf', 'vdprintf-posix'.
49692         * lib/stdio.in.h (vdprintf): New declaration.
49693         * lib/vdprintf.c: New file.
49694         * m4/vdprintf.m4: New file.
49695         * m4/vdprintf-posix.m4: New file.
49696         * modules/vdprintf: New file.
49697         * modules/vdprintf-posix: New file.
49698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49699         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49700         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49701         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49702         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49703
49704 2009-01-17  Bruno Haible  <bruno@clisp.org>
49705
49706         Fix replacement of fopen on mingw.
49707         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49708         mingw.
49709
49710 2009-01-17  Bruno Haible  <bruno@clisp.org>
49711
49712         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49713         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49714
49715 2009-01-17  Bruno Haible  <bruno@clisp.org>
49716
49717         Avoid test-fflush2.sh failure on mingw.
49718         * tests/test-fflush2.c: Include binary-io.h.
49719         (main): Put standard input into binary mode.
49720         * modules/fflush-tests (Depends-on): Add binary-io.
49721
49722 2009-01-17  Bruno Haible  <bruno@clisp.org>
49723
49724         * lib/wchar.in.h: In another particular situation, include only the
49725         system's <wchar.h> file.
49726         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49727         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49728         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49729
49730 2009-01-17  Bruno Haible  <bruno@clisp.org>
49731
49732         Support for stripping executables in --enable-relocatable.
49733         * build-aux/install-reloc: Expect one more argument, or an environment
49734         variable RELOC_STRIP_PROG. If set, strip the destination program and
49735         its wrapper.
49736         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49737         RELOC_STRIP_PROG.
49738         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49739         to set RELOCATABLE_STRIP.
49740         * NEWS: Mention the new Makefile requirement.
49741
49742 2009-01-17  Bruno Haible  <bruno@clisp.org>
49743
49744         * build-aux/install-reloc: Remove debugging information left over by
49745         C compiler on MacOS X.
49746
49747 2009-01-17  Bruno Haible  <bruno@clisp.org>
49748
49749         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49750         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49751         _NSGetExecutablePath.
49752
49753 2009-01-16  Jim Meyering  <meyering@redhat.com>
49754
49755         strerror: avoid warnings about discarding "const"
49756         * lib/strerror.c (rpl_strerror): Instead of returning a const
49757         string from each and every "case", use a variable, and add a single
49758         cast after the switch.
49759
49760 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49761
49762         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49763
49764 2009-01-16  Bruno Haible  <bruno@clisp.org>
49765
49766         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49767         array initializer syntax that also works in C++ mode.
49768         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49769
49770 2009-01-16  Jim Meyering  <meyering@redhat.com>
49771
49772         poll: suppress a warning
49773         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49774         to ignore "...unsigned expression < 0 is always false" warnings.
49775
49776 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49777
49778         poll: remove declarations of unused variables
49779         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49780         sockbuf and optlen.
49781
49782 2009-01-15  Bruno Haible  <bruno@clisp.org>
49783
49784         Make fflush-after-ungetc POSIX compliant on BSD systems.
49785         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49786         (clear_ungetc_buffer): Implement also for other systems.
49787         (rpl_fflush): On glibc systems, invoke
49788         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49789         clear_ungetc_buffer after fetching the stream's position, not before.
49790
49791 2009-01-15  Bruno Haible  <bruno@clisp.org>
49792
49793         Make fflush-after-ungetc POSIX compliant on glibc systems.
49794         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49795         after ungetc.
49796         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49797         (rpl_fflush): On glibc systems, simply call the system's fflush
49798         function after clearing the ungetc buffer.
49799         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49800         Instead, lseek only to the end of file, then use the system's fseeko
49801         for the rest. On glibc systems, reset the EOF indicator bit.
49802
49803 2009-01-15  Jim Meyering  <meyering@redhat.com>
49804
49805         openmp.m4: revert quote-adding change, for portability to older autoconf
49806         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49807         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49808         Simon Josefsson noticed the problem when using autoconf-2.61.
49809
49810 2009-01-15  Bruno Haible  <bruno@clisp.org>
49811
49812         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49813         * tests/test-fflush2.c (ASSERT): Always fail.
49814         (main): Add two tests for fflush() after ungetc(), taking into account
49815         the Austin Group's clarification.
49816         Suggested by Eric Blake.
49817
49818 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49819
49820         mktime.m4: remove K&R-style function prototypes
49821         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49822         for the Sun C++ compiler.
49823
49824 2009-01-14  Bruno Haible  <bruno@clisp.org>
49825
49826         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49827         while including <wchar.h>.
49828         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49829         the system's <wchar.h> file.
49830         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49831
49832 2009-01-14  Bruno Haible  <bruno@clisp.org>
49833
49834         * m4/csharp.m4: Don't mention gettext on the serial number line.
49835         * m4/csharpexec.m4: Likewise.
49836         * m4/eaccess.m4: Likewise.
49837         * m4/javaexec.m4: Likewise.
49838         * m4/sig_atomic_t.m4: Likewise.
49839         * m4/tmpdir.m4: Likewise.
49840         * m4/intldir.m4: Bump gettext version.
49841         * m4/lib-ld.m4: Likewise.
49842
49843 2009-01-14  Bruno Haible  <bruno@clisp.org>
49844
49845         * lib/progname.c (set_program_name): Add more comments.
49846         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49847
49848 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49849
49850         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49851         were sys/stat.h does not define it.
49852
49853 2009-01-14  Jim Meyering  <meyering@redhat.com>
49854
49855         many *.m4 files: improve m4 quoting
49856         99% of this change was performed by running the following commands:
49857         git ls-files | grep '\.m4$' | xargs perl -pi \
49858           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49859           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49860           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49861           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49862         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49863         The remainder were to add Copyright dates, increment serial numbers,
49864         undo some changes in comments, exclude m4/intl.m4, and add quotes
49865         around the "1" in ",1" where the unusual spacing prohibited the
49866         above regexps from doing the job.  For more details, see
49867         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49868         * m4/acl.m4: Modified.
49869         * m4/afs.m4: Likewise.
49870         * m4/alloca.m4: Likewise.
49871         * m4/argp.m4: Likewise.
49872         * m4/argz.m4: Likewise.
49873         * m4/atexit.m4: Likewise.
49874         * m4/bison-i18n.m4: Likewise.
49875         * m4/bison.m4: Likewise.
49876         * m4/byteswap.m4: Likewise.
49877         * m4/c-stack.m4: Likewise.
49878         * m4/c-strtod.m4: Likewise.
49879         * m4/calloc.m4: Likewise.
49880         * m4/canonicalize-lgpl.m4: Likewise.
49881         * m4/chown.m4: Likewise.
49882         * m4/clock_time.m4: Likewise.
49883         * m4/codeset.m4: Likewise.
49884         * m4/copy-file.m4: Likewise.
49885         * m4/csharp.m4: Likewise.
49886         * m4/csharpcomp.m4: Likewise.
49887         * m4/csharpexec.m4: Likewise.
49888         * m4/d-ino.m4: Likewise.
49889         * m4/d-type.m4: Likewise.
49890         * m4/dirfd.m4: Likewise.
49891         * m4/double-slash-root.m4: Likewise.
49892         * m4/eaccess.m4: Likewise.
49893         * m4/eealloc.m4: Likewise.
49894         * m4/environ.m4: Likewise.
49895         * m4/errno_h.m4: Likewise.
49896         * m4/euidaccess.m4: Likewise.
49897         * m4/execute.m4: Likewise.
49898         * m4/fatal-signal.m4: Likewise.
49899         * m4/fchdir.m4: Likewise.
49900         * m4/fcntl_h.m4: Likewise.
49901         * m4/fileblocks.m4: Likewise.
49902         * m4/filenamecat.m4: Likewise.
49903         * m4/findprog.m4: Likewise.
49904         * m4/flexmember.m4: Likewise.
49905         * m4/fnmatch.m4: Likewise.
49906         * m4/fopen.m4: Likewise.
49907         * m4/fpending.m4: Likewise.
49908         * m4/fprintf-posix.m4: Likewise.
49909         * m4/free.m4: Likewise.
49910         * m4/frexp.m4: Likewise.
49911         * m4/frexpl.m4: Likewise.
49912         * m4/fsusage.m4: Likewise.
49913         * m4/ftruncate.m4: Likewise.
49914         * m4/gc-camellia.m4: Likewise.
49915         * m4/gc-random.m4: Likewise.
49916         * m4/gc.m4: Likewise.
49917         * m4/getaddrinfo.m4: Likewise.
49918         * m4/getcwd-abort-bug.m4: Likewise.
49919         * m4/getcwd-path-max.m4: Likewise.
49920         * m4/getdate.m4: Likewise.
49921         * m4/getdomainname.m4: Likewise.
49922         * m4/getgroups.m4: Likewise.
49923         * m4/gethostname.m4: Likewise.
49924         * m4/gethrxtime.m4: Likewise.
49925         * m4/getline.m4: Likewise.
49926         * m4/getloadavg.m4: Likewise.
49927         * m4/getndelim2.m4: Likewise.
49928         * m4/getpass.m4: Likewise.
49929         * m4/gettext.m4: Likewise.
49930         * m4/gettime.m4: Likewise.
49931         * m4/gettimeofday.m4: Likewise.
49932         * m4/gnulib-common.m4: Likewise.
49933         * m4/group-member.m4: Likewise.
49934         * m4/host-os.m4: Likewise.
49935         * m4/iconv.m4: Likewise.
49936         * m4/iconv_open.m4: Likewise.
49937         * m4/inet_ntop.m4: Likewise.
49938         * m4/inet_pton.m4: Likewise.
49939         * m4/inline.m4: Likewise.
49940         * m4/intldir.m4: Likewise.
49941         * m4/intlmacosx.m4: Likewise.
49942         * m4/intmax.m4: Likewise.
49943         * m4/intmax_t.m4: Likewise.
49944         * m4/inttypes.m4: Likewise.
49945         * m4/inttypes_h.m4: Likewise.
49946         * m4/inttypes-pri.m4: Likewise.
49947         * m4/isapipe.m4: Likewise.
49948         * m4/isnand.m4: Likewise.
49949         * m4/isnanf.m4: Likewise.
49950         * m4/isnanl.m4: Likewise.
49951         * m4/javacomp.m4: Likewise.
49952         * m4/javaexec.m4: Likewise.
49953         * m4/jm-winsz1.m4: Likewise.
49954         * m4/jm-winsz2.m4: Likewise.
49955         * m4/lchown.m4: Likewise.
49956         * m4/lcmessage.m4: Likewise.
49957         * m4/ldexpl.m4: Likewise.
49958         * m4/lib-ld.m4: Likewise.
49959         * m4/lib-link.m4: Likewise.
49960         * m4/libsigsegv.m4: Likewise.
49961         * m4/link-follow.m4: Likewise.
49962         * m4/localcharset.m4: Likewise.
49963         * m4/locale-fr.m4: Likewise.
49964         * m4/locale-ja.m4: Likewise.
49965         * m4/locale-tr.m4: Likewise.
49966         * m4/locale-zh.m4: Likewise.
49967         * m4/lock.m4: Likewise.
49968         * m4/longlong.m4: Likewise.
49969         * m4/ls-mntd-fs.m4: Likewise.
49970         * m4/lstat.m4: Likewise.
49971         * m4/malloc.m4: Likewise.
49972         * m4/mathl.m4: Likewise.
49973         * m4/mbrtowc.m4: Likewise.
49974         * m4/mbstate_t.m4: Likewise.
49975         * m4/mbswidth.m4: Likewise.
49976         * m4/memchr.m4: Likewise.
49977         * m4/memcmp.m4: Likewise.
49978         * m4/memcpy.m4: Likewise.
49979         * m4/memmem.m4: Likewise.
49980         * m4/memmove.m4: Likewise.
49981         * m4/mempcpy.m4: Likewise.
49982         * m4/memrchr.m4: Likewise.
49983         * m4/memset.m4: Likewise.
49984         * m4/minmax.m4: Likewise.
49985         * m4/mkdir-slash.m4: Likewise.
49986         * m4/mkdtemp.m4: Likewise.
49987         * m4/mktime.m4: Likewise.
49988         * m4/mmap-anon.m4: Likewise.
49989         * m4/mountlist.m4: Likewise.
49990         * m4/nanosleep.m4: Likewise.
49991         * m4/nls.m4: Likewise.
49992         * m4/nocrash.m4: Likewise.
49993         * m4/open.m4: Likewise.
49994         * m4/openat.m4: Likewise.
49995         * m4/openmp.m4: Likewise.
49996         * m4/pathmax.m4: Likewise.
49997         * m4/perl.m4: Likewise.
49998         * m4/physmem.m4: Likewise.
49999         * m4/pipe.m4: Likewise.
50000         * m4/po.m4: Likewise.
50001         * m4/poll.m4: Likewise.
50002         * m4/posixtm.m4: Likewise.
50003         * m4/posixver.m4: Likewise.
50004         * m4/printf-frexp.m4: Likewise.
50005         * m4/printf-frexpl.m4: Likewise.
50006         * m4/printf-posix.m4: Likewise.
50007         * m4/printf-posix-rpl.m4: Likewise.
50008         * m4/printf.m4: Likewise.
50009         * m4/progtest.m4: Likewise.
50010         * m4/putenv.m4: Likewise.
50011         * m4/readline.m4: Likewise.
50012         * m4/readlink.m4: Likewise.
50013         * m4/readutmp.m4: Likewise.
50014         * m4/realloc.m4: Likewise.
50015         * m4/regex.m4: Likewise.
50016         * m4/relocatable.m4: Likewise.
50017         * m4/relocatable-lib.m4: Likewise.
50018         * m4/rename-dest-slash.m4: Likewise.
50019         * m4/rename.m4: Likewise.
50020         * m4/rmdir-errno.m4: Likewise.
50021         * m4/rmdir.m4: Likewise.
50022         * m4/roundf.m4: Likewise.
50023         * m4/roundl.m4: Likewise.
50024         * m4/rpmatch.m4: Likewise.
50025         * m4/save-cwd.m4: Likewise.
50026         * m4/selinux-selinux-h.m4: Likewise.
50027         * m4/setenv.m4: Likewise.
50028         * m4/settime.m4: Likewise.
50029         * m4/sig2str.m4: Likewise.
50030         * m4/sig_atomic_t.m4: Likewise.
50031         * m4/signalblocking.m4: Likewise.
50032         * m4/signbit.m4: Likewise.
50033         * m4/sigpipe.m4: Likewise.
50034         * m4/sockets.m4: Likewise.
50035         * m4/sockpfaf.m4: Likewise.
50036         * m4/st_dm_mode.m4: Likewise.
50037         * m4/stat-time.m4: Likewise.
50038         * m4/stdbool.m4: Likewise.
50039         * m4/stdint.m4: Likewise.
50040         * m4/stdint_h.m4: Likewise.
50041         * m4/stpcpy.m4: Likewise.
50042         * m4/stpncpy.m4: Likewise.
50043         * m4/strcase.m4: Likewise.
50044         * m4/strchrnul.m4: Likewise.
50045         * m4/strcspn.m4: Likewise.
50046         * m4/strdup.m4: Likewise.
50047         * m4/strftime.m4: Likewise.
50048         * m4/strndup.m4: Likewise.
50049         * m4/strnlen.m4: Likewise.
50050         * m4/strpbrk.m4: Likewise.
50051         * m4/strptime.m4: Likewise.
50052         * m4/strsep.m4: Likewise.
50053         * m4/strtod.m4: Likewise.
50054         * m4/strtoimax.m4: Likewise.
50055         * m4/strtok_r.m4: Likewise.
50056         * m4/strtol.m4: Likewise.
50057         * m4/strtoll.m4: Likewise.
50058         * m4/strtoul.m4: Likewise.
50059         * m4/strtoull.m4: Likewise.
50060         * m4/strtoumax.m4: Likewise.
50061         * m4/strverscmp.m4: Likewise.
50062         * m4/threadlib.m4: Likewise.
50063         * m4/timegm.m4: Likewise.
50064         * m4/tm_gmtoff.m4: Likewise.
50065         * m4/tmpdir.m4: Likewise.
50066         * m4/tmpfile.m4: Likewise.
50067         * m4/tzset.m4: Likewise.
50068         * m4/uintmax_t.m4: Likewise.
50069         * m4/unlinkdir.m4: Likewise.
50070         * m4/unlocked-io.m4: Likewise.
50071         * m4/uptime.m4: Likewise.
50072         * m4/userspec.m4: Likewise.
50073         * m4/utimbuf.m4: Likewise.
50074         * m4/utime.m4: Likewise.
50075         * m4/utimes-null.m4: Likewise.
50076         * m4/utimes.m4: Likewise.
50077         * m4/vararrays.m4: Likewise.
50078         * m4/vasnprintf.m4: Likewise.
50079         * m4/vfprintf-posix.m4: Likewise.
50080         * m4/vprintf-posix.m4: Likewise.
50081         * m4/wait-process.m4: Likewise.
50082         * m4/wchar_t.m4: Likewise.
50083         * m4/wint_t.m4: Likewise.
50084         * m4/write-any-file.m4: Likewise.
50085         * m4/yield.m4: Likewise.
50086
50087 2009-01-13  Bruno Haible  <bruno@clisp.org>
50088
50089         Avoid test-copy-file.sh failures when ACL support insufficient.
50090         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
50091         TESTS_ENVIRONMENT.
50092         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
50093         Reported by Jim Meyering.
50094
50095 2009-01-13  Bruno Haible  <bruno@clisp.org>
50096
50097         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
50098         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
50099         * modules/unistdio/u8-printf-parse (Files): Likewise.
50100         * modules/unistdio/u32-printf-parse (Files): Likewise.
50101         * modules/unistdio/ulc-printf-parse (Files): Likewise.
50102
50103 2009-01-13  Simon Josefsson  <simon@josefsson.org>
50104
50105         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
50106         and m4/inttypes_h.m4 too.
50107
50108 2009-01-12  Eric Blake  <ebb9@byu.net>
50109
50110         tests: IRIX 6.2 cc can't compile -0.0 into .data
50111         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
50112         rather than at compile-time.
50113         * tests/test-floorl.c (minus_zero): Likewise.
50114         * tests/test-frexpl.c (minus_zero): Likewise.
50115         * tests/test-isnan.c (minus_zerol): Likewise.
50116         * tests/test-isnanl.h (minus_zero): Likewise.
50117         * tests/test-ldexpl.c (minus_zero): Likewise.
50118         * tests/test-roundl.c (minus_zero): Likewise.
50119         * tests/test-signbit.c (minus_zerol): Likewise.
50120         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50121         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50122         * tests/test-truncl.c (minus_zero): Likewise.
50123         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50124         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50125         Reported by Tom G. Christensen and Nelson H. F. Beebe.
50126
50127 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50128
50129         regex: fix glibc bug 9697
50130         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50131         handling.
50132
50133 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50134
50135         regex: fix glibc bug 697
50136         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50137         being NULL also if there are no backreferences.
50138
50139 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50140
50141         regex: merge glibc changes
50142         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50143         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50144         re_string_skip_chars, re_string_reconstruct): Likewise.
50145         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50146
50147 2009-01-07  Jim Meyering  <meyering@redhat.com>
50148
50149         poll: filter through cppi
50150         * lib/poll.c: Indent cpp directives to reflect nesting.
50151
50152 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50153
50154         poll: don't return uninitialized
50155         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50156
50157 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50158
50159         avoid compile failure on AIX 6.1
50160         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50161         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50162
50163 2009-01-04  Jim Meyering  <meyering@redhat.com>
50164
50165         remove duplicate inclusion of <stdio.h>
50166         * tests/test-fprintf-posix.c: Likewise.
50167         * tests/test-printf-posix.c: Likewise.
50168         * tests/test-snprintf-posix.c: Likewise.
50169         * tests/test-sprintf-posix.c: Likewise.
50170         * tests/test-vasprintf-posix.c: Likewise.
50171         * tests/test-vfprintf-posix.c: Likewise.
50172         * tests/test-vprintf-posix.c: Likewise.
50173         * tests/test-vsnprintf-posix.c: Likewise.
50174         * tests/test-vsprintf-posix.c: Likewise.
50175
50176 2009-01-03  Jim Meyering  <meyering@redhat.com>
50177
50178         gnulib-tool: fix sed-based filtering
50179         * gnulib-tool (func_filter_filelist): Remove extra backslash
50180         in sed_fff_filter definition.
50181
50182 2009-01-02  Jim Meyering  <meyering@redhat.com>
50183
50184         strftime: avoid compilation failure on Solaris 2.6
50185         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50186         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50187         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50188         be available.  Reported by Tom G. Christensen.  Details in
50189         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50190
50191 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50192             Bruno Haible  <bruno@clisp.org>
50193
50194         Speed up gnulib-tool by doing more string processing through shell
50195         built-ins.
50196         * gnulib-tool (fast_func_append): New variable.
50197         (func_remove_prefix, func_remove_suffix): New functions.
50198         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50199         (func_filter_filelist): New function.
50200         (func_get_dependencies): Use func_remove_suffix instead of sed.
50201         (func_get_automake_snippet): Use func_filter_filelist instead of a
50202         subshell and sed invocation.
50203
50204 2009-01-01  Bruno Haible  <bruno@clisp.org>
50205
50206         Fix a security bug.
50207         * gnulib-tool (func_import, import, update): Don't allow the characters
50208         '"', '$', '`', '\' in macro arguments that become part of commands that
50209         are evaluated.
50210
50211 2009-01-01  Bruno Haible  <bruno@clisp.org>
50212
50213         * gnulib-tool (func_reset_sigpipe): Add more comments.
50214
50215 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50216
50217         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50218         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50219         already know the answer.
50220
50221 2009-01-01  Jim Meyering  <meyering@redhat.com>
50222
50223         * lib/version-etc.c (version_etc_va): Update copyright year.
50224
50225 2008-12-30  Bruno Haible  <bruno@clisp.org>
50226
50227         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50228         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50229         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50230
50231 2008-12-29  Eric Blake  <ebb9@byu.net>
50232
50233         multiarch: avoid autoconf AC_REQUIRE bug
50234         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50235         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50236         2.63 and older.
50237         Reported by Bruno Haible, and analyzed in
50238         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50239
50240 2008-12-29  Bruno Haible  <bruno@clisp.org>
50241
50242         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50243         files in subdirectories correctly.
50244         Reported by Ralf Wildenhues.
50245
50246 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50247
50248         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50249         rather than 'join FILE -', for Solaris join.
50250
50251 2008-12-29  Bruno Haible  <bruno@clisp.org>
50252
50253         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50254         quoting.
50255         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50256         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50257         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50258         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50259         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50260         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50261         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50262         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50263         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50264         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50265         * m4/nls.m4 (AM_NLS): Likewise.
50266         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50267         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50268         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50269         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50270         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50271         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50272         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50273         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50274         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50275         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50276         * m4/xsize.m4 (gl_XSIZE): Likewise.
50277         Suggested by Jim Meyering.
50278
50279 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50280
50281         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50282         * lib/parse-duration.c: use a switch instead of cascading if's.
50283
50284 2008-12-29  Eric Blake  <ebb9@byu.net>
50285
50286         wchar.h: supply WEOF on Irix 5.3
50287         * lib/wchar.in.h (wint_t): Also supply WEOF.
50288         * lib/wctype.in.h (wint_t): Likewise.
50289         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50290         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50291         Reported by Tom G. Christensen.
50292
50293 2008-12-26  Bruno Haible  <bruno@clisp.org>
50294
50295         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50296         i486, i586, i686.
50297
50298 2008-12-26  Bruno Haible  <bruno@clisp.org>
50299
50300         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50301
50302 2008-12-26  Bruno Haible  <bruno@clisp.org>
50303
50304         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50305         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50306         not __STDC_CONSTANT_MACROS.
50307         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50308
50309 2008-12-25  Bruno Haible  <bruno@clisp.org>
50310
50311         Add support for universal builds to vasnprintf.
50312         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50313         universal builds, guess no.
50314         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50315         * modules/vasprintf-posix (Depends-on): Likewise.
50316         * modules/fprintf-posix (Depends-on): Likewise.
50317         * modules/vfprintf-posix (Depends-on): Likewise.
50318         * modules/snprintf-posix (Depends-on): Likewise.
50319         * modules/vsnprintf-posix (Depends-on): Likewise.
50320         * modules/sprintf-posix (Depends-on): Likewise.
50321         * modules/vsprintf-posix (Depends-on): Likewise.
50322         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50323         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50324         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50325         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50326         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50327         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50328         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50329
50330         Add support for universal builds to <inttypes.h>.
50331         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50332         _SCNu64_PREFIX): In Apple
50333         universal builds, define directly, using _LP64.
50334         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50335         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50336         * modules/inttypes (Depends-on): Add multiarch.
50337         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50338
50339         Add support for universal builds to <stdint.h>.
50340         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50341         universal builds, define directly, using _LP64.
50342         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50343         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50344         and size_t.
50345         * modules/stdint (Depends-on): Add multiarch.
50346         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50347
50348         New module 'multiarch'.
50349         * modules/multiarch: New file.
50350         * m4/multiarch.m4: New file.
50351
50352 2008-12-25  Bruno Haible  <bruno@clisp.org>
50353
50354         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50355
50356 2008-12-25  Bruno Haible  <bruno@clisp.org>
50357
50358         * modules/btowc (License): Relicense under LGPLv2+.
50359         * modules/mbsinit (License): Likewise.
50360         * modules/mbrtowc (License): Likewise.
50361         * modules/wcrtomb (License): Likewise.
50362         * modules/streq (License): Likewise.
50363         Reported by David Lutterkort <lutter@redhat.com>.
50364
50365 2008-12-23  Bruno Haible  <bruno@clisp.org>
50366
50367         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50368
50369 2008-12-23  Bruno Haible  <bruno@clisp.org>
50370
50371         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50372         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50373         GETADDRINFO_LIB, not in LIBS.
50374         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50375         * modules/canon-host (Link): Likewise.
50376         * NEWS: Mention the change.
50377         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50378         GETADDRINFO_LIB.
50379
50380 2008-12-22  Bruno Haible  <bruno@clisp.org>
50381
50382         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50383         * doc/posix-functions/iswalpha_l.texi: Likewise.
50384         * doc/posix-functions/iswblank_l.texi: Likewise.
50385         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50386         * doc/posix-functions/iswctype_l.texi: Likewise.
50387         * doc/posix-functions/iswdigit_l.texi: Likewise.
50388         * doc/posix-functions/iswgraph_l.texi: Likewise.
50389         * doc/posix-functions/iswlower_l.texi: Likewise.
50390         * doc/posix-functions/iswprint_l.texi: Likewise.
50391         * doc/posix-functions/iswpunct_l.texi: Likewise.
50392         * doc/posix-functions/iswspace_l.texi: Likewise.
50393         * doc/posix-functions/iswupper_l.texi: Likewise.
50394         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50395         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50396         * doc/posix-functions/open_wmemstream.texi: Likewise.
50397         * doc/posix-functions/swscanf.texi: Likewise.
50398         * doc/posix-functions/towctrans_l.texi: Likewise.
50399         * doc/posix-functions/towlower.texi: Likewise.
50400         * doc/posix-functions/towlower_l.texi: Likewise.
50401         * doc/posix-functions/towupper.texi: Likewise.
50402         * doc/posix-functions/towupper_l.texi: Likewise.
50403         * doc/posix-functions/vfwprintf.texi: Likewise.
50404         * doc/posix-functions/vfwscanf.texi: Likewise.
50405         * doc/posix-functions/vswscanf.texi: Likewise.
50406         * doc/posix-functions/vwprintf.texi: Likewise.
50407         * doc/posix-functions/vwscanf.texi: Likewise.
50408         * doc/posix-functions/wcpcpy.texi: Likewise.
50409         * doc/posix-functions/wcpncpy.texi: Likewise.
50410         * doc/posix-functions/wcscasecmp.texi: Likewise.
50411         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50412         * doc/posix-functions/wcscoll_l.texi: Likewise.
50413         * doc/posix-functions/wcsdup.texi: Likewise.
50414         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50415         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50416         * doc/posix-functions/wcsnlen.texi: Likewise.
50417         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50418         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50419         * doc/posix-functions/wctrans_l.texi: Likewise.
50420         * doc/posix-functions/wctype_l.texi: Likewise.
50421         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50422         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50423         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
50424         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
50425         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
50426         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
50427         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
50428         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
50429         * doc/glibc-functions/wcschrnul.texi: Likewise.
50430         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50431         * doc/glibc-functions/wcstod_l.texi: Likewise.
50432         * doc/glibc-functions/wcstof_l.texi: Likewise.
50433         * doc/glibc-functions/wcstol_l.texi: Likewise.
50434         * doc/glibc-functions/wcstold_l.texi: Likewise.
50435         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50436         * doc/glibc-functions/wcstoq.texi: Likewise.
50437         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50438         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50439         * doc/glibc-functions/wcstouq.texi: Likewise.
50440         * doc/glibc-functions/wmempcpy.texi: Likewise.
50441
50442 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
50443             Eric Blake  <ebb9@byu.net>
50444             Paolo Bonzini  <bonzini@gnu.org>
50445             Bruno Haible  <bruno@clisp.org>
50446
50447         Make c-stack work on Haiku.
50448         * lib/c-stack.c (SA_ONSTACK): Define fallback.
50449         (c_stack_action): Use SA_ONSTACK flag.
50450
50451 2008-12-22  Bruno Haible  <bruno@clisp.org>
50452
50453         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
50454
50455 2008-12-22  Bruno Haible  <bruno@clisp.org>
50456
50457         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50458         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50459         being overridden.
50460         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50461         New macros.
50462         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50463         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50464         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50465         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50466
50467 2008-12-22  Bruno Haible  <bruno@clisp.org>
50468
50469         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50470         from test code.
50471
50472 2008-12-22  Eric Blake  <ebb9@byu.net>
50473
50474         Avoid gcc warnings on cygwin.
50475         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50476         Avoid unused variable.
50477         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50478         Likewise.
50479
50480 2008-12-22  Bruno Haible  <bruno@clisp.org>
50481
50482         Remove HAVE_MBRTOWC conditionals.
50483         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50484         (mbscasecmp): Assume mbrtowc function.
50485         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50486         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50487         * lib/mbschr.c: Include mbuiter.h unconditionally.
50488         (mbschr): Assume mbrtowc function.
50489         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50490         (mbscspn): Assume mbrtowc function.
50491         * lib/mbslen.c: Include mbuiter.h unconditionally.
50492         (mbslen): Assume mbrtowc function.
50493         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50494         (mbsncasecmp): Assume mbrtowc function.
50495         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50496         (mbsnlen): Assume mbrtowc function.
50497         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50498         (mbspbrk): Assume mbrtowc function.
50499         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50500         (mbspcasecmp): Assume mbrtowc function.
50501         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50502         (mbsrchr): Assume mbrtowc function.
50503         * lib/mbssep.c: Include mbuiter.h unconditionally.
50504         (mbssep): Assume mbrtowc function.
50505         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50506         (mbsspn): Assume mbrtowc function.
50507         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50508         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50509         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50510         (mbstok_r): Assume mbrtowc function.
50511         * lib/propername.c: Include mbuiter.h unconditionally.
50512         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50513         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50514         (trim2): Assume mbrtowc function.
50515         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50516         (mbsnwidth): Assume mbrtowc function.
50517         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50518         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50519         fallback definitions.
50520         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50521
50522 2008-12-22  Bruno Haible  <bruno@clisp.org>
50523
50524         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50525
50526 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50527
50528         * modules/regex: Request emulations for the mb*/wc* functions we need.
50529         * m4/regex.m4: Don't look for those functions here.
50530         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50531
50532 2008-12-22  Bruno Haible  <bruno@clisp.org>
50533
50534         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50535
50536 2008-12-21  Bruno Haible  <bruno@clisp.org>
50537
50538         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50539         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50540         (Include): Remove conditionalization.
50541         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50542         (Include): Remove conditionalization.
50543         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50544         (Include): Remove conditionalization.
50545         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50546         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50547         * NEWS: Mention the change.
50548         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50549         via Sergey Poznyakoff <gray@gnu.org.ua>.
50550
50551 2008-12-21  Bruno Haible  <bruno@clisp.org>
50552
50553         * MODULES.html.sh (Extended multibyte and wide character utilities
50554         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50555         wcrtomb, wcsrtombs.
50556         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50557         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50558         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50559         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50560
50561 2008-12-21  Bruno Haible  <bruno@clisp.org>
50562
50563         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50564
50565 2008-12-21  Bruno Haible  <bruno@clisp.org>
50566
50567         * modules/wcsnrtombs-tests: New file.
50568         * tests/test-wcsnrtombs1.sh: New file.
50569         * tests/test-wcsnrtombs2.sh: New file.
50570         * tests/test-wcsnrtombs3.sh: New file.
50571         * tests/test-wcsnrtombs4.sh: New file.
50572         * tests/test-wcsnrtombs.c: New file.
50573
50574         New module 'wcsnrtombs'.
50575         * lib/wchar.in.h (wcsnrtombs): New declaration.
50576         * lib/wcsnrtombs.c: New file.
50577         * lib/wcsrtombs-state.c: New file.
50578         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50579         (internal_state): Remove variable.
50580         * m4/wcsnrtombs.m4: New file.
50581         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50582         compilation units.
50583         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50584         HAVE_WCSNRTOMBS.
50585         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50586         HAVE_WCSNRTOMBS.
50587         * modules/wcsnrtombs: New file.
50588         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50589         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50590
50591 2008-12-21  Bruno Haible  <bruno@clisp.org>
50592
50593         * modules/wcsrtombs-tests: New file.
50594         * tests/test-wcsrtombs1.sh: New file.
50595         * tests/test-wcsrtombs2.sh: New file.
50596         * tests/test-wcsrtombs3.sh: New file.
50597         * tests/test-wcsrtombs4.sh: New file.
50598         * tests/test-wcsrtombs.c: New file.
50599
50600         New module 'wcsrtombs'.
50601         * lib/wchar.in.h (wcsrtombs): New declaration.
50602         * lib/wcsrtombs.c: New file.
50603         * m4/wcsrtombs.m4: New file.
50604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50605         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50606         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50607         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50608         * modules/wcsrtombs: New file.
50609         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50610         bugs.
50611
50612 2008-12-21  Bruno Haible  <bruno@clisp.org>
50613
50614         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50615         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50616         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50617         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50618         if not correct.
50619         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50620         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50621         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50622         m4/locale-zh.m4, m4/codeset.m4.
50623         * doc/posix-functions/wcrtomb.texi: Document the bug.
50624
50625 2008-12-21  Bruno Haible  <bruno@clisp.org>
50626
50627         Work around a btowc() bug on IRIX 6.5.
50628         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50629         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50630         REPLACE_WTOBC if not.
50631         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50632         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50633         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50634
50635 2008-12-21  Bruno Haible  <bruno@clisp.org>
50636
50637         * modules/wcrtomb-tests: New file.
50638         * tests/test-wcrtomb.sh: New file.
50639         * tests/test-wcrtomb.c: New file.
50640
50641         New module 'wcrtomb'.
50642         * lib/wchar.in.h (wcrtomb): New declaration.
50643         * lib/wcrtomb.c: New file.
50644         * m4/wcrtomb.m4: New file.
50645         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50646         HAVE_WCRTOMB.
50647         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50648         HAVE_WCRTOMB.
50649         * modules/wcrtomb: New file.
50650         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50651
50652 2008-12-21  Bruno Haible  <bruno@clisp.org>
50653
50654         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50655         * modules/mbsrtowcs (Files): Likewise.
50656         * modules/wctob (Files): Likewise.
50657         * modules/c-strcase-tests (Files): Likewise.
50658         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50659         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50660         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50661         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50662         * modules/vasnprintf-posix-tests (Files): Likewise.
50663
50664 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50665
50666         gitlog-to-changelog: pass all command-line arguments to git-log
50667         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50668         it is sometimes convenient to filter the commits in various ways.
50669         gitlog-to-changelog only allows --since to specify a start date,
50670         but git-log itself supports many other filtering mechanisms.
50671         At the moment, I want to filter by branch name.  Rather than
50672         adding a --branch option to gitlog-to-changelog, it seems more
50673         flexible to simply pass all options directly to git-log and let
50674         git do the work.  Notice that this effectively makes --since a
50675         redundant option for gitlog-to-changelog, but removing it would
50676         require current usage to change since calls would then require
50677         an additional '--'.
50678
50679 2008-12-21  Bruno Haible  <bruno@clisp.org>
50680
50681         * modules/mbsnrtowcs-tests: New file.
50682         * tests/test-mbsnrtowcs1.sh: New file.
50683         * tests/test-mbsnrtowcs2.sh: New file.
50684         * tests/test-mbsnrtowcs3.sh: New file.
50685         * tests/test-mbsnrtowcs4.sh: New file.
50686         * tests/test-mbsnrtowcs.c: New file.
50687
50688         New module 'mbsnrtowcs'.
50689         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50690         * lib/mbsnrtowcs.c: New file.
50691         * lib/mbsrtowcs-state.c: New file.
50692         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50693         (internal_state): Remove variable.
50694         * m4/mbsnrtowcs.m4: New file.
50695         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50696         compilation units.
50697         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50698         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50699         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50700         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50701         * modules/mbsnrtowcs: New file.
50702         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50703         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50704         portability problem.
50705
50706 2008-12-21  Bruno Haible  <bruno@clisp.org>
50707
50708         Work around mbsrtowcs bug.
50709         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50710         (gl_FUNC_MBSRTOWCS): Invoke it.
50711         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50712         m4/locale-zh.m4.
50713         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50714
50715 2008-12-21  Bruno Haible  <bruno@clisp.org>
50716
50717         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50718
50719 2008-12-21  Bruno Haible  <bruno@clisp.org>
50720
50721         Update doc for AIX.
50722         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50723         16-bit wchar_t type.
50724         * doc/posix-functions/btowc.texi: Likewise.
50725         * doc/posix-functions/fgetwc.texi: Likewise.
50726         * doc/posix-functions/fgetws.texi: Likewise.
50727         * doc/posix-functions/fputwc.texi: Likewise.
50728         * doc/posix-functions/fputws.texi: Likewise.
50729         * doc/posix-functions/fwide.texi: Likewise.
50730         * doc/posix-functions/fwprintf.texi: Likewise.
50731         * doc/posix-functions/fwscanf.texi: Likewise.
50732         * doc/posix-functions/getwchar.texi: Likewise.
50733         * doc/posix-functions/getwc.texi: Likewise.
50734         * doc/posix-functions/iswalnum.texi: Likewise.
50735         * doc/posix-functions/iswalpha.texi: Likewise.
50736         * doc/posix-functions/iswblank.texi: Likewise.
50737         * doc/posix-functions/iswcntrl.texi: Likewise.
50738         * doc/posix-functions/iswctype.texi: Likewise.
50739         * doc/posix-functions/iswdigit.texi: Likewise.
50740         * doc/posix-functions/iswgraph.texi: Likewise.
50741         * doc/posix-functions/iswlower.texi: Likewise.
50742         * doc/posix-functions/iswprint.texi: Likewise.
50743         * doc/posix-functions/iswpunct.texi: Likewise.
50744         * doc/posix-functions/iswspace.texi: Likewise.
50745         * doc/posix-functions/iswupper.texi: Likewise.
50746         * doc/posix-functions/iswxdigit.texi: Likewise.
50747         * doc/posix-functions/mbrtowc.texi: Likewise.
50748         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50749         * doc/posix-functions/mbstowcs.texi: Likewise.
50750         * doc/posix-functions/mbtowc.texi: Likewise.
50751         * doc/posix-functions/putwchar.texi: Likewise.
50752         * doc/posix-functions/putwc.texi: Likewise.
50753         * doc/posix-functions/swprintf.texi: Likewise.
50754         * doc/posix-functions/tolower.texi: Likewise.
50755         * doc/posix-functions/toupper.texi: Likewise.
50756         * doc/posix-functions/towctrans.texi: Likewise.
50757         * doc/posix-functions/ungetwc.texi: Likewise.
50758         * doc/posix-functions/vswprintf.texi: Likewise.
50759         * doc/posix-functions/wcrtomb.texi: Likewise.
50760         * doc/posix-functions/wcscat.texi: Likewise.
50761         * doc/posix-functions/wcschr.texi: Likewise.
50762         * doc/posix-functions/wcscmp.texi: Likewise.
50763         * doc/posix-functions/wcscoll.texi: Likewise.
50764         * doc/posix-functions/wcscpy.texi: Likewise.
50765         * doc/posix-functions/wcscspn.texi: Likewise.
50766         * doc/posix-functions/wcsftime.texi: Likewise.
50767         * doc/posix-functions/wcslen.texi: Likewise.
50768         * doc/posix-functions/wcsncat.texi: Likewise.
50769         * doc/posix-functions/wcsncmp.texi: Likewise.
50770         * doc/posix-functions/wcsncpy.texi: Likewise.
50771         * doc/posix-functions/wcspbrk.texi: Likewise.
50772         * doc/posix-functions/wcsrchr.texi: Likewise.
50773         * doc/posix-functions/wcsrtombs.texi: Likewise.
50774         * doc/posix-functions/wcsspn.texi: Likewise.
50775         * doc/posix-functions/wcsstr.texi: Likewise.
50776         * doc/posix-functions/wcstod.texi: Likewise.
50777         * doc/posix-functions/wcstof.texi: Likewise.
50778         * doc/posix-functions/wcstoimax.texi: Likewise.
50779         * doc/posix-functions/wcstok.texi: Likewise.
50780         * doc/posix-functions/wcstold.texi: Likewise.
50781         * doc/posix-functions/wcstoll.texi: Likewise.
50782         * doc/posix-functions/wcstol.texi: Likewise.
50783         * doc/posix-functions/wcstombs.texi: Likewise.
50784         * doc/posix-functions/wcstoull.texi: Likewise.
50785         * doc/posix-functions/wcstoul.texi: Likewise.
50786         * doc/posix-functions/wcstoumax.texi: Likewise.
50787         * doc/posix-functions/wcswidth.texi: Likewise.
50788         * doc/posix-functions/wcsxfrm.texi: Likewise.
50789         * doc/posix-functions/wctob.texi: Likewise.
50790         * doc/posix-functions/wctomb.texi: Likewise.
50791         * doc/posix-functions/wctrans.texi: Likewise.
50792         * doc/posix-functions/wctype.texi: Likewise.
50793         * doc/posix-functions/wcwidth.texi: Likewise.
50794         * doc/posix-functions/wmemchr.texi: Likewise.
50795         * doc/posix-functions/wmemcmp.texi: Likewise.
50796         * doc/posix-functions/wmemcpy.texi: Likewise.
50797         * doc/posix-functions/wmemmove.texi: Likewise.
50798         * doc/posix-functions/wmemset.texi: Likewise.
50799         * doc/posix-functions/wprintf.texi: Likewise.
50800         * doc/posix-functions/wscanf.texi: Likewise.
50801
50802 2008-12-21  Bruno Haible  <bruno@clisp.org>
50803
50804         Update doc for HP-UX 11.11.
50805         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50806         in HP-UX version 11.00, not in all versions of HP-UX 11.
50807         * doc/posix-functions/fwide.texi: Likewise.
50808         * doc/posix-functions/fwprintf.texi: Likewise.
50809         * doc/posix-functions/fwscanf.texi: Likewise.
50810         * doc/posix-functions/inet_ntop.texi: Likewise.
50811         * doc/posix-functions/inet_pton.texi: Likewise.
50812         * doc/posix-functions/mbrlen.texi: Likewise.
50813         * doc/posix-functions/mbrtowc.texi: Likewise.
50814         * doc/posix-functions/mbsinit.texi: Likewise.
50815         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50816         * doc/posix-functions/swprintf.texi: Likewise.
50817         * doc/posix-functions/swscanf.texi: Likewise.
50818         * doc/posix-functions/towctrans.texi: Likewise.
50819         * doc/posix-functions/vfwprintf.texi: Likewise.
50820         * doc/posix-functions/vswprintf.texi: Likewise.
50821         * doc/posix-functions/vwprintf.texi: Likewise.
50822         * doc/posix-functions/wcrtomb.texi: Likewise.
50823         * doc/posix-functions/wcsrtombs.texi: Likewise.
50824         * doc/posix-functions/wcsstr.texi: Likewise.
50825         * doc/posix-functions/wctob.texi: Likewise.
50826         * doc/posix-functions/wctrans.texi: Likewise.
50827         * doc/posix-functions/wmemchr.texi: Likewise.
50828         * doc/posix-functions/wmemcmp.texi: Likewise.
50829         * doc/posix-functions/wmemcpy.texi: Likewise.
50830         * doc/posix-functions/wmemmove.texi: Likewise.
50831         * doc/posix-functions/wmemset.texi: Likewise.
50832         * doc/posix-functions/wprintf.texi: Likewise.
50833         * doc/posix-functions/wscanf.texi: Likewise.
50834
50835 2008-12-21  Bruno Haible  <bruno@clisp.org>
50836
50837         Work around a portability problem.
50838         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50839         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50840
50841 2008-12-20  Bruno Haible  <bruno@clisp.org>
50842
50843         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50844         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50845         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50847         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50848
50849         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50850         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50851         set.
50852         (GNULIB_defined_mbstate_t): New macro.
50853         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50854         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50855         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50856         reuses the system's mbrtowc function but works around the bugs.
50857         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50858         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50859         macros.
50860         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50861         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50862         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50863         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50864         REPLACE_MBSINIT if mbsinit needs to be overridden.
50865         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50866         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50867         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50868         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50869         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50870         m4/locale-zh.m4.
50871         (Depends): Add mbsinit.
50872         * modules/mbsinit (Depends): Add mbrtowc.
50873         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50874
50875 2008-12-20  Bruno Haible  <bruno@clisp.org>
50876
50877         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50878         so that there are no conversion errors on AIX.
50879         * tests/test-mbsrtowcs.c (main): LIkewise.
50880
50881 2008-12-20  Bruno Haible  <bruno@clisp.org>
50882
50883         Work around wctob bug on Solaris <= 9.
50884         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50885         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50886         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50887         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50888         * modules/wctob (Files): Add m4/locale-fr.m4.
50889         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50890
50891 2008-12-20  Bruno Haible  <bruno@clisp.org>
50892
50893         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50894         /dev/null.
50895         * tests/test-select-in.sh: Likewise.
50896         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50897
50898 2008-12-20  Bruno Haible  <bruno@clisp.org>
50899
50900         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50901         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50902         Cygwin 1.5.x.
50903
50904 2008-12-20  Bruno Haible  <bruno@clisp.org>
50905
50906         Ensure mbstate_t is defined on HP-UX 11.11.
50907         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50908         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50909         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50910         AC_USE_SYSTEM_EXTENSIONS.
50911         * modules/fnmatch (Depends-on): Add extensions.
50912         * modules/mbrlen (Depends-on): Likewise.
50913         * modules/mbrtowc (Depends-on): Likewise.
50914         * modules/mbsinit (Depends-on): Likewise.
50915         * modules/mbsrtowcs (Depends-on): Likewise.
50916         * modules/mbswidth (Depends-on): Likewise.
50917         * modules/quotearg (Depends-on): Likewise.
50918         * modules/strftime (Depends-on): Likewise.
50919
50920 2008-12-20  Bruno Haible  <bruno@clisp.org>
50921
50922         Ensure wctob is declared on IRIX 6.5.
50923         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50924         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50925         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50926         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50927         of HAVE_WCTOB.
50928         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50929         HAVE_WCTOB.
50930         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50931
50932 2008-12-19  Bruno Haible  <bruno@clisp.org>
50933
50934         * modules/mbsrtowcs-tests: New file.
50935         * tests/test-mbsrtowcs1.sh: New file.
50936         * tests/test-mbsrtowcs2.sh: New file.
50937         * tests/test-mbsrtowcs3.sh: New file.
50938         * tests/test-mbsrtowcs4.sh: New file.
50939         * tests/test-mbsrtowcs.c: New file.
50940
50941         New module 'mbsrtowcs'.
50942         * lib/wchar.in.h (mbsrtowcs): New declaration.
50943         * lib/mbsrtowcs.c: New file.
50944         * m4/mbsrtowcs.m4: New file.
50945         * modules/mbsrtowcs: New file.
50946         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50947         HAVE_MBSRTOWCS.
50948         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50949         HAVE_MBSRTOWCS.
50950         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50951
50952 2008-12-19  Bruno Haible  <bruno@clisp.org>
50953
50954         New module 'mbrlen'.
50955         * lib/wchar.in.h (mbrlen): New declaration.
50956         * lib/mbrlen.c: New file.
50957         * m4/mbrlen.m4: New file.
50958         * modules/mbrlen: New file.
50959         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50960         HAVE_MBRLEN.
50961         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50962         HAVE_MBRLEN.
50963         * doc/posix-functions/mbrlen.texi: Document the new module.
50964
50965 2008-12-19  Bruno Haible  <bruno@clisp.org>
50966
50967         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50968         * modules/mbrtowc (Depends-on): Add verify.
50969         Suggested by Paul Eggert.
50970
50971 2008-12-18  Bruno Haible  <bruno@clisp.org>
50972
50973         * modules/mbsinit-tests: New file.
50974         * tests/test-mbsinit.sh: New file.
50975         * tests/test-mbsinit.c: New file.
50976
50977 2008-12-18  Bruno Haible  <bruno@clisp.org>
50978
50979         * modules/mbrtowc-tests: New file.
50980         * tests/test-mbrtowc1.sh: New file.
50981         * tests/test-mbrtowc2.sh: New file.
50982         * tests/test-mbrtowc3.sh: New file.
50983         * tests/test-mbrtowc4.sh: New file.
50984         * tests/test-mbrtowc.c: New file.
50985
50986         New module 'mbrtowc'.
50987         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50988         mbsinit and mbrtowc.
50989         (mbrtowc): New declaration.
50990         * lib/mbrtowc.c: New file.
50991         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50992         * modules/mbrtowc: New file.
50993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50994         HAVE_MBRTOWC.
50995         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50996         HAVE_MBRTOWC.
50997         * doc/posix-functions/mbrtowc.texi: Document the new module.
50998
50999 2008-12-18  Bruno Haible  <bruno@clisp.org>
51000
51001         New module 'wctob'.
51002         * lib/wchar.in.h (wctob): New declaration.
51003         * lib/wctob.c: New file.
51004         * m4/wctob.m4: New file.
51005         * modules/wctob: New file.
51006         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
51007         HAVE_WCTOB.
51008         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
51009         * doc/posix-functions/wctob.texi: Document the new module.
51010
51011 2008-12-18  Bruno Haible  <bruno@clisp.org>
51012
51013         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
51014         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
51015
51016 2008-12-18  Simon Josefsson  <simon@josefsson.org>
51017
51018         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
51019         G. Christensen" <tgc@jupiterrise.com>.
51020
51021         * lib/flock.c: Need to include errno.h.  Reported by "Tom
51022         G. Christensen" <tgc@jupiterrise.com>.
51023
51024         * lib/flock.c: Need to include string.h.  Reported by "Tom
51025         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
51026         <ebb9@byu.net>.
51027
51028 2008-12-18  Bruno Haible  <bruno@clisp.org>
51029
51030         * m4/locale-ja.m4: New file, from GNU gettext.
51031
51032 2008-12-17  Bruno Haible  <bruno@clisp.org>
51033
51034         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
51035         Suggested by Eric Blake.
51036
51037 2008-12-17  Bruno Haible  <bruno@clisp.org>
51038
51039         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
51040
51041 2008-12-17  Bruno Haible  <bruno@clisp.org>
51042
51043         * lib/mbsinit.c: Include verify.h. Verify an assumption.
51044         * modules/mbsinit (Depends-on): Add verify.
51045         Suggested by Paul Eggert.
51046
51047 2008-12-17  Bruno Haible  <bruno@clisp.org>
51048
51049         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
51050         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
51051         gl_FUNC_MBRTOWC.
51052         * m4/mbiter.m4 (gl_MBITER): LIkewise.
51053         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
51054         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
51055         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
51056         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
51057         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
51058         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
51059         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
51060         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
51061         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
51062         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
51063         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
51064         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
51065         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
51066         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
51067         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51068         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
51069         * modules/trim (configure.ac): Likewise.
51070
51071 2008-12-17  Bruno Haible  <bruno@clisp.org>
51072
51073         * modules/btowc-tests: New file.
51074         * tests/test-btowc1.sh: New file.
51075         * tests/test-btowc2.sh: New file.
51076         * tests/test-btowc.c: New file.
51077
51078         New module 'btowc'.
51079         * lib/wchar.in.h (btowc): New declaration.
51080         * lib/btowc.c: New file.
51081         * m4/btowc.m4: New file.
51082         * modules/btowc: New file.
51083         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
51084         HAVE_BTOWC.
51085         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
51086         * doc/posix-functions/btowc.texi: Document the new module.
51087
51088 2008-12-17  Bruno Haible  <bruno@clisp.org>
51089
51090         New module 'mbsinit'.
51091         * lib/wchar.in.h (mbsinit): New declaration.
51092         * lib/mbsinit.c: New file.
51093         * m4/mbsinit.m4: New file.
51094         * modules/mbsinit: New file.
51095         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
51096         HAVE_MBSINIT.
51097         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
51098         HAVE_MBSINIT.
51099         * doc/posix-functions/mbsinit.texi: Document the new module.
51100
51101 2008-12-16  Bruno Haible  <bruno@clisp.org>
51102
51103         * lib/unistd.in.h: Add comment.
51104         * tests/test-environ.c: Don't include <stdlib.h>.
51105
51106 2008-12-16  Bruno Haible  <bruno@clisp.org>
51107
51108         * lib/parse-duration.h (parse_duration): Document return value
51109         convention.
51110         * lib/parse-duration.c: Include specification header first. Add
51111         comments.
51112         (_): Remove macro.
51113         (parse_year_month_day, parse_hour_minute_second): Move side effects
51114         outside of strchr call.
51115         (parse_non_iso8601): Move side effects outside of isspace call.
51116         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
51117         call.
51118
51119 2008-12-16  Bruno Haible  <bruno@clisp.org>
51120
51121         * tests/test-parse-duration.sh: Produce no output when the test
51122         succeeds.
51123
51124 2008-12-16  Bruno Haible  <bruno@clisp.org>
51125
51126         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51127         expressions.
51128
51129 2008-12-15  Bruno Haible  <bruno@clisp.org>
51130
51131         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51132         * doc/glibc-functions/flistxattr.texi: Likewise.
51133         * doc/glibc-functions/fopencookie.texi: Likewise.
51134         * doc/glibc-functions/fremovexattr.texi: Likewise.
51135         * doc/glibc-functions/fsetxattr.texi: Likewise.
51136         * doc/glibc-functions/getxattr.texi: Likewise.
51137         * doc/glibc-functions/lgetxattr.texi: Likewise.
51138         * doc/glibc-functions/listxattr.texi: Likewise.
51139         * doc/glibc-functions/llistxattr.texi: Likewise.
51140         * doc/glibc-functions/lremovexattr.texi: Likewise.
51141         * doc/glibc-functions/lsetxattr.texi: Likewise.
51142         * doc/glibc-functions/removexattr.texi: Likewise.
51143         * doc/glibc-functions/setxattr.texi: Likewise.
51144         * doc/posix-functions/open_memstream.texi: Likewise.
51145
51146 2008-12-15  Eric Blake  <ebb9@byu.net>
51147
51148         Update doc for cygwin 1.7.
51149         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51150         functions.
51151         * doc/posix-functions/fchmodat.texi: Likewise.
51152         * doc/posix-functions/fchownat.texi: Likewise.
51153         * doc/posix-functions/fdopendir.texi: Likewise.
51154         * doc/posix-functions/fmemopen.texi: Likewise.
51155         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51156         * doc/posix-functions/fstatat.texi: Likewise.
51157         * doc/posix-functions/futimens.texi: Likewise.
51158         * doc/posix-functions/gai_strerror.texi: Likewise.
51159         * doc/posix-functions/getaddrinfo.texi: Likewise.
51160         * doc/posix-functions/getnameinfo.texi: Likewise.
51161         * doc/posix-functions/if_freenameindex.texi: Likewise.
51162         * doc/posix-functions/if_indextoname.texi: Likewise.
51163         * doc/posix-functions/if_nameindex.texi: Likewise.
51164         * doc/posix-functions/if_nametoindex.texi: Likewise.
51165         * doc/posix-functions/insque.texi: Likewise.
51166         * doc/posix-functions/linkat.texi: Likewise.
51167         * doc/posix-functions/llrint.texi: Likewise.
51168         * doc/posix-functions/llrintf.texi: Likewise.
51169         * doc/posix-functions/llrintl.texi: Likewise.
51170         * doc/posix-functions/lockf.texi: Likewise.
51171         * doc/posix-functions/lrintl.texi: Likewise.
51172         * doc/posix-functions/mkdirat.texi: Likewise.
51173         * doc/posix-functions/mkfifoat.texi: Likewise.
51174         * doc/posix-functions/mknodat.texi: Likewise.
51175         * doc/posix-functions/mq_close.texi: Likewise.
51176         * doc/posix-functions/mq_getattr.texi: Likewise.
51177         * doc/posix-functions/mq_notify.texi: Likewise.
51178         * doc/posix-functions/mq_open.texi: Likewise.
51179         * doc/posix-functions/mq_receive.texi: Likewise.
51180         * doc/posix-functions/mq_send.texi: Likewise.
51181         * doc/posix-functions/mq_setattr.texi: Likewise.
51182         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51183         * doc/posix-functions/mq_timedsend.texi: Likewise.
51184         * doc/posix-functions/mq_unlink.texi: Likewise.
51185         * doc/posix-functions/open_memstream.texi: Likewise.
51186         * doc/posix-functions/openat.texi: Likewise.
51187         * doc/posix-functions/posix_fadvise.texi: Likewise.
51188         * doc/posix-functions/posix_fallocate.texi: Likewise.
51189         * doc/posix-functions/posix_madvise.texi: Likewise.
51190         * doc/posix-functions/posix_memalign.texi: Likewise.
51191         * doc/posix-functions/posix_openpt.texi: Likewise.
51192         * doc/posix-functions/readlinkat.texi: Likewise.
51193         * doc/posix-functions/remque.texi: Likewise.
51194         * doc/posix-functions/renameat.texi: Likewise.
51195         * doc/posix-functions/rintl.texi: Likewise.
51196         * doc/posix-functions/sem_unlink.texi: Likewise.
51197         * doc/posix-functions/shm_open.texi: Likewise.
51198         * doc/posix-functions/shm_unlink.texi: Likewise.
51199         * doc/posix-functions/signgam.texi: Likewise.
51200         * doc/posix-functions/sigset.texi: Likewise.
51201         * doc/posix-functions/stpcpy.texi: Likewise.
51202         * doc/posix-functions/stpncpy.texi: Likewise.
51203         * doc/posix-functions/strerror.texi: Likewise.
51204         * doc/posix-functions/strtod.texi: Likewise.
51205         * doc/posix-functions/symlinkat.texi: Likewise.
51206         * doc/posix-functions/unlinkat.texi: Likewise.
51207         * doc/posix-functions/utimensat.texi: Likewise.
51208         * doc/glibc-functions/bindresvport.texi: Likewise.
51209         * doc/glibc-functions/dn_expand.texi: Likewise.
51210         * doc/glibc-functions/exp10.texi: Likewise.
51211         * doc/glibc-functions/exp10f.texi: Likewise.
51212         * doc/glibc-functions/fgetxattr.texi: Likewise.
51213         * doc/glibc-functions/flistxattr.texi: Likewise.
51214         * doc/glibc-functions/fopencookie.texi: Likewise.
51215         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51216         * doc/glibc-functions/fremovexattr.texi: Likewise.
51217         * doc/glibc-functions/fsetxattr.texi: Likewise.
51218         * doc/glibc-functions/getifaddrs.texi: Likewise.
51219         * doc/glibc-functions/getxattr.texi: Likewise.
51220         * doc/glibc-functions/lgetxattr.texi: Likewise.
51221         * doc/glibc-functions/listxattr.texi: Likewise.
51222         * doc/glibc-functions/llistxattr.texi: Likewise.
51223         * doc/glibc-functions/lremovexattr.texi: Likewise.
51224         * doc/glibc-functions/lsetxattr.texi: Likewise.
51225         * doc/glibc-functions/pow10.texi: Likewise.
51226         * doc/glibc-functions/pow10f.texi: Likewise.
51227         * doc/glibc-functions/rcmd_af.texi: Likewise.
51228         * doc/glibc-functions/removexattr.texi: Likewise.
51229         * doc/glibc-functions/res_init.texi: Likewise.
51230         * doc/glibc-functions/res_mkquery.texi: Likewise.
51231         * doc/glibc-functions/res_query.texi: Likewise.
51232         * doc/glibc-functions/res_querydomain.texi: Likewise.
51233         * doc/glibc-functions/res_send.texi: Likewise.
51234         * doc/glibc-functions/rresvport_af.texi: Likewise.
51235         * doc/glibc-functions/setxattr.texi: Likewise.
51236         * doc/glibc-functions/strcasestr.texi: Likewise.
51237
51238 2008-12-15  Bruno Haible  <bruno@clisp.org>
51239
51240         Fix compilation error on OSF/1 4.0.
51241         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51242         <sys/time.h>, simply delegate to the system header.
51243         Reported by Daniel Richard G. <oss@teragram.com>.
51244
51245 2008-12-15  Bruno Haible  <bruno@clisp.org>
51246
51247         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51248         * doc/posix-functions/fchmodat.texi: Likewise.
51249         * doc/posix-functions/fchownat.texi: Likewise.
51250         * doc/posix-functions/fdopendir.texi: Likewise.
51251         * doc/posix-functions/fstatat.texi: Likewise.
51252         * doc/posix-functions/mkdirat.texi: Likewise.
51253         * doc/posix-functions/unlinkat.texi: Likewise.
51254
51255 2008-12-14  Bruno Haible  <bruno@clisp.org>
51256
51257         Update doc for POSIX:2008.
51258         * doc/posix-functions/faccessat.texi: New file.
51259         * doc/posix-functions/fchmodat.texi: New file.
51260         * doc/posix-functions/fchownat.texi: New file.
51261         * doc/posix-functions/fdopendir.texi: New file.
51262         * doc/posix-functions/fstatat.texi: New file.
51263         * doc/posix-functions/futimens.texi: New file.
51264         * doc/posix-functions/linkat.texi: New file.
51265         * doc/posix-functions/mkdirat.texi: New file.
51266         * doc/posix-functions/mkfifoat.texi: New file.
51267         * doc/posix-functions/mknodat.texi: New file.
51268         * doc/posix-functions/open_wmemstream.texi: New file.
51269         * doc/posix-functions/openat.texi: New file.
51270         * doc/posix-functions/psiginfo.texi: New file.
51271         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51272         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51273         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51274         * doc/posix-functions/readlinkat.texi: New file.
51275         * doc/posix-functions/renameat.texi: New file.
51276         * doc/posix-functions/strerror_l.texi: New file.
51277         * doc/posix-functions/symlinkat.texi: New file.
51278         * doc/posix-functions/unlinkat.texi: New file.
51279         * doc/posix-functions/utimensat.texi: New file.
51280         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51281
51282 2008-12-14  Bruno Haible  <bruno@clisp.org>
51283
51284         Update doc for POSIX:2008.
51285         * doc/posix-functions/alphasort.texi: Renamed from
51286         doc/glibc-functions/alphasort.texi.
51287         * doc/posix-functions/dirfd.texi: Renamed from
51288         doc/glibc-functions/dirfd.texi.
51289         * doc/posix-functions/dprintf.texi: Renamed from
51290         doc/glibc-functions/dprintf.texi.
51291         * doc/posix-functions/duplocale.texi: Renamed from
51292         doc/glibc-functions/duplocale.texi.
51293         * doc/posix-functions/fexecve.texi: Renamed from
51294         doc/glibc-functions/fexecve.texi.
51295         * doc/posix-functions/fmemopen.texi: Renamed from
51296         doc/glibc-functions/fmemopen.texi.
51297         * doc/posix-functions/freelocale.texi: Renamed from
51298         doc/glibc-functions/freelocale.texi.
51299         * doc/posix-functions/getdate_err.texi: Renamed from
51300         doc/glibc-functions/getdate_err.texi.
51301         * doc/posix-functions/isalnum_l.texi: Renamed from
51302         doc/glibc-functions/isalnum_l.texi.
51303         * doc/posix-functions/isalpha_l.texi: Renamed from
51304         doc/glibc-functions/isalpha_l.texi.
51305         * doc/posix-functions/isblank_l.texi: Renamed from
51306         doc/glibc-functions/isblank_l.texi.
51307         * doc/posix-functions/iscntrl_l.texi: Renamed from
51308         doc/glibc-functions/iscntrl_l.texi.
51309         * doc/posix-functions/isdigit_l.texi: Renamed from
51310         doc/glibc-functions/isdigit_l.texi.
51311         * doc/posix-functions/isgraph_l.texi: Renamed from
51312         doc/glibc-functions/isgraph_l.texi.
51313         * doc/posix-functions/islower_l.texi: Renamed from
51314         doc/glibc-functions/islower_l.texi.
51315         * doc/posix-functions/isprint_l.texi: Renamed from
51316         doc/glibc-functions/isprint_l.texi.
51317         * doc/posix-functions/ispunct_l.texi: Renamed from
51318         doc/glibc-functions/ispunct_l.texi.
51319         * doc/posix-functions/isspace_l.texi: Renamed from
51320         doc/glibc-functions/isspace_l.texi.
51321         * doc/posix-functions/isupper_l.texi: Renamed from
51322         doc/glibc-functions/isupper_l.texi.
51323         * doc/posix-functions/iswalnum_l.texi: Renamed from
51324         doc/glibc-functions/iswalnum_l.texi.
51325         * doc/posix-functions/iswalpha_l.texi: Renamed from
51326         doc/glibc-functions/iswalpha_l.texi.
51327         * doc/posix-functions/iswblank_l.texi: Renamed from
51328         doc/glibc-functions/iswblank_l.texi.
51329         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51330         doc/glibc-functions/iswcntrl_l.texi.
51331         * doc/posix-functions/iswctype_l.texi: Renamed from
51332         doc/glibc-functions/iswctype_l.texi.
51333         * doc/posix-functions/iswdigit_l.texi: Renamed from
51334         doc/glibc-functions/iswdigit_l.texi.
51335         * doc/posix-functions/iswgraph_l.texi: Renamed from
51336         doc/glibc-functions/iswgraph_l.texi.
51337         * doc/posix-functions/iswlower_l.texi: Renamed from
51338         doc/glibc-functions/iswlower_l.texi.
51339         * doc/posix-functions/iswprint_l.texi: Renamed from
51340         doc/glibc-functions/iswprint_l.texi.
51341         * doc/posix-functions/iswpunct_l.texi: Renamed from
51342         doc/glibc-functions/iswpunct_l.texi.
51343         * doc/posix-functions/iswspace_l.texi: Renamed from
51344         doc/glibc-functions/iswspace_l.texi.
51345         * doc/posix-functions/iswupper_l.texi: Renamed from
51346         doc/glibc-functions/iswupper_l.texi.
51347         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51348         doc/glibc-functions/iswxdigit_l.texi.
51349         * doc/posix-functions/isxdigit_l.texi: Renamed from
51350         doc/glibc-functions/isxdigit_l.texi.
51351         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51352         doc/glibc-functions/mbsnrtowcs.texi.
51353         * doc/posix-functions/mkdtemp.texi: Renamed from
51354         doc/glibc-functions/mkdtemp.texi.
51355         * doc/posix-functions/newlocale.texi: Renamed from
51356         doc/glibc-functions/newlocale.texi.
51357         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51358         doc/glibc-functions/nl_langinfo_l.texi.
51359         * doc/posix-functions/open_memstream.texi: Renamed from
51360         doc/glibc-functions/open_memstream.texi.
51361         * doc/posix-functions/opterr.texi: Renamed from
51362         doc/glibc-functions/opterr.texi.
51363         * doc/posix-functions/optind.texi: Renamed from
51364         doc/glibc-functions/optind.texi.
51365         * doc/posix-functions/optopt.texi: Renamed from
51366         doc/glibc-functions/optopt.texi.
51367         * doc/posix-functions/psignal.texi: Renamed from
51368         doc/glibc-functions/psignal.texi.
51369         * doc/posix-functions/scandir.texi: Renamed from
51370         doc/glibc-functions/scandir.texi.
51371         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51372         doc/glibc-functions/sched_get_priority_min.texi.
51373         * doc/posix-functions/signgam.texi: Renamed from
51374         doc/glibc-functions/signgam.texi.
51375         * doc/posix-functions/stpcpy.texi: Renamed from
51376         doc/glibc-functions/stpcpy.texi.
51377         * doc/posix-functions/stpncpy.texi: Renamed from
51378         doc/glibc-functions/stpncpy.texi.
51379         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51380         doc/glibc-functions/strcasecmp_l.texi.
51381         * doc/posix-functions/strcoll_l.texi: Renamed from
51382         doc/glibc-functions/strcoll_l.texi.
51383         * doc/posix-functions/strfmon_l.texi: Renamed from
51384         doc/glibc-functions/strfmon_l.texi.
51385         * doc/posix-functions/strftime_l.texi: Renamed from
51386         doc/glibc-functions/strftime_l.texi.
51387         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51388         doc/glibc-functions/strncasecmp_l.texi.
51389         * doc/posix-functions/strndup.texi: Renamed from
51390         doc/glibc-functions/strndup.texi.
51391         * doc/posix-functions/strnlen.texi: Renamed from
51392         doc/glibc-functions/strnlen.texi.
51393         * doc/posix-functions/strsignal.texi: Renamed from
51394         doc/glibc-functions/strsignal.texi.
51395         * doc/posix-functions/strxfrm_l.texi: Renamed from
51396         doc/glibc-functions/strxfrm_l.texi.
51397         * doc/posix-functions/timer_gettime.texi: Renamed from
51398         doc/glibc-functions/timer_gettime.texi.
51399         * doc/posix-functions/tolower_l.texi: Renamed from
51400         doc/glibc-functions/tolower_l.texi.
51401         * doc/posix-functions/toupper_l.texi: Renamed from
51402         doc/glibc-functions/toupper_l.texi.
51403         * doc/posix-functions/towctrans_l.texi: Renamed from
51404         doc/glibc-functions/towctrans_l.texi.
51405         * doc/posix-functions/towlower_l.texi: Renamed from
51406         doc/glibc-functions/towlower_l.texi.
51407         * doc/posix-functions/towupper_l.texi: Renamed from
51408         doc/glibc-functions/towupper_l.texi.
51409         * doc/posix-functions/uselocale.texi: Renamed from
51410         doc/glibc-functions/uselocale.texi.
51411         * doc/posix-functions/vdprintf.texi: Renamed from
51412         doc/glibc-functions/vdprintf.texi.
51413         * doc/posix-functions/wcpcpy.texi:
51414         Renamed from doc/glibc-functions/wcpcpy.texi.
51415         * doc/posix-functions/wcpncpy.texi: Renamed from
51416         doc/glibc-functions/wcpncpy.texi.
51417         * doc/posix-functions/wcscasecmp.texi: Renamed from
51418         doc/glibc-functions/wcscasecmp.texi.
51419         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51420         doc/glibc-functions/wcscasecmp_l.texi.
51421         * doc/posix-functions/wcscoll_l.texi: Renamed from
51422         doc/glibc-functions/wcscoll_l.texi.
51423         * doc/posix-functions/wcsdup.texi: Renamed from
51424         doc/glibc-functions/wcsdup.texi.
51425         * doc/posix-functions/wcsncasecmp.texi: Renamed from
51426         doc/glibc-functions/wcsncasecmp.texi.
51427         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
51428         doc/glibc-functions/wcsncasecmp_l.texi.
51429         * doc/posix-functions/wcsnlen.texi: Renamed from
51430         doc/glibc-functions/wcsnlen.texi.
51431         * doc/posix-functions/wcsnrtombs.texi: Renamed from
51432         doc/glibc-functions/wcsnrtombs.texi.
51433         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
51434         doc/glibc-functions/wcsxfrm_l.texi.
51435         * doc/posix-functions/wctrans_l.texi: Renamed from
51436         doc/glibc-functions/wctrans_l.texi.
51437         * doc/posix-functions/wctype_l.texi: Renamed from
51438         doc/glibc-functions/wctype_l.texi.
51439         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51440         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
51441         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
51442         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
51443         these subsections.
51444         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
51445         Remove sections.
51446
51447 2008-12-14  Bruno Haible  <bruno@clisp.org>
51448
51449         Update doc for POSIX:2008.
51450         * doc/posix-functions/*.texi: Update URL of POSIX specification.
51451
51452 2008-12-14  Bruno Haible  <bruno@clisp.org>
51453
51454         Update doc for POSIX:2008.
51455         * doc/pastposix-functions/bcmp.texi: Renamed from
51456         doc/posix-functions/bcmp.texi.
51457         * doc/pastposix-functions/bcopy.texi: Renamed from
51458         doc/posix-functions/bcopy.texi.
51459         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51460         doc/posix-functions/bsd_signal.texi.
51461         * doc/pastposix-functions/bzero.texi: Renamed from
51462         doc/posix-functions/bzero.texi.
51463         * doc/pastposix-functions/ecvt.texi: Renamed from
51464         doc/posix-functions/ecvt.texi.
51465         * doc/pastposix-functions/fcvt.texi: Renamed from
51466         doc/posix-functions/fcvt.texi.
51467         * doc/pastposix-functions/ftime.texi: Renamed from
51468         doc/posix-functions/ftime.texi.
51469         * doc/pastposix-functions/gcvt.texi: Renamed from
51470         doc/posix-functions/gcvt.texi.
51471         * doc/pastposix-functions/getcontext.texi: Renamed from
51472         doc/posix-functions/getcontext.texi.
51473         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51474         doc/posix-functions/gethostbyaddr.texi.
51475         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51476         doc/posix-functions/gethostbyname.texi.
51477         * doc/pastposix-functions/getwd.texi: Renamed from
51478         doc/posix-functions/getwd.texi.
51479         * doc/pastposix-functions/h_errno.texi: Renamed from
51480         doc/posix-functions/h_errno.texi.
51481         * doc/pastposix-functions/index.texi: Renamed from
51482         doc/posix-functions/index.texi.
51483         * doc/pastposix-functions/makecontext.texi: Renamed from
51484         doc/posix-functions/makecontext.texi.
51485         * doc/pastposix-functions/mktemp.texi: Renamed from
51486         doc/posix-functions/mktemp.texi.
51487         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51488         doc/posix-functions/pthread_attr_getstackaddr.texi.
51489         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51490         doc/posix-functions/pthread_attr_setstackaddr.texi.
51491         * doc/pastposix-functions/rindex.texi: Renamed from
51492         doc/posix-functions/rindex.texi.
51493         * doc/pastposix-functions/scalb.texi: Renamed from
51494         doc/posix-functions/scalb.texi.
51495         * doc/pastposix-functions/setcontext.texi: Renamed from
51496         doc/posix-functions/setcontext.texi.
51497         * doc/pastposix-functions/swapcontext.texi: Renamed from
51498         doc/posix-functions/swapcontext.texi.
51499         * doc/pastposix-functions/ualarm.texi: Renamed from
51500         doc/posix-functions/ualarm.texi.
51501         * doc/pastposix-functions/usleep.texi: Renamed from
51502         doc/posix-functions/usleep.texi.
51503         * doc/pastposix-functions/vfork.texi: Renamed from
51504         doc/posix-functions/vfork.texi.
51505         * doc/pastposix-functions/wcswcs.texi: Renamed from
51506         doc/posix-functions/wcswcs.texi.
51507         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51508         (Function Substitutes): Update.
51509
51510 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51511
51512         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51513         m4/strerror.m4.
51514
51515 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51516             Bruno Haible  <bruno@clisp.org>
51517
51518         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51519
51520 2008-12-13  Bruno Haible  <bruno@clisp.org>
51521
51522         * modules/strtoull (Depends-on): Remove unistd.
51523
51524 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51525
51526         * modules/strtoull (Depends-on): Add stdlib.
51527
51528 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51529
51530         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51531
51532 2008-12-10  Jim Meyering  <meyering@redhat.com>
51533
51534         gl_ASSERT: don't say assertions are disabled when they're not
51535         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51536         "checking whether to enable assertions... no", when they are in
51537         fact enabled.  This is solely a bug in the output of configure.
51538         In spite of saying "no", NDEBUG was not defined in that case.
51539         Also, as noted by Eric Blake, leave assertions enabled upon
51540         --enable-assert=INVALID.
51541
51542 2008-12-10  Bruno Haible  <bruno@clisp.org>
51543
51544         Change MODULES.html to refer to POSIX:2008 where possible.
51545         * MODULES.html.sh (POSIX2008_URL): New variable.
51546         (posix_headers): Remove sys/timeb, ucontext.
51547         (posix2001_headers): New variable.
51548         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51549         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51550         index, makecontext, mktemp, pthread_attr_getstackaddr,
51551         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51552         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51553         (posix2001_functions): New variable.
51554         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51555         otherwise.
51556
51557 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51558
51559         add missing include to parse-duration.c
51560         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51561         * modules/parse-duration (Depends-on): Add xalloc.
51562
51563         fix sed script reading maint.mk
51564         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51565         (syntax-check-rules): Use it.
51566
51567 2008-12-09  Bruno Haible  <bruno@clisp.org>
51568
51569         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51570         MacOS X 10.4/PowerPC.
51571         Reported by Simon Josefsson.
51572
51573 2008-12-08  Jim Meyering  <meyering@redhat.com>
51574
51575         work around mingw's lack of some S_IF definitions
51576         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51577         Reported by Simon Josefsson.
51578
51579 2008-12-08  Bruno Haible  <bruno@clisp.org>
51580
51581         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51582         applied to variables. Needed on MacOS X 10.4/PowerPC.
51583         Reported by Simon Josefsson.
51584
51585 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51586         and Eric Blake  <ebb9@byu.net>
51587
51588         assert: honor --enable-assert
51589         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51590         order to honor --enable-assert, rather than treating it as a
51591         synonym for --disable-assert.
51592
51593 2008-12-08  Jim Meyering  <meyering@redhat.com>
51594
51595         * lib/posixtm.c: Remove now-useless declaration of mktime.
51596
51597         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51598
51599 2008-12-07  Bruno Haible  <bruno@clisp.org>
51600
51601         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51602         test_once): Mark functions as static.
51603         * tests/test-tls.c (test_tls): Likewise.
51604
51605 2008-12-07  Bruno Haible  <bruno@clisp.org>
51606
51607         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51608         iconv_register_autodetect.
51609
51610 2008-12-07  Jim Meyering  <meyering@redhat.com>
51611
51612         posixtm.c: avoid a warning
51613         * lib/posixtm.c (posixtime): Don't initialize tm0.
51614         It's no longer needed to placate gcc4's -Wuninitialized,
51615         and the attempt to placate would elicit a new warning.
51616
51617         unicodeio.c: mark unused parameters
51618         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51619         (fallback_failure_callback): Likewise.
51620
51621 2008-12-07  Bruno Haible  <bruno@clisp.org>
51622
51623         * gnulib-tool (func_create_testdir): When building the tests
51624         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51625         Reported by Simon Josefsson.
51626
51627 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51628
51629         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51630
51631 2008-12-06  Bruno Haible  <bruno@clisp.org>
51632
51633         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51634         Suggested by Eric Blake.
51635
51636 2008-12-06  Bruno Haible  <bruno@clisp.org>
51637
51638         Fix a c-stack test failure on MacOS X.
51639         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51640         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51641         handler for SIGBUS as well.
51642         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51643         install a signal handler for SIGBUS as well.
51644         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51645
51646 2008-12-06  Bruno Haible  <bruno@clisp.org>
51647
51648         Advocacy documentation.
51649         * doc/gnulib-intro.texi (Benefits): New section.
51650         * doc/gnulib.texi: Update.
51651
51652 2008-12-06  Bruno Haible  <bruno@clisp.org>
51653
51654         Document the 'manywarnings' module.
51655         * doc/manywarnings.texi: New file.
51656         * doc/gnulib.texi: Include it.
51657
51658 2008-12-05  Eric Blake  <ebb9@byu.net>
51659
51660         tests: silence some gcc warnings
51661         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51662         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51663         type mismatches.
51664
51665 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51666             Bruno Haible  <bruno@clisp.org>
51667
51668         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51669
51670 2008-11-29  Jim Meyering  <meyering@redhat.com>
51671
51672         unicodeio.c: mark unused parameters
51673         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51674         (fallback_failure_callback): Likewise.
51675
51676         fts: fix a thinko
51677         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51678         (set_stat_type): Return S_IF*-valued "type" directly.
51679         Prompted by James Youngman's spotting a related bug.
51680         Confirmed by further testing through find.
51681
51682         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51683         * lib/fts.c (D_TYPE): Define.
51684         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51685         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51686         (s_ifmt_shift_bits): New function.
51687         (set_stat_type): New function.
51688         (fts_build): When not calling fts_stat, call set_stat_type
51689         to propagate dirent.d_type info to fts_read caller.
51690         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51691         fts_statp->st_mode type information may be valid.
51692
51693 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51694
51695         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51696         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51697         <sds@gnu.org>.
51698
51699 2008-11-20  Bruno Haible  <bruno@clisp.org>
51700
51701         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51702         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51703         INCLUDE_NEXT.
51704         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51705         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51706         * modules/math (Makefile.am): Substitute
51707         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51708         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51709
51710 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51711             Bruno Haible  <bruno@clisp.org>
51712
51713         * lib/stdint.in.h: Define all type macros so that their expansion is
51714         a single typedef'ed token. Fixes a compilation failure in Boost which
51715         does "using ::int8_t;".
51716
51717 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51718
51719         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51720         gl_MANYWARN_ALL_GCC.
51721         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51722         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51723         * modules/manywarnings: New file.
51724         * MODULES.html.sh: Mention manywarnings module.
51725
51726 2008-11-18  Bruno Haible  <bruno@clisp.org>
51727
51728         * doc/gnulib-tool.texi (Unit tests): New section.
51729
51730 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51731
51732         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51733         paths like 'lib/po/foo.po'.
51734
51735 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51736
51737         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51738         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51739
51740 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51741
51742         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51743         parameter works.
51744
51745 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51746
51747         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51748
51749 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51750
51751         * modules/parse-duration-tests: New file.
51752         * tests/test-parse-duration.sh: New file.
51753         * tests/test-parse-duration.c: New file.
51754
51755         New module 'parse-duration'.
51756         * lib/parse-duration.h: New file.
51757         * lib/parse-duration.c: New file.
51758         * modules/parse-duration: New file.
51759
51760 2008-11-17  Bruno Haible  <bruno@clisp.org>
51761
51762         * tests/test-select-out.sh: Comment out the first pipe test.
51763         Reported by Simon Josefsson.
51764
51765 2008-11-17  Bruno Haible  <bruno@clisp.org>
51766
51767         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51768         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51769         gl_HOSTENT.
51770
51771 2008-11-17  Bruno Haible  <bruno@clisp.org>
51772
51773         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51774         -lnetwork and -lnet. Needed for Haiku and BeOS.
51775
51776 2008-11-16  Bruno Haible  <bruno@clisp.org>
51777
51778         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51779
51780 2008-11-16  Bruno Haible  <bruno@clisp.org>
51781
51782         Avoid test failure on Haiku.
51783         * tests/test-fsync.c: Include <errno.h>.
51784         (main): Don't require that fsync (0) fails.
51785
51786 2008-11-15  Bruno Haible  <bruno@clisp.org>
51787
51788         New module 'hostent'.
51789         * modules/hostent: New file.
51790         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51791
51792 2008-11-15  Bruno Haible  <bruno@clisp.org>
51793
51794         New module 'servent'.
51795         * modules/servent: New file.
51796         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51797
51798 2008-11-15  Bruno Haible  <bruno@clisp.org>
51799
51800         Avoid generating same test program with two different rules.
51801         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51802         test-frexp to test-frexp-nolibm.
51803         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51804         test-frexpl to test-frexpl-nolibm.
51805
51806 2008-11-15  Bruno Haible  <bruno@clisp.org>
51807
51808         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51809         $(FREXPL_LIBM).
51810
51811 2008-11-15  Bruno Haible  <bruno@clisp.org>
51812
51813         * lib/netdb.in.h: Activate the definitions also when the system's
51814         <netdb.h> has 'struct addrinfo'.
51815         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51816         EAI_OVERFLOW or AI_NUMERICSERV.
51817         * doc/posix-headers/netdb.texi: Document the problem.
51818
51819 2008-11-15  Bruno Haible  <bruno@clisp.org>
51820
51821         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51822
51823         Make the 'sched' module work on platforms where <sched.h> exists but
51824         is incomplete (such as Haiku).
51825         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51826         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51827         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51828         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51829         HAVE_STRUCT_SCHED_PARAM.
51830         * modules/sched (Depends-on): Add include_next.
51831         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51832         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51833         * doc/posix-headers/sched.texi: Document the issue.
51834
51835 2008-11-13  Jim Meyering  <meyering@redhat.com>
51836
51837         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51838         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51839         test would fail due to the difference in the Report bugs to ...
51840         line.  The expected address is empty, "<>", while the actual
51841         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51842
51843 2008-11-12  Bruno Haible  <bruno@clisp.org>
51844
51845         lstat: don't compile lstat.c on systems lacking lstat
51846         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51847         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51848         Reported by Daniel P. Berrange via Jim Meyering.
51849
51850 2008-11-12  Jim Meyering  <meyering@redhat.com>
51851
51852         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51853
51854 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51855
51856         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51857         instead.
51858
51859 2008-11-12  Bruno Haible  <bruno@clisp.org>
51860
51861         * lib/unicodeio.c: Include unistr.h.
51862         (utf8_wctomb): Remove function.
51863         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51864
51865 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51866
51867         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51868         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51869         <bruno@clisp.org>.
51870         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51871
51872 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51873
51874         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51875         * doc/gnulib.texi: Add section for warnings.
51876
51877 2008-11-11  Bruno Haible  <bruno@clisp.org>
51878
51879         * lib/sockets.h: Add a comment.
51880
51881 2008-11-11  Karl Berry  <karl@gnu.org>
51882
51883         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51884
51885 2008-11-11  Eric Blake  <ebb9@byu.net>
51886
51887         fdl.texi: avoid git symlinks
51888         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51889
51890 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51891
51892         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51893
51894 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51895
51896         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51897         (gl_WARN_ADD): Substitute $2 if literal.
51898
51899 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51900
51901         * m4/warning.m4: Remove.
51902
51903 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51904
51905         * m4/warnings.m4: Almost complete rewrite. :-)
51906
51907 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51908
51909         * modules/warnings: New module.
51910         * m4/warnings.m4: New file.
51911         * MODULES.html.sh: Mention warnings module.
51912         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51913         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51914
51915 2008-11-10  Eric Blake  <ebb9@byu.net>
51916
51917         fdl.texi: make a symlink to the latest version
51918         * doc/standards.texi: Revert today's earlier change.
51919         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51920         * doc/fdl.texi: ...and replace this with a symlink to the newer
51921         fdl-1.3.texi.
51922
51923 2008-11-10  Bruno Haible  <bruno@clisp.org>
51924
51925         * tests/test-select-fd.c (main): Accept the result file name as fourth
51926         argument.
51927         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51928         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51929
51930 2008-11-10  Bruno Haible  <bruno@clisp.org>
51931
51932         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51933         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51934         as autoconf-substituted macros.
51935         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51936         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51937         gl_NETDB_H_DEFAULTS. Set these variables.
51938         * modules/netdb (Makefile.am): Substitute these variables.
51939
51940 2008-11-10  Eric Blake  <ebb9@byu.net>
51941
51942         standards.texi: include correct file for FDL 1.3
51943         * doc/standards.texi (GNU Free Documentation License): Change
51944         include file to pull in FDL 1.3, not 1.2.
51945
51946         fdl.texi: revert accidental change to license
51947         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51948
51949 2008-11-10  Bruno Haible  <bruno@clisp.org>
51950
51951         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51952         cross-compiling guesses also when the native compile gives no result.
51953
51954 2008-11-10  Bruno Haible  <bruno@clisp.org>
51955
51956         * lib/spawni.c (__spawni): Force variable into the stack.
51957
51958 2008-11-10  Bruno Haible  <bruno@clisp.org>
51959
51960         Add support for Haiku.
51961         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51962         glibc and BeOS, but also on Haiku.
51963         * lib/fpurge.c (fpurge): Likewise.
51964         * lib/freadable.c (freadable): Likewise.
51965         * lib/freadahead.c (freadahead): Likewise.
51966         * lib/freading.c (freading): Likewise.
51967         * lib/freadptr.c (freadptr): Likewise.
51968         * lib/freadseek.c (freadptrinc): Likewise.
51969         * lib/fseeko.c (rpl_fseeko): Likewise.
51970         * lib/fseterr.c (fseterr): Likewise.
51971         * lib/fwritable.c (fwritable): Likewise.
51972         * lib/fwriting.c (fwriting): Likewise.
51973         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51974
51975 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51976
51977         * lib/config.charset: Treat Haiku like BeOS.
51978
51979 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51980
51981         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51982         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51983
51984 2008-11-08  Bruno Haible  <bruno@clisp.org>
51985
51986         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51987         AC_CACHE_CHECK.
51988
51989 2008-11-08  Bruno Haible  <bruno@clisp.org>
51990
51991         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51992
51993 2008-11-08  Bruno Haible  <bruno@clisp.org>
51994
51995         * tests/test-select-fd.c: New file.
51996         * tests/test-select-in.sh: New file.
51997         * tests/test-select-out.sh: New file.
51998         * tests/test-select-stdin.c: New file.
51999         * modules/select-tests (Files): Add the new files.
52000         (Depends-on): Add gettimeofday.
52001         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
52002         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
52003         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
52004
52005 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
52006             Bruno Haible  <bruno@clisp.org>
52007
52008         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
52009
52010 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
52011
52012         * build-aux/pmccabe2html: Added support for C++ source files.
52013
52014 2008-11-05  Ben Pfaff  <blp@gnu.org>
52015
52016         Fix lib/close.c build on Windows.
52017         * modules/close (Files): Add lib/w32sock.h.
52018
52019 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
52020
52021         Accept Bison's NEWS format.
52022         * build-aux/announce-gen (print_news_deltas): Tweak
52023         $re_prefix.
52024
52025 2008-11-04  Bruno Haible  <bruno@clisp.org>
52026
52027         * modules/random_r (Maintainer): Add glibc.
52028
52029 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52030
52031         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
52032         by karl@freefriends.org (Karl Berry).
52033         * doc/alloca.texi: Likewise.
52034         * doc/c-ctype.texi: Likewise.
52035         * doc/c-strcase.texi: Likewise.
52036         * doc/c-strcaseeq.texi: Likewise.
52037         * doc/c-strcasestr.texi: Likewise.
52038         * doc/c-strstr.texi: Likewise.
52039         * doc/c-strtod.texi: Likewise.
52040         * doc/c-strtold.texi: Likewise.
52041         * doc/ctime.texi: Likewise.
52042         * doc/error.texi: Likewise.
52043         * doc/fdl.texi: Likewise.
52044         * doc/gcd.texi: Likewise.
52045         * doc/getdate.texi: Likewise.
52046         * doc/gnulib-intro.texi: Likewise.
52047         * doc/gnulib-tool.texi: Likewise.
52048         * doc/gnulib.texi: Likewise.
52049         * doc/inet_ntoa.texi: Likewise.
52050         * doc/maintain.texi: Likewise.
52051         * doc/make-stds.texi: Likewise.
52052         * doc/quote.texi: Likewise.
52053         * doc/regexprops-generic.texi: Likewise.
52054         * doc/standards.texi: Likewise.
52055         * doc/verify.texi: Likewise.
52056         * doc/visibility.texi: Likewise.
52057         * doc/gnulib.texi (GNU Free Documentation License): Include
52058         fdl-1.3.texi instead of fdl.texi.
52059
52060 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52061
52062         * doc/fdl-1.3.texi: New file, from
52063         <http://www.gnu.org/licenses/fdl-1.3.texi>.
52064         * modules/fdl-1.3: Add.
52065         * MODULES.html.sh: Add fdl-1.3.
52066
52067 2008-11-03  Bruno Haible  <bruno@clisp.org>
52068
52069         Make determination of absolute name of header file work with AIX xlc.
52070         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
52071         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
52072         preprocessing.
52073         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52074         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52075
52076 2008-11-03  Simon Josefsson  <simon@josefsson.org>
52077
52078         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
52079         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
52080         <ludo@gnu.org>.
52081
52082 2008-11-02  Bruno Haible  <bruno@clisp.org>
52083
52084         Mark 'strpbrk' obsolete.
52085         * modules/strpbrk (Status, Notice): New sections.
52086         * modules/strtok_r (Depends-on): Add strpbrk.
52087
52088 2008-11-02  Bruno Haible  <bruno@clisp.org>
52089
52090         Mark 'strdup' obsolete.
52091         * modules/strdup (Status, Notice): New sections.
52092         * modules/findprog (Depends-on): Add strdup.
52093         * modules/getaddrinfo (Depends-on): Likewise.
52094         * modules/localename (Depends-on): Likewise.
52095         * modules/relocatable-lib (Depends-on): Likewise.
52096         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
52097         * modules/relocatable-prog (Depends-on): Likewise.
52098         * modules/trim (Depends-on): Likewise.
52099         * modules/unictype/gen-ctype (Depends-on): Likewise.
52100         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52101
52102 2008-11-02  Bruno Haible  <bruno@clisp.org>
52103
52104         Mark 'strcspn' obsolete.
52105         * modules/strcspn (Status, Notice): New sections.
52106
52107 2008-11-02  Bruno Haible  <bruno@clisp.org>
52108
52109         Mark 'rmdir' obsolete.
52110         * modules/rmdir (Status, Notice): New sections.
52111         * modules/clean-temp (Depends-on): Add rmdir.
52112         * modules/openat (Depends-on): Likewise.
52113
52114 2008-11-02  Bruno Haible  <bruno@clisp.org>
52115
52116         Mark 'raise' obsolete.
52117         * modules/raise (Status, Notice): New sections.
52118         (Include): Specify <signal.h>.
52119         * modules/stdio (Depends-on): Add raise.
52120         * modules/write (Depends-on): Likewise.
52121
52122 2008-11-02  Bruno Haible  <bruno@clisp.org>
52123
52124         Mark 'memset' obsolete.
52125         * modules/memset (Status, Notice): New sections.
52126
52127 2008-11-02  Bruno Haible  <bruno@clisp.org>
52128
52129         Mark 'memmove' obsolete.
52130         * modules/memmove (Status, Notice): New sections.
52131         * modules/argp (Depends-on): Add memmove.
52132         * modules/argz (Depends-on): Likewise.
52133         * modules/canonicalize (Depends-on): Likewise.
52134         * modules/canonicalize-lgpl (Depends-on): Likewise.
52135         * modules/fts (Depends-on): Likewise.
52136         * modules/getcwd (Depends-on): Likewise.
52137         * modules/human (Depends-on): Likewise.
52138         * modules/regex (Depends-on): Likewise.
52139         * modules/striconveh (Depends-on): Likewise.
52140         * modules/trim (Depends-on): Likewise.
52141         * modules/unistr/u8-move (Depends-on): Likewise.
52142         * modules/unistr/u16-move (Depends-on): Likewise.
52143         * modules/unistr/u32-move (Depends-on): Likewise.
52144
52145 2008-11-02  Bruno Haible  <bruno@clisp.org>
52146
52147         Mark 'memcpy' obsolete.
52148         * modules/memcpy (Status, Notice): New sections.
52149
52150 2008-11-02  Bruno Haible  <bruno@clisp.org>
52151
52152         Mark 'memcmp' obsolete.
52153         * modules/memcmp (Status, Notice): New sections.
52154         * modules/argmatch (Depends-on): Add memchr.
52155         * modules/backupfile (Depends-on): Likewise.
52156         * modules/c-strcasestr (Depends-on): Likewise.
52157         * modules/crypto/des (Depends-on): Likewise.
52158         * modules/csharpcomp (Depends-on): Likewise.
52159         * modules/fnmatch (Depends-on): Likewise.
52160         * modules/git-merge-changelog (Depends-on): Likewise.
52161         * modules/isnand (Depends-on): Likewise.
52162         * modules/isnand-nolibm (Depends-on): Likewise.
52163         * modules/isnanf (Depends-on): Likewise.
52164         * modules/isnanf-nolibm (Depends-on): Likewise.
52165         * modules/isnanl (Depends-on): Likewise.
52166         * modules/isnanl-nolibm (Depends-on): Likewise.
52167         * modules/mbchar (Depends-on): Likewise.
52168         * modules/memcoll (Depends-on): Likewise.
52169         * modules/quotearg (Depends-on): Likewise.
52170         * modules/regex (Depends-on): Likewise.
52171         * modules/relocatable-prog (Depends-on): Likewise.
52172         * modules/same (Depends-on): Likewise.
52173         * modules/signbit (Depends-on): Likewise.
52174         * modules/strcasestr-simple (Depends-on): Likewise.
52175         * modules/unictype/gen-ctype (Depends-on): Likewise.
52176         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52177         * modules/uniname/uniname (Depends-on): Likewise.
52178         * modules/unistr/u8-cmp (Depends-on): Likewise.
52179
52180 2008-11-02  Bruno Haible  <bruno@clisp.org>
52181
52182         Mark 'memchr' obsolete.
52183         * modules/memchr (Status, Notice): New sections.
52184         * modules/argp (Depends-on): Add memchr.
52185         * modules/base64 (Depends-on): Likewise.
52186         * modules/c-strcasestr (Depends-on): Likewise.
52187         * modules/chdir-long (Depends-on): Likewise.
52188         * modules/fnmatch (Depends-on): Likewise.
52189         * modules/getsubopt (Depends-on): Likewise.
52190         * modules/git-merge-changelog (Depends-on): Likewise.
52191         * modules/glob (Depends-on): Likewise.
52192         * modules/strcasestr-simple (Depends-on): Likewise.
52193         * modules/strnlen (Depends-on): Likewise.
52194
52195 2008-11-02  Bruno Haible  <bruno@clisp.org>
52196
52197         Mark 'atexit' obsolete.
52198         * modules/atexit (Status, Notice): New sections.
52199         * modules/chdir-long (Depends-on): Add atexit.
52200         * modules/wait-process (Depends-on): Likewise.
52201
52202 2008-11-02  Bruno Haible  <bruno@clisp.org>
52203
52204         * gnulib-tool: New option --with-obsolete.
52205         (func_usage): Document it.
52206         (func_modules_transitive_closure): Drop obsolete dependencies if
52207         incobsolete is not true.
52208         (func_import): Read and save the incobsolete variable to the cache.
52209
52210 2008-11-02  Bruno Haible  <bruno@clisp.org>
52211
52212         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52213         * gnulib-tool: New option --extract-status.
52214         (func_usage): Document it.
52215         (sed_extract_prog): Recognize it.
52216         (func_get_status): New function.
52217
52218 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52219
52220         * modules/sockets (License): Change from LGPL to LGPLv2+.
52221
52222 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52223
52224         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52225
52226 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52227
52228         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52229         Mention times and sys_times.
52230         * modules/sys_times, modules/sys_times-tests: New modules.
52231         * modules/times, modules/times-tests: Likewise
52232         * m4/sys_times_h.m4: New file.
52233         * lib/sys_times.in.h: Likewise
52234         * lib/times.c: Likewise.
52235         * tests/test-sys_times.c: Likewise.
52236         * tests/test-times.c: Likewise.
52237         * doc/posix-headers/sys_times.texi: Update.
52238         * doc/posix-functions/times.texi: Update.
52239
52240 2008-10-28  Jim Meyering  <meyering@redhat.com>
52241
52242         * modules/tempname (Depends-on): Add lstat.
52243
52244         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52245
52246 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52247
52248         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52249         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52250         using idiom used elsewhere in gnulib.
52251
52252 2008-10-27  Jim Meyering  <meyering@redhat.com>
52253
52254         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52255
52256 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52257
52258         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52259         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52260         programs.
52261         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52262
52263 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52264
52265         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52266
52267 2008-10-27  Bruno Haible  <bruno@clisp.org>
52268
52269         * tests/test-lstat.c: Include <stdio.h>.
52270
52271 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52272
52273         * modules/lstat-tests: New module.
52274         * tests/test-lstat.c: New file.
52275
52276 2008-10-26  Jim Meyering  <meyering@redhat.com>
52277
52278         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52279
52280 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52281             Bruno Haible  <bruno@clisp.org>
52282
52283         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52284         * modules/configmake (Include): Add a note that the include must come
52285         after all system headers.
52286         * lib/javaversion.c: Include configmake.h after all other includes.
52287
52288 2008-10-26  Bruno Haible  <bruno@clisp.org>
52289
52290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52291         HAVE_STRUCT_RANDOM_DATA to 1.
52292         (gl_STDLIB_H): Simplify.
52293
52294 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52295
52296         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52297         substitute HAVE_STRUCT_RANDOM_DATA.
52298         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52299         random_data.
52300         * modules/stdlib (Makefile.am): Substitute
52301         HAVE_STRUCT_RANDOM_DATA.
52302
52303 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52304
52305         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52306         * doc/gnulib-intro.texi (Copyright): Likewise.
52307
52308 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52309
52310         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52311         findings.
52312
52313 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52314             Bruno Haible  <bruno@clisp.org>
52315
52316         * lib/unistd.in.h: Include <winsock2.h>.
52317         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52318         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52319         Provide dummy declarations.
52320         (gethostname): Override.
52321         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52322         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52323         gl_PREREQ_SYS_H_WINSOCK2.
52324         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52325         * doc/posix-functions/gethostname.texi: More details.
52326
52327 2008-10-25  Bruno Haible  <bruno@clisp.org>
52328
52329         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52330         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52331         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52332
52333         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52334         here ...
52335         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52336         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52337         gl_UNISTD_H_DEFAULTS.
52338
52339 2008-10-25  Eric Blake  <ebb9@byu.net>
52340
52341         signbit: avoid spurious compiler failure
52342         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52343         declarations inside function.
52344
52345 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52346             Bruno Haible  <bruno@clisp.org>
52347
52348         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52349         * modules/random_r (Depends-on): Add stdint.
52350
52351 2008-10-24  Bruno Haible  <bruno@clisp.org>
52352
52353         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52354         Eggert.
52355         * modules/strerror (License): Likewise.
52356
52357 2008-10-24  Jim Meyering  <meyering@redhat.com>
52358
52359         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52360         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52361
52362 2008-10-24  Eric Blake  <ebb9@byu.net>
52363
52364         getgroups: fix compilation when getgroups is available
52365         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52366         but with <config.h> override of getgroups disabled.
52367
52368 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52369
52370         * doc/gnulib.texi (Header files): Add note about C++ problems.
52371         Explained by Bruno Haible <bruno@clisp.org>.
52372
52373 2008-10-23  Bruno Haible  <bruno@clisp.org>
52374
52375         Define a dummy SA_NODEFER macro on Interix.
52376         * lib/signal.in.h (SA_NODEFER): Define fallback.
52377         Reported by Aleksey Cheusov <cheusov@tut.by> via
52378         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52379
52380 2008-10-23  Bruno Haible  <bruno@clisp.org>
52381
52382         * modules/freadahead (License): Change to LGPLv2+.
52383         Suggested by Simon Josefsson.
52384
52385 2008-10-23  Jim Meyering  <meyering@redhat.com>
52386
52387         random_r: new module
52388         * modules/random_r: New file.
52389         * m4/random_r.m4: New file.
52390         * lib/random_r.c: New file, from glibc.
52391         * modules/random_r-tests: New file.
52392         * tests/test-random_r.c: New file.
52393         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52394          Declare.
52395         (RAND_MAX): Define.
52396         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52397         * modules/stdlib: Substitute them, too.
52398         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52399         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52400         * doc/glibc-functions/random_r.texi: Likewise.
52401         * doc/glibc-functions/setstate_r.texi: Likewise.
52402         * doc/glibc-functions/srandom_r.texi: Likewise.
52403         * config/srclist.txt: Mention it.
52404
52405 2008-10-23  David Lutterkort  <lutter@redhat.com>
52406
52407         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52408         link requirement
52409
52410 2008-10-23  Jim Meyering  <meyering@redhat.com>
52411
52412         selinux-h: mark parameters of stub functions as intentionally unused
52413         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52414         * lib/se-context.in.h: Likewise.
52415
52416 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52417
52418         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52419
52420 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52421
52422         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52423
52424 2008-10-22  Eric Blake  <ebb9@byu.net>
52425
52426         glthread/thread: avoid compiler warning
52427         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
52428         Add unreachable abort to silence compiler.
52429
52430 2008-10-22  Eric Blake  <ebb9@byu.net>
52431
52432         netdb: also supply struct addrinfo for cygwin 1.5.x
52433         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
52434         older cygwin.
52435         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
52436         cygwin.
52437         * doc/posix-headers/netdb.texi (netdb.h): Document this.
52438
52439 2008-10-22  Bruno Haible  <bruno@clisp.org>
52440
52441         * users.txt: Update entry about pspp.
52442
52443 2008-10-21  Bruno Haible  <bruno@clisp.org>
52444
52445         Simplification.
52446         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
52447         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
52448
52449         Simplification.
52450         * lib/ioctl.c (ioctl): Don't undefine.
52451         * lib/socket.c (socket): Don't undefine.
52452
52453         Remove unused module indicator macros.
52454         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
52455         GNULIB_$1 as a C macro.
52456
52457         * doc/posix-functions/close.texi: Undo last change.
52458         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52459         Windows platforms.
52460
52461 2008-10-21  Bruno Haible  <bruno@clisp.org>
52462
52463         Add gethostname() declaration to <unistd.h>.
52464         * lib/unistd.in.h (gethostname): New declaration.
52465         * lib/gethostname.c: Include <unistd.h>.
52466         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52467         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52469         and HAVE_GETHOSTNAME.
52470         * modules/gethostname (Depends-on): Add unistd.
52471         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52472         (Include): Specify <unistd.h>.
52473         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52474         HAVE_GETHOSTNAME.
52475         * tests/test-gethostname.c: Include <unistd.h> first.
52476
52477 2008-10-21  Bruno Haible  <bruno@clisp.org>
52478
52479         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52480         * modules/select-tests (Depends-on): Likewise.
52481         Reported by Simon Josefsson.
52482
52483 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52484
52485         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52486         * lib/accept.c: New file, based on winsock.c.
52487         * lib/bind.c: New file, based on winsock.c.
52488         * lib/connect.c: New file, based on winsock.c.
52489         * lib/getpeername.c: New file, based on winsock.c.
52490         * lib/getsockname.c: New file, based on winsock.c.
52491         * lib/getsockopt.c: New file, based on winsock.c.
52492         * lib/ioctl.c: New file, based on winsock.c.
52493         * lib/listen.c: New file, based on winsock.c.
52494         * lib/recv.c: New file, based on winsock.c.
52495         * lib/recvfrom.c: New file, based on winsock.c.
52496         * lib/send.c: New file, based on winsock.c.
52497         * lib/sendto.c: New file, based on winsock.c.
52498         * lib/setsockopt.c: New file, based on winsock.c.
52499         * lib/shutdown.c: New file, based on winsock.c.
52500         * lib/socket.c: New file, based on winsock.c.
52501         * lib/w32sock.h: New file, based on winsock.c.
52502         * lib/winsock.c: Remove file.
52503         * modules/accept: Likewise.
52504         * modules/bind: Likewise.
52505         * modules/connect: Likewise.
52506         * modules/getpeername: Likewise.
52507         * modules/getsockname: Likewise.
52508         * modules/getsockopt: Likewise.
52509         * modules/ioctl: Likewise.
52510         * modules/listen: Likewise.
52511         * modules/recv: Likewise.
52512         * modules/recvfrom: Likewise.
52513         * modules/send: Likewise.
52514         * modules/sendto: Likewise.
52515         * modules/setsockopt: Likewise.
52516         * modules/shutdown: Likewise.
52517         * modules/socket: Use socket.c instead of winsock.c.
52518         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52519         * doc/posix-functions/accept.texi: Doc fix.
52520         * doc/posix-functions/bind.texi: Doc fix.
52521         * doc/posix-functions/close.texi: Doc fix.
52522         * doc/posix-functions/connect.texi: Doc fix.
52523         * doc/posix-functions/getpeername.texi: Doc fix.
52524         * doc/posix-functions/getsockname.texi: Doc fix.
52525         * doc/posix-functions/getsockopt.texi: Doc fix.
52526         * doc/posix-functions/ioctl.texi: Doc fix.
52527         * doc/posix-functions/listen.texi: Doc fix.
52528         * doc/posix-functions/recv.texi: Doc fix.
52529         * doc/posix-functions/recvfrom.texi: Doc fix.
52530         * doc/posix-functions/send.texi: Doc fix.
52531         * doc/posix-functions/sendto.texi: Doc fix.
52532         * doc/posix-functions/setsockopt.texi: Doc fix.
52533         * doc/posix-functions/shutdown.texi: Doc fix.
52534         * doc/posix-functions/socket.texi: Doc fix.
52535
52536 2008-10-20  Bruno Haible  <bruno@clisp.org>
52537
52538         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52539         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52540         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52541         as an alias for SIGABRT.
52542         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52543         (sigaction): Map it to SIGABRT.
52544         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52545
52546 2008-10-20  Bruno Haible  <bruno@clisp.org>
52547
52548         * lib/fts.c: Don't include lstat.h.
52549         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52550
52551         Move the lstat() declaration to <sys/stat.h>.
52552         * lib/lstat.h: Remove file.
52553         * lib/sys_stat.in.h: Add special invocation convention.
52554         (lstat): New declaration.
52555         * lib/lstat.c (orig_lstat): New function.
52556         (rpl_lstat): Use orig_lstat instead of lstat.
52557         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52558         AC_C_INLINE. Set REPLACE_LSTAT.
52559         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52560         and REPLACE_LSTAT.
52561         * modules/lstat (Files): Remove lib/lstat.h.
52562         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52563         (Include): Specify <sys/stat.h> instead of lstat.h.
52564         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52565         REPLACE_LSTAT.
52566         * NEWS: Mention the change.
52567
52568 2008-10-20  Bruno Haible  <bruno@clisp.org>
52569
52570         * modules/posix_spawn-tests: New file.
52571         * tests/test-posix_spawn3.c: New file.
52572
52573 2008-10-20  Bruno Haible  <bruno@clisp.org>
52574
52575         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52576         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52577         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52578         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52579         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52580
52581 2008-10-20  Bruno Haible  <bruno@clisp.org>
52582
52583         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52584         of posix_spawn on AIX 5.3.
52585
52586 2008-10-20  Bruno Haible  <bruno@clisp.org>
52587
52588         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52589
52590 2008-10-20  Bruno Haible  <bruno@clisp.org>
52591
52592         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52593         of AC_LANG_PROGRAM.
52594
52595 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52596
52597         * lib/netdb.in.h: Don't define GNU specific constants until they
52598         are supported or needed.  Reported by Bruno Haible
52599         <bruno@clisp.org>.
52600
52601 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52602
52603         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52604
52605 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52606
52607         * lib/getaddrinfo.h: Remove file.
52608         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52609         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52610         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52611         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52612         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52613         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52614         * tests/test-getaddrinfo.c: Likewise.
52615         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52616         * NEWS: Mention change.
52617
52618 2008-10-19  Bruno Haible  <bruno@clisp.org>
52619
52620         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52621
52622 2008-10-19  Bruno Haible  <bruno@clisp.org>
52623
52624         * lib/wait-process.c: Include simply <sys/wait.h>.
52625         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52626         WIFSTOPPED): Remove fallback definitions.
52627         * modules/wait-process (Depends-on): Add sys_wait.
52628
52629         New module 'sys_wait'.
52630         * modules/sys_wait: New file.
52631         * lib/sys_wait.in.h: New file, partially copied from
52632         lib/wait-process.c.
52633         * m4/sys_wait_h.m4: New file.
52634         * doc/posix-headers/sys_wait.texi: Mention the new module.
52635
52636 2008-10-19  Bruno Haible  <bruno@clisp.org>
52637
52638         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52639
52640 2008-10-19  Bruno Haible  <bruno@clisp.org>
52641
52642         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52643         * lib/wait-process.c (WAIT_T): Remove type.
52644         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52645         (wait_subprocess): Update.
52646
52647 2008-10-19  Bruno Haible  <bruno@clisp.org>
52648
52649         New module 'atoll'.
52650         * modules/atoll: New file.
52651         * lib/stdlib.in.h (atoll): New declaration.
52652         * lib/atoll.c: New file, from glibc with modifications.
52653         * m4/atoll.m4: New file.
52654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52655         HAVE_ATOLL.
52656         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52657         * doc/posix-functions/atoll.texi: Mention the new module.
52658
52659 2008-10-19  Bruno Haible  <bruno@clisp.org>
52660
52661         Add strtoull() declaration to <stdlib.h>.
52662         * lib/stdlib.in.h (strtoull): New declaration.
52663         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52664         Set HAVE_STRTOULL.
52665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52666         HAVE_STRTOULL.
52667         * modules/strtoull (Depends-on): Add stdlib.
52668         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52669         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52670         HAVE_STRTOULL.
52671
52672 2008-10-19  Bruno Haible  <bruno@clisp.org>
52673
52674         Add strtoll() declaration to <stdlib.h>.
52675         * lib/stdlib.in.h (strtoll): New declaration.
52676         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52677         Set HAVE_STRTOLL.
52678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52679         HAVE_STRTOLL.
52680         * modules/strtoll (Depends-on): Add stdlib.
52681         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52682         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52683
52684 2008-10-19  Bruno Haible  <bruno@clisp.org>
52685
52686         * modules/bcopy (Depends-on): Add strings.
52687         (Include): Specify <strings.h>.
52688
52689 2008-10-19  Bruno Haible  <bruno@clisp.org>
52690
52691         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52692
52693 2008-10-19  Bruno Haible  <bruno@clisp.org>
52694
52695         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52696         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52697         mingw.
52698
52699 2008-10-19  Bruno Haible  <bruno@clisp.org>
52700
52701         * lib/atanl.c: Don't include isnanl.h.
52702         * lib/cosl.c: Likewise.
52703         * lib/ldexpl.c: Likewise.
52704         * lib/logl.c: Likewise.
52705         * lib/sinl.c: Likewise.
52706         * lib/sqrtl.c: Likewise.
52707         * lib/tanl.c: Likewise.
52708
52709         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52710         * lib/isnanf.h: Remove file.
52711         * lib/isnand.h: Remove file.
52712         * lib/isnanl.h: Remove file.
52713         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52714         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52715         macros.
52716         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52717         HAVE_ISNANF, don't define it as a C macro.
52718         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52719         HAVE_ISNAND, don't define it as a C macro.
52720         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52721         HAVE_ISNANL, don't define it as a C macro.
52722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52723         HAVE_ISNAN[FDL].
52724         * modules/isnanf (Files): Remove lib/isnanf.h.
52725         (Depends-on): Add math.
52726         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52727         (Include): Specify <math.h> instead of isnanf.h.
52728         * modules/isnand (Files): Remove lib/isnand.h.
52729         (Depends-on): Add math.
52730         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52731         (Include): Specify <math.h> instead of isnand.h.
52732         * modules/isnanl (Files): Remove lib/isnanl.h.
52733         (Depends-on): Add math.
52734         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52735         (Include): Specify <math.h> instead of isnanl.h.
52736         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52737         HAVE_ISNAN[FDL].
52738         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52739         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52740         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52741         * NEWS: Mention the change.
52742
52743 2008-10-18  Bruno Haible  <bruno@clisp.org>
52744
52745         Add getusershell(), setusershell(), endusershell() declarations to
52746         <unistd.h>.
52747         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52748         declarations.
52749         * lib/getusershell.c: Include unistd.h.
52750         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52751         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52752         HAVE_GETUSERSHELL.
52753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52754         and HAVE_GETUSERSHELL.
52755         * modules/getusershell (Depends-on): Add unistd, extensions.
52756         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52757         (Include): Specify <unistd.h>.
52758         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52759         HAVE_GETUSERSHELL.
52760
52761 2008-10-18  Bruno Haible  <bruno@clisp.org>
52762
52763         Add a getloadavg() declaration to <stdlib.h>.
52764         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52765         getloadavg declaration.
52766         (getloadavg): New declaration.
52767         * lib/getloadavg.c: Include <stdlib.h> first.
52768         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52769         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52770         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52771         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52772         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52773         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52774         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52775         (Include): Specify <stdlib.h>.
52776         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52777         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52778
52779 2008-10-18  Bruno Haible  <bruno@clisp.org>
52780
52781         * lib/dirchownmod.c: Don't include lchmod.h.
52782
52783         Move the lchmod() declaration to <sys/stat.h>.
52784         * lib/lchmod.h: Remove file.
52785         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52786         (lchmod): New declaration, moved here from lib/lchown.h.
52787         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52788         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52789         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52790         and HAVE_LCHMOD.
52791         * modules/lchmod (Files): Remove lib/lchmod.h.
52792         (Depends-on): Add sys_stat, extensions.
52793         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52794         (Include): Specify <sys/stat.h> instead of lchmod.h.
52795         * modules/sys_stat (Depends-on): Add link-warning.
52796         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52797         definition of GL_LINK_WARNING.
52798         * NEWS: Mention the change.
52799
52800 2008-10-18  Bruno Haible  <bruno@clisp.org>
52801
52802         * lib/fchdir.c: Don't include dirfd.h.
52803         * lib/fts.c: Likewise.
52804         * lib/getcwd.c: Likewise.
52805         * lib/glob.c: Likewise.
52806
52807         Move the dirfd() declaration to <dirent.h>.
52808         * lib/dirfd.h: Remove file.
52809         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52810         (dirfd): New declaration.
52811         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52812         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52813         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52814         HAVE_DECL_DIRFD.
52815         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52816         HAVE_DECL_DIRFD.
52817         * modules/dirfd (Files): Remove lib/dirfd.h.
52818         (Depends-on): Add dirent, extensions.
52819         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52820         (Include): Specify <dirent.h> instead of dirfd.h.
52821         * modules/dirent (Depends-on): Add link-warning.
52822         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52823         definition of GL_LINK_WARNING.
52824         * NEWS: Mention the change.
52825
52826 2008-10-18  Bruno Haible  <bruno@clisp.org>
52827
52828         Move the euidaccess() declaration to <unistd.h>.
52829         * lib/euidaccess.h: Remove file.
52830         * lib/unistd.in.h (euidaccess): New declaration.
52831         * lib/euidaccess.c: Don't include euidaccess.h.
52832         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52833         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52835         and HAVE_EUIDACCESS.
52836         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52837         (Depends-on): Add unistd.
52838         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52839         (Include): Specify <unistd.h> instead of euidaccess.h.
52840         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52841         HAVE_EUIDACCESS.
52842         * NEWS: Mention the change.
52843
52844 2008-10-18  Bruno Haible  <bruno@clisp.org>
52845
52846         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52847
52848         Move the getdomainname() declaration to <unistd.h>.
52849         * lib/getdomainname.h: Remove file.
52850         * lib/unistd.in.h (getdomainname): New declaration.
52851         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52852         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52853         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52854         HAVE_GETDOMAINNAME.
52855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52856         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52857         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52858         (Depends-on): Add unistd, extensions.
52859         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52860         (Includes): Specify <unistd.h> instead of getdomainname.h.
52861         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52862         HAVE_GETDOMAINNAME.
52863         * NEWS: Mention the change.
52864
52865 2008-10-18  Bruno Haible  <bruno@clisp.org>
52866
52867         * modules/dirent: New file.
52868         * m4/dirent_h.m4: New file.
52869         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52870         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52871         * modules/fchdir (Files): Remove lib/dirent.in.h.
52872         (Depends-on): Add dirent.
52873         (Makefile.am): Move rules to modules/dirent.
52874         * doc/posix-headers/dirent.texi: Mention the new module.
52875
52876 2008-10-18  Bruno Haible  <bruno@clisp.org>
52877
52878         Avoid -Wunused-parameter warnings in public gnulib header files.
52879         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52880         macro.
52881         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52882
52883 2008-10-18  Bruno Haible  <bruno@clisp.org>
52884
52885         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52886         * doc/glibc-functions/error.texi: Mention the module 'error'.
52887         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52888         * doc/glibc-functions/getdomainname.texi: Mention the module
52889         'getdomainname'.
52890         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52891         * doc/glibc-functions/getpagesize.texi: Mention the module
52892         'getpagesize'.
52893         * doc/glibc-functions/getusershell.texi: Mention the module
52894         'getusershell'.
52895         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52896         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52897         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52898         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52899         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52900         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52901         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52902         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52903         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52904         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52905         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52906         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52907         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52908         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52909
52910 2008-10-17  Bruno Haible  <bruno@clisp.org>
52911
52912         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52913         HP-UX and IRIX, use -0.0L.
52914         * tests/test-ceill.c (minus_zero): Likewise.
52915         * tests/test-floorl.c (minus_zero): Likewise.
52916         * tests/test-frexpl.c (minus_zero): Likewise.
52917         * tests/test-isnan.c (minus_zerol): Likewise.
52918         * tests/test-isnanl.h (minus_zero): Likewise.
52919         * tests/test-ldexpl.c (minus_zero): Likewise.
52920         * tests/test-roundl.c (minus_zero): Likewise.
52921         * tests/test-signbit.c (minus_zerol): Likewise.
52922         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52923         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52924         * tests/test-truncl.c (minus_zero): Likewise.
52925         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52926         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52927         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52928         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52929
52930 2008-10-17  Bruno Haible  <bruno@clisp.org>
52931
52932         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52933         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52934         that it gets activated only for gcc >= 3.0.
52935         * lib/dirent.in.h: Likewise.
52936         * lib/errno.in.h: Likewise.
52937         * lib/fcntl.in.h: Likewise.
52938         * lib/float.in.h: Likewise.
52939         * lib/iconv.in.h: Likewise.
52940         * lib/inttypes.in.h: Likewise.
52941         * lib/locale.in.h: Likewise.
52942         * lib/math.in.h: Likewise.
52943         * lib/netdb.in.h: Likewise.
52944         * lib/netinet_in.in.h: Likewise.
52945         * lib/search.in.h: Likewise.
52946         * lib/signal.in.h: Likewise.
52947         * lib/spawn.in.h: Likewise.
52948         * lib/stdarg.in.h: Likewise.
52949         * lib/stdint.in.h: Likewise.
52950         * lib/stdio.in.h: Likewise.
52951         * lib/stdlib.in.h: Likewise.
52952         * lib/string.in.h: Likewise.
52953         * lib/strings.in.h: Likewise.
52954         * lib/sys_file.in.h: Likewise.
52955         * lib/sys_ioctl.in.h: Likewise.
52956         * lib/sys_select.in.h: Likewise.
52957         * lib/sys_socket.in.h: Likewise.
52958         * lib/sys_stat.in.h: Likewise.
52959         * lib/sys_time.in.h: Likewise.
52960         * lib/sysexits.in.h: Likewise.
52961         * lib/time.in.h: Likewise.
52962         * lib/unistd.in.h: Likewise.
52963         * lib/wchar.in.h: Likewise.
52964         * lib/wctype.in.h: Likewise.
52965         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52966
52967 2008-10-17  Jim Meyering  <meyering@redhat.com>
52968
52969         ignore-value: don't depend on inline module
52970         * modules/ignore-value (Depends-on): Remove 'inline'.
52971         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52972         Suggestion from Bruno Haible.
52973
52974 2008-10-17  Bruno Haible  <bruno@clisp.org>
52975
52976         New implementation of condition variables for Win32.
52977         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52978         (gl_linked_waitqueue_t): New type.
52979         (gl_cond_t): Use it.
52980         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52981         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52982         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52983         (glthread_cond_init_func, glthread_cond_wait_func,
52984         glthread_cond_timedwait_func, glthread_cond_signal_func,
52985         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52986         Reimplemented on the basis of gl_linked_waitqueue_t.
52987         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52988         gl_waitqueue_t.
52989         (gl_rwlock_t): Update.
52990         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52991
52992 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52993
52994         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52995         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52996
52997 2008-10-17  Jim Meyering  <meyering@redhat.com>
52998
52999         ignore-value: new module
53000         * modules/ignore-value: New file.
53001         * lib/ignore-value.h: New file.
53002         * MODULES.html.sh (Compiler warning management): New section,
53003         just for this module.  More to come.
53004
53005 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
53006
53007         open-safer.c: avoid 'signed and unsigned in conditional...' warning
53008         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
53009         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
53010
53011 2008-10-16  Jim Meyering  <meyering@redhat.com>
53012
53013         openat-die.c: avoid 'no previous prototype' warning
53014         * lib/openat-die.c: Include "openat.h".
53015         Reported by Reuben Thomas <rrt@sc3d.org>.
53016
53017 2008-10-16  Simon Josefsson  <simon@josefsson.org>
53018
53019         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
53020         * lib/netdb.in.h: Fix typo.
53021         Reported by Bruno Haible  <bruno@clisp.org>
53022
53023         * lib/netdb.in.h: Include sys/socket.h for platforms without
53024         netdb.h, to get structures like hostent on MinGW.
53025         * modules/netdb (Depends-on): Add sys_socket.
53026
53027 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53028
53029         * modules/netdb, modules/netdb-tests: New file.
53030         * m4/netdb_h.m4: New file.
53031         * lib/netdb.in.h: Add, currently just an empty file pending
53032         definitions.
53033         * tests/test-netdb.c: New file.
53034         * doc/posix-headers/netdb.texi: Mention that we replace it if
53035         needed.
53036         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53037         netdb.
53038
53039 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53040
53041         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
53042         with code.
53043
53044 2008-10-13  Bruno Haible  <bruno@clisp.org>
53045
53046         * lib/glthread/cond.c (glthread_cond_wait_func,
53047         glthread_cond_timedwait_func): Add a comment.
53048
53049 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53050
53051         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
53052         * tests/test-select.c: Likewise,
53053
53054 2008-10-13  Bruno Haible  <bruno@clisp.org>
53055
53056         * lib/glthread/cond.c (glthread_cond_wait_func,
53057         glthread_cond_timedwait_func): Fix variable name.
53058         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53059
53060 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
53061
53062         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
53063         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
53064         struct sockaddr.sa_len.
53065         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
53066
53067 2008-10-13  Simon Josefsson  <simon@josefsson.org>
53068
53069         * build-aux/pmccabe2html: Add css and css_url parameters.
53070
53071 2008-10-12  Bruno Haible  <bruno@clisp.org>
53072
53073         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
53074         calling aclx_get.
53075         Reported by Rainer Tammer <tammer@tammer.net>.
53076
53077 2008-10-12  Bruno Haible  <bruno@clisp.org>
53078
53079         Use msvcrt aware primitives for creation/termination of Win32 threads.
53080         * lib/glthread/thread.c: Include <process.h>.
53081         (glthread_create_func): Use _beginthreadex instead of CreateThread.
53082         (wrapper_func): Update signature.
53083         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
53084
53085 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53086             Bruno Haible  <bruno@clisp.org>
53087
53088         Provide a Win32 implementation of the 'cond' module.
53089         * lib/glthread/cond.h [USE_WIN32]: New implementation.
53090         * lib/glthread/cond.c (glthread_cond_init_func,
53091         glthread_cond_wait_func, glthread_cond_timedwait_func,
53092         glthread_cond_signal_func, glthread_cond_broadcast_func,
53093         glthread_cond_destroy_func) [USE_WIN32]: New functions.
53094         * modules/cond (Dependencies): Add gettimeofday.
53095
53096 2008-10-11  Bruno Haible  <bruno@clisp.org>
53097
53098         Make sleep work on older versions of mingw.
53099         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
53100         only whether it exists.
53101         * doc/posix-functions/sleep.texi: Mention the problem with older
53102         versions of mingw.
53103
53104 2008-10-11  Bruno Haible  <bruno@clisp.org>
53105
53106         New module 'shutdown'.
53107         * modules/shutdown: New file.
53108         * lib/sys_socket.in.h (shutdown): New declaration.
53109         * lib/winsock.c (shutdown): New function.
53110         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
53111         GNULIB_SHUTDOWN.
53112         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
53113         * doc/posix-functions/shutdown.texi: Document the new module.
53114
53115 2008-10-11  Jim Meyering  <meyering@redhat.com>
53116
53117         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
53118
53119 2008-10-11  Bruno Haible  <bruno@clisp.org>
53120
53121         New module 'fclose'.
53122         * modules/fclose: New file.
53123         * lib/stdio.in.h (fclose): New declaration.
53124         * lib/fclose.c: New file.
53125         * m4/fclose.m4: New file.
53126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53127         REPLACE_FCLOSE.
53128         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53129         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53130         REPLACE_FCLOSE.
53131         * modules/close (Depends-on): fclose.
53132         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53133
53134 2008-10-11  Bruno Haible  <bruno@clisp.org>
53135
53136         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53137         set errno and don't call _close.
53138
53139 2008-10-10  Bruno Haible  <bruno@clisp.org>
53140
53141         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53142         ACL, not afterwards. Fixes test failure on Cygwin.
53143
53144 2008-10-09  Ben Pfaff  <blp@gnu.org>
53145
53146         * build-aux/announce-gen: Fix gnulib version related part of usage
53147         message.  Die with a useful error message if no tarballs are
53148         found.
53149
53150 2008-10-10  Jim Meyering  <meyering@redhat.com>
53151
53152         bootstrap: use git's --depth=N option only if it's supported
53153         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53154         recognize the --depth option.  Reported by Pádraig Brady.
53155
53156 2008-10-09  Bruno Haible  <bruno@clisp.org>
53157
53158         New module 'ioctl'.
53159         * modules/ioctl: New file.
53160         * lib/sys_socket.in.h (ioctl): Remove declaration.
53161         * lib/winsock.c: Include <sys/ioctl.h>.
53162         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53163         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53164         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53165         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53166         * doc/posix-functions/ioctl.texi: Mention the new module.
53167
53168 2008-10-09  Bruno Haible  <bruno@clisp.org>
53169
53170         New module 'sys_ioctl'.
53171         * lib/sys_ioctl.in.h: New file.
53172         * m4/sys_ioctl_h.m4: New file.
53173         * modules/sys_ioctl: New file.
53174         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53175
53176 2008-10-09  Bruno Haible  <bruno@clisp.org>
53177
53178         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53179         * lib/winsock.c: Include <stdarg.h>.
53180         (rpl_ioctl): Change to second argument 'int' and then varargs.
53181
53182 2008-10-09  Bruno Haible  <bruno@clisp.org>
53183
53184         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53185         when the sys_socket module is present and the system has <winsock2.h>.
53186
53187 2008-10-09  Bruno Haible  <bruno@clisp.org>
53188
53189         * doc/posix-functions/close.texi: Mention module 'close' instead of
53190         module 'sys_socket'.
53191
53192 2008-10-09  Bruno Haible  <bruno@clisp.org>
53193
53194         * doc/glibc-headers/sys_ioctl.texi: New file.
53195         * doc/gnulib.texi: Include it.
53196
53197 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53198             Bruno Haible  <bruno@clisp.org>
53199
53200         Combine the two replacements of 'close'.
53201         * lib/sys_socket.in.h (close): Define to a reminder to include
53202         <unistd.h>.
53203         (_gl_close_fd_maybe_socket): New declaration.
53204         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53205         * lib/winsock.c (close): Remove undefinition.
53206         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53207         needed for the gnulib module 'close'.
53208         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53209         define to an error symbol or to a warning, if suitable.
53210         * lib/close.c: Include <sys/socket.h>.
53211         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53212         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53213         UNISTD_H_HAVE_WINSOCK2_H.
53214         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53216         UNISTD_H_HAVE_WINSOCK2_H.
53217         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53218         (configure.ac): Set a module indicator.
53219         (Makefile.am): Substitute GNULIB_CLOSE.
53220         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53221         * modules/poll-tests (Depends-on): Add close.
53222         * modules/select-tests (Depends-on): Likewise.
53223
53224 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53225             Bruno Haible  <bruno@clisp.org>
53226
53227         New module 'close'.
53228         * modules/close: New file.
53229         * lib/unistd.in.h (close): Move declaration out of the
53230         FCHDIR_REPLACEMENT scope.
53231         (_gl_unregister_fd): New declaration.
53232         * lib/close.c: New file.
53233         * lib/fchdir.c (rpl_close): Remove function.
53234         * m4/close.m4: New file.
53235         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53236         close.
53237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53238         REPLACE_CLOSE.
53239         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53240         REPLACE_CLOSE.
53241         * modules/fchdir (Depends-on): Add close.
53242
53243 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53244             Bruno Haible  <bruno@clisp.org>
53245
53246         * lib/fcntl.in.h (open): Simplify conditionals.
53247         (_gl_register_fd): New declaration.
53248         * lib/fchdir.c (rpl_open): Remove function.
53249         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53250         also.
53251         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53252         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53253         open.
53254
53255 2008-10-09  Jim Meyering  <meyering@redhat.com>
53256
53257         GNUmakefile: use the more name-space-friendly "_version"
53258         * top/GNUmakefile (_dummy): Update.
53259         (_version): Rename from "version".
53260
53261 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53262             Bruno Haible  <bruno@clisp.org>
53263
53264         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53265         rpl_close.
53266         (_gl_register_fd): New function, extracted from rpl_open.
53267         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53268         (rpl_open, rpl_opendir): Use _gl_register_fd.
53269
53270 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53271
53272         Fix organization of 'open' replacement.
53273         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53274         (gl_FUNC_OPEN): Use it.
53275         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53276
53277 2008-10-08  Bruno Haible  <bruno@clisp.org>
53278
53279         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53280
53281 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53282
53283         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53284         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53285         listen).
53286
53287 2008-10-08  Eric Blake  <ebb9@byu.net>
53288
53289         GNUmakefile: add 'make version' target
53290         * top/GNUmakefile (_curr-ver): Split version update rules...
53291         (version): ...into a target.
53292
53293 2008-10-07  Bruno Haible  <bruno@clisp.org>
53294
53295         Use a more portable replacement expression for -0.0L.
53296         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53297         instead of -0.0L. Fix m4 quotation.
53298
53299         * tests/test-signbit.c: Include <float.h>.
53300         (minus_zero): New variable.
53301         (test_signbitl): Use minus_zero instead of -zero.
53302         * modules/signbit-tests (Depends-on): Add float.
53303
53304         * tests/test-ceill.c: Include <float.h>.
53305         (zero): Remove variable.
53306         (minus_zero): New variable.
53307         (main): Use minus_zero instead of -zero.
53308         * modules/ceill-tests (Depends-on): Add float.
53309
53310         * tests/test-floorl.c: Include <float.h>.
53311         (zero): Remove variable.
53312         (minus_zero): New variable.
53313         (main): Use minus_zero instead of -zero.
53314         * modules/floorl-tests (Depends-on): Add float.
53315
53316         * tests/test-roundl.c: Include <float.h>.
53317         (zero): Remove variable.
53318         (minus_zero): New variable.
53319         (main): Use minus_zero instead of -zero.
53320         * modules/roundl-tests (Depends-on): Add float.
53321
53322         * tests/test-truncl.c: Include <float.h>.
53323         (zero): Remove variable.
53324         (minus_zero): New variable.
53325         (main): Use minus_zero instead of -zero.
53326         * modules/truncl-tests (Depends-on): Add float.
53327
53328         * tests/test-frexpl.c (zero): Remove variable.
53329         (minus_zero): New variable.
53330         (main): Use minus_zero instead of -zero.
53331         * modules/frexpl-tests (Depends-on): Add float.
53332
53333         * tests/test-isnan.c (zerol): Remove variable.
53334         (minus_zerol): New variable.
53335         (test_long_double): Use minus_zerol instead of -zerol.
53336         * modules/isnan-tests (Depends-on): Add float.
53337
53338         * tests/test-isnanl.h (zero): Remove variable.
53339         (minus_zero): New variable.
53340         (main): Use minus_zero instead of -zero.
53341         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53342         * modules/isnanl-tests (Depends-on): Add float.
53343
53344         * tests/test-ldexpl.c (zero): Remove variable.
53345         (minus_zero): New variable.
53346         (main): Use minus_zero instead of -zero.
53347         * modules/ldexpl-tests (Depends-on): Add float.
53348
53349         * tests/test-snprintf-posix.h (zerol): Remove variable.
53350         (minus_zerol): New variable.
53351         (test_function): Use minus_zerol instead of -zerol.
53352         * modules/snprintf-posix-tests (Depends-on): Add float.
53353         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53354
53355         * tests/test-sprintf-posix.h (zerol): Remove variable.
53356         (minus_zerol): New variable.
53357         (test_function): Use minus_zerol instead of -zerol.
53358         * modules/sprintf-posix-tests (Depends-on): Add float.
53359         * modules/vsprintf-posix-tests (Depends-on): Add float.
53360
53361         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53362         (minus_zerol): New variable.
53363         (test_function): Use minus_zerol instead of -zerol.
53364         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53365
53366         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53367         (minus_zerol): New variable.
53368         (test_function): Use minus_zerol instead of -zerol.
53369         * modules/vasprintf-posix-tests (Depends-on): Add float.
53370
53371 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53372
53373         * MODULES.html.sh (Support for building documentation): Mention
53374         pmccabe2html.  Sort entries.
53375
53376         Add pmccabe2html module, from gnupdf.
53377         * build-aux/pmccabe.css: New file.
53378         * build-aux/pmccabe2html: New file.
53379         * m4/pmccabe2html.m4: New file.
53380         * modules/pmccabe2html: New file.
53381
53382 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53383
53384         flock: new module
53385         * MODULES.html.sh: Add to list of modules.
53386         * lib/flock.c: flock implementation for Windows and Unix systems
53387         which have fcntl.
53388         * doc/glibc-functions/flock.texi: Update documentation.
53389         * lib/sys_file.in.h: <sys/file.h> header file.
53390         * m4/flock.m4: M4 macros.
53391         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53392         * modules/flock: flock module.
53393         * modules/flock-tests: flock tests module.
53394         * modules/sys_file: sys/file.h module.
53395         * tests/test-flock.c: test suite for flock.
53396
53397 2008-10-06  Jim Meyering  <meyering@redhat.com>
53398
53399         bootstrap: check for LT_INIT more portably still ;-)
53400         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53401         Spotted by Bruno Haible.
53402
53403 2008-10-06  Eric Blake  <ebb9@byu.net>
53404
53405         test-signbit: avoid tripping Irix cc bug on -0.0L
53406         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53407         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53408         entire testsuite consistent and avoids an Irix 6.2 bug.
53409
53410 2008-10-05  Bruno Haible  <bruno@clisp.org>
53411             Jim Meyering  <jim@meyering.net>
53412
53413         Add an option for ignoring EPIPE during close_stdout.
53414         * lib/closeout.h: Include <stdbool.h>.
53415         (close_stdout_set_ignore_EPIPE): New declaration.
53416         * lib/closeout.c: Include <stdbool.h>.
53417         (ignore_EPIPE): New variable.
53418         (close_stdout_set_ignore_EPIPE): New function.
53419         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53420         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53421         failure.
53422         * modules/closeout (Depends-on): Add stdbool.
53423
53424 2008-10-05  Bruno Haible  <bruno@clisp.org>
53425
53426         * modules/accept: New file.
53427         * modules/bind: New file.
53428         * modules/connect: New file.
53429         * modules/getpeername: New file.
53430         * modules/getsockname: New file.
53431         * modules/getsockopt: New file.
53432         * modules/listen: New file.
53433         * modules/recv: New file.
53434         * modules/recvfrom: New file.
53435         * modules/send: New file.
53436         * modules/sendto: New file.
53437         * modules/setsockopt: New file.
53438         * modules/socket: New file.
53439         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
53440         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53441         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
53442         the particular module is requested. Add a link warning when the
53443         particular module is not requested.
53444         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
53445         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
53446         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
53447         the particular module is requested.
53448         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
53449         gl_SYS_SOCKET_H_DEFAULTS): New macros.
53450         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
53451         * modules/sys_socket (Depends-on): Add link-warning.
53452         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
53453         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
53454         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
53455         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
53456         GL_LINK_WARNING.
53457         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53458         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53459         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53460         * doc/posix-functions/getpeername.texi: Mention the new module
53461         'getpeername'.
53462         * doc/posix-functions/getsockname.texi: Mention the new module
53463         'getsockname'.
53464         * doc/posix-functions/getsockopt.texi: Mention the new module
53465         'getsockopt'.
53466         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53467         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53468         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53469         * doc/posix-functions/send.texi: Mention the new module 'send'.
53470         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53471         * doc/posix-functions/setsockopt.texi: Mention the new module
53472         'setsockopt'.
53473         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53474         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53475         listen, connect, accept.
53476         * modules/select-tests (Depends-on): Likewise.
53477
53478 2008-10-05  Bruno Haible  <bruno@clisp.org>
53479
53480         * lib/winsock.c (strerror): Remove unused #undef.
53481         (rpl_close): Remove unused local variable.
53482
53483         * modules/sys_socket (Depends-on); Add errno.
53484
53485 2008-10-05  Bruno Haible  <bruno@clisp.org>
53486
53487         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53488         (select): Add a link warning when the 'select' module is not used.
53489         * modules/sys_select (Depends-on): Add link-warning.
53490         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53491         Suggested by Paolo Bonzini.
53492
53493 2008-10-05  Jim Meyering  <meyering@redhat.com>
53494
53495         bootstrap: check for LT_INIT more portably
53496         * build-aux/bootstrap: Avoid using grep -E, since it's not
53497         portable enough.  Suggestion from Bruno Haible.
53498
53499 2008-10-05  Bruno Haible  <bruno@clisp.org>
53500
53501         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53502         as being fixed by gnulib.
53503
53504 2008-10-05  Bruno Haible  <bruno@clisp.org>
53505
53506         * modules/select-tests: New file, mostly copied from
53507         modules/sys_select-tests.
53508         * tests/test-select.c: New file, mostly copied from
53509         tests/test-sys_select.c.
53510         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53511         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53512         (Makefile.am): Remove test_sys_select_LDADD.
53513
53514         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53515         to an undefined symbol, for an error message.
53516         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53517         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53518         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53519         winsock-select.c here.
53520         * modules/sys_select (Files): Remove lib/winsock-select.c.
53521         (Depends-on): Remove alloca.
53522         (Makefile.am): Substitute GNULIB_SELECT.
53523         * modules/select: New file.
53524         * doc/posix-functions/select.texi: Update.
53525
53526 2008-10-05  Bruno Haible  <bruno@clisp.org>
53527
53528         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53529         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53530         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53531         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53532         getdtablesize.
53533         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53534         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53535
53536 2008-10-05  Bruno Haible  <bruno@clisp.org>
53537
53538         * modules/getdtablesize-tests: New file.
53539         * tests/test-getdtablesize.c: New file.
53540
53541         New module 'getdtablesize'.
53542         * lib/unistd.in.h (getdtablesize): New declaration.
53543         * lib/getdtablesize.c: New file.
53544         * m4/getdtablesize.m4: New file.
53545         * modules/getdtablesize: New file.
53546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53547         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53548         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53549         HAVE_GETDTABLESIZE.
53550         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53551
53552 2008-10-05  Bruno Haible  <bruno@clisp.org>
53553
53554         * modules/sched (Makefile.am): Fix typo.
53555         Reported by Simon Josefsson.
53556
53557 2008-10-05  Jim Meyering  <meyering@redhat.com>
53558
53559         bootstrap: check for LT_INIT, too
53560         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53561         are deprecated.  Suggestion from Ralf Wildenhues.
53562
53563 2008-10-05  Bruno Haible  <bruno@clisp.org>
53564
53565         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53566         overriding them by ours.
53567         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53568
53569 2008-10-05  Jim Meyering  <meyering@redhat.com>
53570
53571         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53572         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53573         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53574
53575 2008-10-04  Bruno Haible  <bruno@clisp.org>
53576
53577         * modules/dup2 (License): Change to LGPLv2+.
53578         * modules/sleep (License): Likewise.
53579         * modules/perror (License): Likewise.
53580         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53581         Blake.
53582         * modules/signal (License): Likewise.
53583         * modules/sigprocmask (License): Likewise.
53584         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53585         Meyering.
53586
53587 2008-10-04  Bruno Haible  <bruno@clisp.org>
53588
53589         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53590         Reported by Rainer Tammer <tammer@tammer.net>.
53591
53592 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53593             Bruno Haible  <bruno@clisp.org>
53594
53595         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53596         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53597         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53598
53599 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53600
53601         filevercmp: new module
53602         * lib/filevercmp.h: New function filevercmp comparing version strings.
53603         * lib/filevercmp.c: Implementation of filevercmp function.
53604         * modules/filevercmp: Module metadata.
53605         * tests/test-filevercmp.c: Unit test for new module.
53606         * modules/filevercmp-tests: Unit test metadata.
53607         * MODULES.html.sh: Add filevercmp module.
53608
53609 2008-10-03  Bruno Haible  <bruno@clisp.org>
53610
53611         * lib/c-ctype.h: Add comment.
53612         Reported by Jim Meyering.
53613
53614 2008-10-02  Bruno Haible  <bruno@clisp.org>
53615
53616         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53617
53618 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53619
53620         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53621         name of bootstrap.conf accordingly.
53622
53623 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53624
53625         * build-aux/bootstrap: Install git-merge-changelog configuration
53626         items into .gitconfig if needed.
53627
53628 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53629
53630         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53631         git repository, and initialize/update it accordingly.
53632
53633 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53634
53635         * modules/fsync-tests: New file.
53636         * tests/test-fsync.c: New file.
53637
53638         New module 'fsync'.
53639         * lib/fsync.c: New file.
53640         * m4/fsync.m4: New file.
53641         * modules/fsync: New file.
53642         * lib/unistd.in.h (fsync): New declaration.
53643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53644         GNULIB_FSYNC and HAVE_FSYNC.
53645         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53646         * MODULES.html.sh (posix_functions): Add fsync.
53647         * doc/posix-functions/fsync.texi: Mention the new module.
53648
53649 2008-10-02  Jim Meyering  <meyering@redhat.com>
53650
53651         fts.c: sync with similar code from coreutils' remove.c
53652         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53653         Guard also with "#if defined __linux__", since for now at least,
53654         this code is Linux-kernel-specific.
53655
53656 2008-10-02  Jim Meyering  <meyering@redhat.com>
53657
53658         fts: bug fixes
53659         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53660         Include <sys/vfs.h>, not <sys/statfs.h>.
53661
53662         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53663         Include <sys/vfs.h>, not <sys/statfs.h>.
53664
53665 2008-10-01  Bruno Haible  <bruno@clisp.org>
53666
53667         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53668         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53669         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53670         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53671         * doc/posix-functions/posix_spawnp.texi: Likewise.
53672         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53673         whether posix_spawn actually works.
53674         * m4/pipe.m4 (gl_PIPE): Likewise.
53675         * modules/execute (Files): Add m4/posix_spawn.m4.
53676         * modules/pipe (Files): Add m4/posix_spawn.m4.
53677         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53678
53679 2008-10-01  Jim Meyering  <meyering@redhat.com>
53680
53681         remove trailing spaces
53682         * NEWS: Likewise.
53683         * lib/poll.c (poll): Likewise.
53684         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53685         * lib/winsock.c (rpl_close): Likewise.
53686         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53687         * modules/yield: Likewise.
53688         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53689         * tests/test-sys_select.c (connect_to_socket): Likewise.
53690
53691         fts.c: adjust a new interface to be more generally useful
53692         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53693         (fts_build): Adjust caller.
53694
53695 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53696
53697         * modules/cond-tests: New file.
53698         * tests/test-cond.c: New file.
53699
53700 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53701             Bruno Haible  <bruno@clisp.org>
53702
53703         * modules/cond (Dependencies): Add errno, time.
53704         * lib/glthread/cond.h: Include <time.h>.
53705         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53706         across platforms.
53707
53708 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53709             Bruno Haible  <bruno@clisp.org>
53710
53711         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53712
53713 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53714             Bruno Haible  <bruno@clisp.org>
53715
53716         * modules/tls-tests (Depends-on): Add thread, yield.
53717         (configure.ac): Remove all checks.
53718         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53719         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53720         gl_thread_self): Remove definitions. Include glthread/thread.h and
53721         glthread/yield.h instead.
53722         (test_tls): Pass an additional NULL argument to gl_thread_join.
53723
53724 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53725             Bruno Haible  <bruno@clisp.org>
53726
53727         * modules/lock-tests (Depends-on): Add thread, yield.
53728         (configure.ac): Remove all checks.
53729         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53730         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53731         gl_thread_self): Remove definitions. Include glthread/thread.h and
53732         glthread/yield.h instead.
53733         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53734         additional NULL argument to gl_thread_join.
53735
53736 2008-09-30  Bruno Haible  <bruno@clisp.org>
53737
53738         Fix the Win32 implementation of the 'thread' module.
53739         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53740         pointer type.
53741         (gl_thread_self): Invoke gl_thread_self_func.
53742         (gl_thread_self_func): New declaration.
53743         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53744         (do_init_self_key, init_self_key): New functions.
53745         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53746         Remove some fields.
53747         (running_threads, running_lock): Remove variables.
53748         (get_current_thread_handle): New function.
53749         (gl_thread_self_func, wrapper_func, glthread_create_func,
53750         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53751         simplified.
53752
53753 2008-09-30  Bruno Haible  <bruno@clisp.org>
53754
53755         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53756         files.
53757
53758 2008-09-30  Jim Meyering  <meyering@redhat.com>
53759
53760         fts.m4: correct the test for statfs.f_type
53761         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53762         when checking for statfs.f_type.
53763
53764 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53765
53766         tests: avoid some compiler warnings
53767         * tests/test-memchr.c (main): Pass NULL indirectly.
53768         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53769
53770 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53771
53772         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53773         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53774         exactly specified dayshifts.
53775         (dayshift): New rule.
53776         (rel): Add dayshift.
53777         (relative_time_table) [tomorrow, yesterday, today, now]:
53778         Use tDAY_SHIFT in place of tDAY_UNIT.
53779         * tests/test-getdate.c: Add tests for now-disallowed countable
53780         dayshifts, e.g., "4 yesterday ago".
53781
53782 2008-09-29  Bruno Haible  <bruno@clisp.org>
53783
53784         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53785         * tests/test-posix_spawn1.in.sh: Renamed from
53786         tests/test-posix_spawn.in.sh.
53787         * tests/test-posix_spawn2.c: New file.
53788         * tests/test-posix_spawn2.in.sh: New file.
53789         * modules/posix_spawnp-tests (Files): Update.
53790         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53791
53792 2008-09-29  Bruno Haible  <bruno@clisp.org>
53793
53794         Propagate effects of putenv/setenv/unsetenv to child processes.
53795         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53796         * lib/pipe.c (create_pipe): Likewise.
53797
53798 2008-09-29  Bruno Haible  <bruno@clisp.org>
53799
53800         Enable use of shell scripts as executables in mingw.
53801         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53802         run the program as a shell script.
53803         * lib/pipe.c (create_pipe): Likewise.
53804         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53805         resulting array.
53806
53807 2008-09-29  Eric Blake  <ebb9@byu.net>
53808
53809         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53810
53811 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53812
53813         * doc/posix-functions/accept.texi: Update mingw problems.
53814         * doc/posix-functions/bind.texi: Update mingw problems.
53815         * doc/posix-functions/close.texi: Update mingw problems.
53816         * doc/posix-functions/connect.texi: Update mingw problems.
53817         * doc/posix-functions/getpeername.texi: Update mingw problems.
53818         * doc/posix-functions/getsockname.texi: Update mingw problems.
53819         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53820         * doc/posix-functions/ioctl.texi: Update mingw problems.
53821         * doc/posix-functions/listen.texi: Update mingw problems.
53822         * doc/posix-functions/recv.texi: Update mingw problems.
53823         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53824         * doc/posix-functions/select.texi: Update mingw problems.
53825         * doc/posix-functions/send.texi: Update mingw problems.
53826         * doc/posix-functions/sendto.texi: Update mingw problems.
53827         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53828         * doc/posix-functions/socket.texi: Update mingw problems.
53829
53830 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53831             Bruno Haible  <bruno@clisp.org>
53832
53833         * lib/sys_select.in.h: Include sys/time.h.
53834         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53835         * modules/sys_select: Depend on sys_time.
53836         * tests/test-sys_select.c: Test that sys/select.h defines struct
53837         timeval fully.
53838
53839 2008-09-29  Bruno Haible  <bruno@clisp.org>
53840
53841         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53842         * lib/sys_select.in.h: Likewise.
53843
53844 2008-09-29  Bruno Haible  <bruno@clisp.org>
53845
53846         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53847
53848 2008-09-29  Bruno Haible  <bruno@clisp.org>
53849
53850         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53851         Set LIBSOCKET instead of augmenting LIBS.
53852         * modules/sockets (Link): New section.
53853         * modules/sockets-tests (test_sockets_LDADD): New variable.
53854         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53855         * modules/poll-tests (test_poll_LDADD): New variable.
53856         * NEWS: Document the change.
53857
53858 2008-09-29  Bruno Haible  <bruno@clisp.org>
53859
53860         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53861         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53862         ARPA_INET_H directly.
53863         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53864
53865 2008-09-28  Bruno Haible  <bruno@clisp.org>
53866
53867         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53868         from gl_HEADER_SYS_SOCKET.
53869         (gl_HEADER_SYS_SOCKET): Invoke it.
53870         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53871
53872 2008-09-28  Bruno Haible  <bruno@clisp.org>
53873
53874         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53875         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53876         Needed on OSF/1 4.0.
53877
53878 2008-09-28  Bruno Haible  <bruno@clisp.org>
53879
53880         Override open more carefully.
53881         * lib/open.c (orig_open): New function.
53882         (rpl_open): Use orig_open instead of open.
53883         * lib/fcntl.in.h: Add special invocation convention.
53884         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53885         (gl_FUNC_OPEN): Invoke it.
53886
53887         Override freopen more carefully.
53888         * lib/freopen.c (orig_freopen): New function.
53889         (rpl_freopen): Use orig_freopen instead of freopen.
53890         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53891         (gl_FUNC_FREOPEN): Invoke it.
53892
53893         Override fopen more carefully.
53894         * lib/fopen.c (orig_fopen): New function.
53895         (rpl_fopen): Use orig_fopen instead of fopen.
53896         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53897         (gl_FUNC_FOPEN): Invoke it.
53898         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53899
53900 2008-09-28  Bruno Haible  <bruno@clisp.org>
53901
53902         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53903         SIGPIPE.
53904
53905 2008-09-28  Bruno Haible  <bruno@clisp.org>
53906
53907         * tests/test-sigaction.c (handler, main): Disable the check whether
53908         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53909         glibc systems with LinuxThreads.
53910
53911 2008-09-28  Bruno Haible  <bruno@clisp.org>
53912
53913         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53914
53915         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53916         with AIX xlc.
53917         * lib/fcntl.in.h (open): Likewise.
53918         Reported by Rainer Tammer <tammer@tammer.net>.
53919
53920 2008-09-28  Bruno Haible  <bruno@clisp.org>
53921
53922         * modules/posix_spawnp-tests: New file.
53923         * tests/test-posix_spawn.c: New file.
53924         * tests/test-posix_spawn.in.sh: New file.
53925
53926         New module 'posix_spawnp'.
53927         * modules/posix_spawnp: New file.
53928         * lib/spawnp.c: New file, from GNU libc with modifications.
53929         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53930
53931         New module 'posix_spawn'.
53932         * modules/posix_spawn: New file.
53933         * lib/spawn.c: New file, from GNU libc with modifications.
53934         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53935
53936         New module 'posix_spawnattr_destroy'.
53937         * modules/posix_spawnattr_destroy: New file.
53938         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53939         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53940         module.
53941
53942         New module 'posix_spawnattr_setsigmask'.
53943         * modules/posix_spawnattr_setsigmask: New file.
53944         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53945         modifications.
53946         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53947         new module.
53948
53949         New module 'posix_spawnattr_getsigmask'.
53950         * modules/posix_spawnattr_getsigmask: New file.
53951         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53952         modifications.
53953         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53954         new module.
53955
53956         New module 'posix_spawnattr_setsigdefault'.
53957         * modules/posix_spawnattr_setsigdefault: New file.
53958         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53959         modifications.
53960         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53961         new module.
53962
53963         New module 'posix_spawnattr_getsigdefault'.
53964         * modules/posix_spawnattr_getsigdefault: New file.
53965         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53966         modifications.
53967         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53968         new module.
53969
53970         New module 'posix_spawnattr_setschedpolicy'.
53971         * modules/posix_spawnattr_setschedpolicy: New file.
53972         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53973         modifications.
53974         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53975         new module.
53976
53977         New module 'posix_spawnattr_getschedpolicy'.
53978         * modules/posix_spawnattr_getschedpolicy: New file.
53979         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53980         modifications.
53981         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53982         new module.
53983
53984         New module 'posix_spawnattr_setschedparam'.
53985         * modules/posix_spawnattr_setschedparam: New file.
53986         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53987         modifications.
53988         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53989         new module.
53990
53991         New module 'posix_spawnattr_getschedparam'.
53992         * modules/posix_spawnattr_getschedparam: New file.
53993         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53994         modifications.
53995         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53996         new module.
53997
53998         New module 'posix_spawnattr_setpgroup'.
53999         * modules/posix_spawnattr_setpgroup: New file.
54000         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
54001         modifications.
54002         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
54003         module.
54004
54005         New module 'posix_spawnattr_getpgroup'.
54006         * modules/posix_spawnattr_getpgroup: New file.
54007         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
54008         modifications.
54009         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
54010         module.
54011
54012         New module 'posix_spawnattr_setflags'.
54013         * modules/posix_spawnattr_setflags: New file.
54014         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
54015         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
54016         module.
54017
54018         New module 'posix_spawnattr_getflags'.
54019         * modules/posix_spawnattr_getflags: New file.
54020         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
54021         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
54022         module.
54023
54024         New module 'posix_spawnattr_init'.
54025         * modules/posix_spawnattr_init: New file.
54026         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
54027         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
54028         module.
54029
54030         New module 'posix_spawn_file_actions_destroy'.
54031         * modules/posix_spawn_file_actions_destroy: New file.
54032         * lib/spawn_faction_destroy.c: New file, from GNU libc with
54033         modifications.
54034         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
54035         the new module.
54036
54037         New module 'posix_spawn_file_actions_addopen'.
54038         * modules/posix_spawn_file_actions_addopen: New file.
54039         * lib/spawn_faction_addopen.c: New file, from GNU libc with
54040         modifications.
54041         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
54042         the new module.
54043
54044         New module 'posix_spawn_file_actions_adddup2'.
54045         * modules/posix_spawn_file_actions_adddup2: New file.
54046         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
54047         modifications.
54048         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
54049         the new module.
54050
54051         New module 'posix_spawn_file_actions_addclose'.
54052         * modules/posix_spawn_file_actions_addclose: New file.
54053         * lib/spawn_faction_addclose.c: New file, from GNU libc with
54054         modifications.
54055         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
54056         the new module.
54057
54058         New module 'posix_spawn_file_actions_init'.
54059         * modules/posix_spawn_file_actions_init: New file.
54060         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
54061         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
54062         new module.
54063
54064         New module 'posix_spawn-internal'.
54065         * modules/posix_spawn-internal: New file.
54066         * lib/spawn_int.h: New file, from GNU libc with modifications.
54067         * lib/spawni.c: New file, from GNU libc with modifications.
54068         * m4/posix_spawn.m4: New file.
54069
54070         New module 'spawn'.
54071         * modules/spawn: New file.
54072         * lib/spawn.in.h: New file, from GNU libc with modifications.
54073         * m4/spawn_h.m4: New file.
54074         * doc/posix-headers/spawn.texi: Mention the new module.
54075
54076 2008-09-28  Bruno Haible  <bruno@clisp.org>
54077
54078         * modules/sched-tests: New file.
54079         * tests/test-sched.c: New file.
54080
54081         New module 'sched'.
54082         * modules/sched: New file.
54083         * lib/sched.in.h: New file.
54084         * m4/sched_h.m4: New file.
54085         * doc/posix-headers/sched.texi: Mention the new module.
54086
54087 2008-09-27  Eric Blake  <ebb9@byu.net>
54088
54089         Fix previous patch, and tweak references to $0.
54090         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
54091         (func_version, func_gnulib_dir): Don't call this program
54092         gnulib-tool.
54093         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
54094         with using $0 in function.
54095         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
54096         (func_fatal_error): Reuse the name the user invoked us with.
54097
54098 2008-09-27  Bruno Haible  <bruno@clisp.org>
54099
54100         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
54101         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
54102         (gl_ICONV_H): Not here.
54103         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54104         instead of assigning ICONV_H directly.
54105
54106         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
54107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
54108         WCHAR_H directly.
54109
54110 2008-09-27  Bruno Haible  <bruno@clisp.org>
54111
54112         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
54113         * modules/arpa_inet (Depends-on): Add link-warning.
54114         (Makefile.am): Insert the definition of GL_LINK-WARNING.
54115         * modules/unistd (Makefile.am): Likewise.
54116
54117 2008-09-26  Bruno Haible  <bruno@clisp.org>
54118
54119         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
54120         variables.
54121         (func_version): Essentially copied from gnulib-tool.
54122         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
54123         func_readlink): Copied from gnulib-tool.
54124
54125 2008-09-26  Bruno Haible  <bruno@clisp.org>
54126
54127         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54128         invoking git-version-gen.
54129
54130 2008-09-26  Bruno Haible  <bruno@clisp.org>
54131
54132         * posix-modules: Update to directory names changed on 2008-01-19.
54133         Remove commas in output before splitting into words. No more need to
54134         avoid 'ftruncate' since 2007-02-19.
54135
54136 2008-09-26  Bruno Haible  <bruno@clisp.org>
54137
54138         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54139
54140 2008-09-26  Bruno Haible  <bruno@clisp.org>
54141
54142         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54143         * modules/fwriteerror (Depends-on): Add errno.
54144
54145 2008-09-26  Bruno Haible  <bruno@clisp.org>
54146
54147         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54148         * tests/test-vc-list-files-cvs.sh: Likewise.
54149
54150 2008-09-26  Bruno Haible  <bruno@clisp.org>
54151
54152         * doc/posix-headers/sys_resource.texi: Reorder items.
54153
54154 2008-09-26  Jim Meyering  <meyering@redhat.com>
54155
54156         fts: tweak inode comparison function
54157         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54158         inode numbers, as documented.
54159
54160         fts: sort dirent entries on inode number before traversing
54161         This avoids a quadratic, seek-related performance penalty when
54162         operating on a directory containing many entries (measurable at 10k;
54163         3.5 hours at 2 million entries with a cold cache) on certain types
54164         of file systems, including ext3 and ext4, but not tmpfs.
54165         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54166         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54167         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54168         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54169         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54170         (fts_build): Set the stat.st_ino member from D_INO.
54171         If it is likely to be useful, sort dirent entries on inode number.
54172
54173         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54174         and the struct statfs.f_type member.
54175         * modules/fts (Depends-on): Add d-ino.
54176
54177 2008-09-26  Bruno Haible  <bruno@clisp.org>
54178
54179         * modules/sigpipe-die (Depends-on): Add sigpipe.
54180
54181         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54182         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54183         and GNULIB_STDIO_H_SIGPIPE are set.
54184         * lib/stdio-write.c: New file.
54185         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54186         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54187         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54188         REPLACE_STDIO_WRITE_FUNCS.
54189         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54190         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54191         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54192         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54193         * modules/stdio (Files): Add lib/stdio-write.c.
54194         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54195         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54196         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54197         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54198         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54199         REPLACE_FPRINTF_POSIX.
54200         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54201         REPLACE_PRINTF_POSIX.
54202         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54203         REPLACE_VFPRINTF_POSIX.
54204         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54205         REPLACE_VPRINTF_POSIX.
54206         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54207         SIGPIPE issue.
54208         * doc/posix-functions/fputc.texi: Likewise.
54209         * doc/posix-functions/fputs.texi: Likewise.
54210         * doc/posix-functions/fwrite.texi: Likewise.
54211         * doc/posix-functions/printf.texi: Likewise.
54212         * doc/posix-functions/putc.texi: Likewise.
54213         * doc/posix-functions/putchar.texi: Likewise.
54214         * doc/posix-functions/puts.texi: Likewise.
54215         * doc/posix-functions/vfprintf.texi: Likewise.
54216         * doc/posix-functions/vprintf.texi: Likewise.
54217
54218         * modules/safe-write (Depends-on): Add write.
54219
54220         * modules/sigpipe-tests: New file.
54221         * tests/test-sigpipe.c: New file.
54222         * tests/test-sigpipe.sh: New file.
54223
54224         * modules/write: New file.
54225         * lib/unistd.in.h: Include <sys/types.h>.
54226         (write): New declaration.
54227         * lib/write.c: New file.
54228         * m4/write.m4: New file.
54229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54230         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54231         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54232         GNULIB_WRITE, REPLACE_WRITE.
54233         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54234         and the SIGPIPE issue.
54235
54236         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54237         (raise): New declaration.
54238         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54239         (ext_signal): New function.
54240         (rpl_raise): New function.
54241         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54242         GNULIB_SIGNAL_H_SIGPIPE.
54243         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54244         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54245
54246         * modules/sigpipe: New file.
54247         * m4/sigpipe.m4: New file.
54248
54249 2008-09-25  Derek Price  <derek@ximbiot.com>
54250             Bruno Haible  <bruno@clisp.org>
54251
54252         * gnulib-tool (func_import): Report all license incompatibilities, not
54253         just the first one.
54254
54255 2008-09-25  Bruno Haible  <bruno@clisp.org>
54256
54257         * gnulib-tool (func_import): When computing the edits, consider not
54258         only the Makefile.ams that exist but also those that will be generated.
54259
54260 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54261
54262         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54263         fixes gnulib-tool --test warning about duplicate dependency.
54264
54265 2008-09-25  Bruno Haible  <bruno@clisp.org>
54266
54267         * gnulib-tool: Don't ask the user to perform edits in the generated
54268         Makefile.ams.
54269         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54270         apply to the Makefile.am being generated.
54271         (func_emit_tests_Makefile_am): Execute edits that apply to the
54272         Makefile.am being generated.
54273         (func_import): Setup list of Makefile.am edits before emitting the
54274         Makefile.ams, not at the end.
54275         (func_create_testdir): Update.
54276         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54277
54278 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54279
54280         * gnulib-tool (func_import): Store the --tests-base option in the
54281         comment in gnulib-cache.m4.
54282
54283 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54284
54285         * NEWS: Document increased portability that sys_select now provides.
54286
54287         * lib/sys_select.in.h: Install select wrapper.
54288         * lib/sys_socket.in.h: Use more descriptive name when there is no
54289         select wrapper.
54290         * lib/winsock-select.c: New.
54291         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54292         Require gl_HEADER_SYS_SOCKET.
54293         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54294         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54295         * tests/test-sys_select.c: Add functional tests.
54296
54297 2008-09-24  Eric Blake  <ebb9@byu.net>
54298
54299         open, fopen: close fd leak in last patch
54300         * lib/open.c (rpl_open): Close fd before returning error.
54301         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54302         * doc/posix-functions/open.texi (open): Document that Irix also
54303         has the bug.
54304         * doc/posix-functions/fopen.texi (fopen): Likewise.
54305         Reported by Paolo Bonzini.
54306
54307 2008-09-24  Bruno Haible  <bruno@clisp.org>
54308
54309         Ensure that a filename ending in a slash cannot be used to access a
54310         non-directory.
54311         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54312         to check whether it's really a directory.
54313         * lib/fopen.c: Include fcntl.h, unistd.h.
54314         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54315         and fdopen().
54316         * modules/fopen (Depends-on): Add unistd.
54317         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54318         * tests/test-fopen.c (main): Likewise.
54319         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54320         * doc/posix-functions/fopen.texi: Likewise.
54321         Reported by Eric Blake.
54322
54323 2008-09-23  Eric Blake  <ebb9@byu.net>
54324
54325         c-stack: avoid compiler optimizations when provoking overflow
54326         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54327         recursion harder to optimize, to ensure a stack overflow occurs.
54328         * tests/test-c-stack.c (recurse): Likewise.
54329         Borrowed from libsigsegv.
54330
54331         c-stack: work around Irix sigaltstack bug
54332         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54333         whether sigaltstack uses wrong end of stack_t (copied in part from
54334         libsigsegv).
54335         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54336         Irix bug, without requiring an over-allocation.
54337         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54338         bug.
54339
54340         fopen: document mingw bug on directories
54341         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54342         not allowing a stream visiting a directory, even though reading
54343         from such a stream is not portable.
54344
54345 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54346
54347         * lib/poll.c: Rewrite.
54348         * modules/poll: Depend on alloca.
54349
54350 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54351
54352         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54353         instead define prototypes for a full set of wrappers.  Ensure
54354         that Cygwin does not use the compatibility code, which is only
54355         for MinGW.
54356         * lib/winsock.c: New.
54357         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54358         * modules/sys_socket: Add lib/winsock.c.
54359
54360         * modules/poll-tests: Add errno and perror.
54361         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54362
54363 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54364
54365         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54366
54367 2008-09-23  Bruno Haible  <bruno@clisp.org>
54368
54369         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54370         * doc/glibc-functions/*: Likewise.
54371
54372 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54373
54374         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54375         success.
54376
54377 2008-09-22  Eric Blake  <ebb9@byu.net>
54378             Bruno Haible  <bruno@clisp.org>
54379
54380         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54381         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54382         supply %A but mishandle pseudo-NaN.
54383         Reported by Simon Josefsson.
54384
54385 2008-09-21  Bruno Haible  <bruno@clisp.org>
54386
54387         * tests/test-lock.c (main): Tweak skip message.
54388         * tests/test-tls.c (main): Likewise.
54389
54390 2008-09-21  Bruno Haible  <bruno@clisp.org>
54391
54392         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54393         whether 'struct sigaction' has sa_sigaction here...
54394         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54395         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54396
54397 2008-09-21  Bruno Haible  <bruno@clisp.org>
54398
54399         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54400         section.
54401         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54402         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54403         the new section.
54404         (Support for obsolete systems lacking POSIX:2001): New section.
54405         (String handling <string.h>): Move strdup to the new section.
54406         Suggested by Simon Josefsson and Paolo Bonzini.
54407
54408 2008-09-21  Bruno Haible  <bruno@clisp.org>
54409
54410         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54411         exponents in %e and %g results on 'long double'. Needed for mingw's
54412         improved *printf functions.
54413         * tests/test-vasprintf-posix.c (test_function): Likewise.
54414         * tests/test-snprintf-posix.h (test_function): Likewise.
54415         * tests/test-sprintf-posix.h (test_function): Likewise.
54416         Reported by Eric Blake.
54417
54418 2008-09-21  Bruno Haible  <bruno@clisp.org>
54419
54420         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54421         * tests/test-sprintf-posix.h (test_function): Likewise.
54422
54423 2008-09-21  Bruno Haible  <bruno@clisp.org>
54424
54425         * modules/getpass (Depends-on): Add strdup-posix.
54426
54427         New module 'strdup-posix'.
54428         * modules/strdup-posix: New file.
54429         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
54430         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
54431         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54432         REPLACE_STRDUP.
54433         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
54434         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
54435         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54436         strdup-posix.
54437
54438         * modules/strdup (Depends-on): Remove malloc-posix.
54439
54440 2008-09-20  Bruno Haible  <bruno@clisp.org>
54441
54442         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
54443         Wildenhues.
54444
54445 2008-09-20  Bruno Haible  <bruno@clisp.org>
54446
54447         Ensure that wint_t gets defined on IRIX 5.3.
54448         * lib/wchar.in.h (wint_t): Define if not defined by the system.
54449         * lib/wctype.in.h (wint_t): Likewise.
54450         (__wctype_wint_t): Remove type.
54451         (isw*): Use wint_t instead of __wctype_wint_t.
54452         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
54453         * modules/wchar (Files): Add m4/wint_t.m4.
54454         (Makefile.am): Substitute HAVE_WINT_T.
54455         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
54456         * tests/test-wctype.c: Check that wint_t is defined.
54457         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54458         * doc/posix-headers/wctype.texi: Likewise.
54459         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54460
54461 2008-09-18  Bruno Haible  <bruno@clisp.org>
54462
54463         * gnulib-tool (func_exit): Update comment.
54464
54465 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54466
54467         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54468         assumes strdup exists and does not depend on strdup to return
54469         ENOMEM on out of memory conditions.
54470
54471 2008-09-18  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54474         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54475         digits for the exponent.
54476
54477 2008-09-18  Jim Meyering  <meyering@redhat.com>
54478             Bruno Haible  <bruno@clisp.org>
54479
54480         * lib/vasnprintf.c (decimal_point_char): Define also if
54481         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54482
54483 2008-09-16  Bruno Haible  <bruno@clisp.org>
54484         and Eric Blake  <ebb9@byu.net>
54485
54486         vasnprintf: support Irix 5.3
54487         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54488         that mishandle long double infinity.
54489         Reported by Tom G. Christensen.
54490
54491 2008-09-16  Bruno Haible  <bruno@clisp.org>
54492
54493         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54494         Solaris 9.
54495         * doc/glibc-functions/alphasort.texi: Likewise.
54496         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54497
54498 2008-09-16  Jim Meyering  <meyering@redhat.com>
54499
54500         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54501         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54502         a umask modification leak out of a subshell.  Otherwise, the
54503         opensolaris /bin/sh would be accepted and thus cause unwarranted
54504         failures in the coreutils test suite.
54505
54506 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54507
54508         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54509         to succeed.
54510
54511 2008-09-16  Jim Meyering  <meyering@redhat.com>
54512
54513         avoid spurious test failure when library is built without ACL support
54514         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54515         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54516         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54517         * tests/test-copy-acl.sh: Likewise.
54518
54519 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54520
54521         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54522         based on character occurrence counts.
54523
54524 2008-09-15  Eric Blake  <ebb9@byu.net>
54525
54526         tests: avoid some compiler warnings
54527         * tests/test-memchr.c (main): Pass NULL indirectly.
54528         * tests/test-closein.c (main): Avoid unused variable.
54529
54530 2008-09-15  Bruno Haible  <bruno@clisp.org>
54531
54532         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54533         are missing on OpenBSD 4.0 individually.
54534         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54535
54536 2008-09-15  Bruno Haible  <bruno@clisp.org>
54537
54538         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54539         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54540         * doc/posix-functions/perror.texi: Likewise.
54541         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54542         is missing.
54543         Reported by Eric Blake.
54544
54545         * lib/errno.in.h: Use replacement values >= 2000.
54546         Reported by Eric Blake.
54547
54548 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54549
54550         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54551         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54552         limit.
54553         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54554         compareseq was aborted.
54555
54556 2008-09-14  Bruno Haible  <bruno@clisp.org>
54557
54558         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54559         yvec_edit_count.
54560         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54561         (fstrcmp_bounded): Simplify result computation accordingly.
54562
54563 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54564
54565         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54566         (fstrcmp): Define in terms of fstrcmp_bounded.
54567         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54568         lower_bound argument.
54569         Return quickly if the result is certainly < lower_bound.
54570         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54571
54572 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54573
54574         * lib/diffseq.h (EARLY_ABORT): New macro.
54575         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54576         evaluates to true.
54577
54578 2008-09-14  Bruno Haible  <bruno@clisp.org>
54579
54580         * modules/perror-tests: New file.
54581         * tests/test-perror.sh: New file.
54582         * tests/test-perror.c: New file.
54583
54584         New module 'perror'.
54585         * lib/stdio.in.h (perror): New declaration.
54586         * lib/perror.c: New file.
54587         * m4/perror.m4: New file.
54588         * modules/perror: New file.
54589         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54590         * doc/posix-functions/perror.texi: Mention the perror module.
54591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54592         REPLACE_PERROR.
54593         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54594         REPLACE_PERROR.
54595
54596 2008-09-14  Bruno Haible  <bruno@clisp.org>
54597
54598         * modules/stdio (Makefile.am): Reorder to match the order in
54599         lib/stdio.in.h.
54600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54601
54602 2008-09-13  Bruno Haible  <bruno@clisp.org>
54603
54604         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54605
54606 2008-09-13  Bruno Haible  <bruno@clisp.org>
54607
54608         Extend strerror to cover the added errno values.
54609         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54610         (rpl_strerror): Provide error messages for the added errno values and
54611         for the WSA* values.
54612         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54613         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54614         strerror.
54615         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54616         * modules/strerror (Depends-on): Add errno.
54617         * doc/posix-functions/strerror.texi: Document the change.
54618         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54619         and EOVERFLOW.
54620
54621 2008-09-13  Bruno Haible  <bruno@clisp.org>
54622
54623         * modules/EOVERFLOW: Remove file.
54624         * m4/eoverflow.m4: Remove file.
54625         * modules/EOVERFLOW-tests: Remove file.
54626         * tests/test-EOVERFLOW.c: Remove file.
54627         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54628         * modules/ftell (Depends-on): Likewise.
54629         * modules/getdelim (Depends-on): Likewise.
54630         * modules/getugroups (Depends-on): Likewise.
54631         * modules/poll (Depends-on): Likewise.
54632         * modules/snprintf (Depends-on): Likewise.
54633         * modules/sprintf-posix (Depends-on): Likewise.
54634         * modules/vasnprintf (Depends-on): Likewise.
54635         * modules/vasprintf (Depends-on): Likewise.
54636         * modules/vfprintf-posix (Depends-on): Likewise.
54637         * modules/vsnprintf (Depends-on): Likewise.
54638         * modules/vsprintf-posix (Depends-on): Likewise.
54639         * modules/xvasprintf (Depends-on): Likewise.
54640         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54641         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54642         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54643         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54644         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54645         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54646         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54647         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54648         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54649         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54650         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54651         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54652         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54653         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54654         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54655         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54656         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54657         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54658         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54659         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54660         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54661         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54662         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54663         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54664         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54665         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54666         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54667         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54668         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54669         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54670         * MODULES.html.sh: Remove EOVERFLOW.
54671         * NEWS: Mention the change.
54672
54673 2008-09-13  Bruno Haible  <bruno@clisp.org>
54674
54675         * modules/errno-tests: New file.
54676         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54677
54678         * lib/errno.in.h: New file.
54679         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54680         * modules/errno: New file.
54681         * doc/posix-headers/errno.texi: Update documentation.
54682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54683
54684 2008-09-13  Bruno Haible  <bruno@clisp.org>
54685
54686         * tests/test-poll.c: Use #if for native Windows, rather than testing
54687         __MSVCRT__.
54688
54689 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54690             Bruno Haible  <bruno@clisp.org>
54691
54692         * lib/glob.c: Don't include <pwd.h> on native Windows.
54693         (WINDOWS32): New macro.
54694         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54695
54696 2008-09-13  Bruno Haible  <bruno@clisp.org>
54697
54698         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54699         (ETIMEDOUT): Remove macro.
54700         (glthread_cond_timedwait_multithreaded): New declaration.
54701         (glthread_cond_timedwait): Use it.
54702         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54703         (glthread_cond_timedwait_multithreaded): New function.
54704
54705 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54706
54707         * modules/poll-tests: Do not check for io.h.
54708         * tests/test-poll.c: Check for __MSVCRT__ instead.
54709
54710 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54711
54712         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54713         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54714         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54715
54716 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54717
54718         * modules/poll-tests: New.
54719         * tests/test-poll.c: New.
54720
54721 2008-09-12  Eric Blake  <ebb9@byu.net>
54722
54723         frexp: test for NetBSD failure on -0.0
54724         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54725         not all, bugs from NetBSD 3.0 have been fixed.
54726         * doc/posix-functions/frexp.texi (frexp): Document bug.
54727         Reported by Thomas Klausner.
54728
54729         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54730         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54731         literal -0.0.
54732         Reported by Jonathan C. Patschke <jp@centtech.com>.
54733
54734 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54735
54736         * lib/glthread/cond.h: Use dummy implementation also if
54737         USE_WIN32_THREADS.
54738
54739 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54740
54741         * modules/fnmatch-posix (License): Change to LGPLv2+.
54742         * modules/fnmatch-gnu (License): Likewise.
54743
54744 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54745
54746         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54747
54748 2008-09-11  Jim Meyering  <meyering@redhat.com>
54749
54750         * users.txt: Add gtk-vnc.
54751
54752 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54753
54754         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54755         rotate amounts.
54756
54757         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54758         required for 16-bit and 8-bit rotates.
54759         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54760         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54761         UINT8_MAX instead of hard-coded constants.
54762         Suggested by Paul Eggert.
54763
54764 2008-09-07  Bruno Haible  <bruno@clisp.org>
54765
54766         * tests/test-striconveh.c (main): Check behaviour when converting from
54767         UTF-7.
54768
54769         Make striconveh work better with stateful encodings.
54770         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54771         that iconv does not increment the inptr when returning -1/EINVAL.
54772
54773 2008-09-07  Bruno Haible  <bruno@clisp.org>
54774
54775         * build-aux/config.rpath: Update according to libtool-2.2.6.
54776         * build-aux/config.libpath: Likewise.
54777
54778 2008-09-06  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54781         * lib/freadptr.c (freadptr): Likewise.
54782         * lib/freadseek.c (freadptrinc): Likewise.
54783         Reported by Simon Josefsson.
54784
54785 2008-09-06  Bruno Haible  <bruno@clisp.org>
54786
54787         * modules/freadptr (License): Change to LGPLv2+.
54788         * modules/freadseek (License): Likewise.
54789         Suggested by Eric Blake.
54790
54791         * modules/memchr2 (License): Change to LGPLv2+.
54792         Approved by Eric Blake.
54793
54794 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54795             Bruno Haible  <bruno@clisp.org>
54796
54797         Make gnulib-tool work with native 'sed' on AIX.
54798         * gnulib-tool (sed_noop): New variable.
54799         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54800         func_add_or_update, func_create_testdir): Use it to initialize sed
54801         script variables.
54802         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54803
54804 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54805             Bruno Haible  <bruno@clisp.org>
54806
54807         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54808         also works after #include directives.
54809
54810 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54811
54812         getdate.y: reject an out-of-range timezone value
54813         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54814         the range [-24...+24].  When specified with only one or two digits,
54815         * tests/test-getdate.c: Tests for the fix.
54816         * doc/getdate.texi: Document this change.
54817
54818 2008-09-03  Bruno Haible  <bruno@clisp.org>
54819
54820         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54821
54822 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54823
54824         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54825         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54826         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54827         Blake <ebb9@byu.net>.
54828
54829         * tests/test-bitrotate.c: Add more test vectors.
54830
54831 2008-09-02  Eric Blake  <ebb9@byu.net>
54832
54833         vasnprintf-posix: handle large precision via %.*d
54834         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54835         when handling it ourselves.
54836         * tests/test-vasnprintf-posix.c (test_function): Add test.
54837         * tests/test-snprintf-posix.h (test_function): Likewise.
54838         * tests/test-sprintf-posix.h (test_function): Likewise.
54839         * tests/test-vasprintf-posix.c (test_function): Likewise.
54840         Reported by Alain Guibert.
54841
54842 2008-09-01  Eric Blake  <ebb9@byu.net>
54843
54844         c-stack: make configure-time check more robust
54845         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54846         successful sigaction call.
54847         Reported by Tom G. Christensen.
54848
54849 2008-09-01  Bruno Haible  <bruno@clisp.org>
54850
54851         New module 'findprog-lgpl'.
54852         * modules/findprog-lgpl: New file.
54853         * lib/findprog-lgpl.c: New file.
54854         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54855         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54856         to decide whether to use strdup or xstrdup, concatenated_filename or
54857         xconcatenated_filename.
54858
54859 2008-09-01  Bruno Haible  <bruno@clisp.org>
54860
54861         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54862         'xconcat-filename' (GPL).
54863         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54864         (License): Change to LGPLv2+.
54865         * modules/xconcat-filename: New file.
54866         * lib/concat-filename.h (concatenated_filename): Change specification.
54867         (xconcatenated_filename): New declaration.
54868         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54869         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54870         memory situations.
54871         * lib/xconcat-filename.c: New file.
54872         * NEWS: Mention the change.
54873         * lib/findprog.c: Include concat-filename.h, not filename.h.
54874         (find_in_path): Use xconcatenated_filename instead of
54875         concatenated_filename.
54876         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54877         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54878         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54879         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54880         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54881         instead of concatenated_filename.
54882         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54883         (execute_java_class): Use xconcatenated_filename instead of
54884         concatenated_filename.
54885         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54886         * modules/javacomp (Depends-on): Likewise.
54887         * modules/javaexec (Depends-on): Likewise.
54888
54889 2008-09-01  Bruno Haible  <bruno@clisp.org>
54890
54891         Split module 'filename' into 'filename' and 'concat-filename'.
54892         * modules/filename: Keep only lib/filename.h.
54893         (License): Change to LGPLv2+.
54894         * modules/concat-filename: New file, extracted from modules/filename.
54895         * lib/filename.h (concatenated_filename): Remove declaration.
54896         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54897         * lib/concat-filename.c: Include concat-filename.h.
54898         * NEWS: Mention the change.
54899
54900 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54901
54902         * lib/bitrotate.h (rotl8, rotr8): Add.
54903
54904         * modules/bitrotate (configure.ac): Need
54905         AC_REQUIRE([AC_C_INLINE]).
54906         (Description): Mention stdint.h.  Reported by Bruno Haible
54907         <bruno@clisp.org>.
54908
54909         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54910         Paolo Bonzini <bonzini@gnu.org>.
54911
54912 2008-08-31  Bruno Haible  <bruno@clisp.org>
54913
54914         Assume Solaris specific bi-arch conventions on Solaris systems.
54915         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54916         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54917         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54918         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54919         like acl_libdirstem.
54920         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54921         acl_libdirstem.
54922         * NEWS: Mention the change.
54923         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54924
54925 2008-08-31  Jim Meyering  <meyering@redhat.com>
54926
54927         * lib/strftime.h: Add comments describing the two added arguments.
54928
54929         remove duplicate #include directives
54930         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54931         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54932
54933 2008-08-31  Bruno Haible  <bruno@clisp.org>
54934
54935         New module 'sigpipe-die'.
54936         * modules/sigpipe-die: New file.
54937         * lib/sigpipe-die.h: New file.
54938         * lib/sigpipe-die.c: New file.
54939         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54940
54941 2008-08-31  Bruno Haible  <bruno@clisp.org>
54942
54943         Don't override previously installed signal handlers.
54944         * lib/fatal-signal.c (saved_sigactions): New variable.
54945         (uninstall_handlers): Reset the signal to the saved handler, not
54946         to SIG_DFL (except when ignored).
54947         (install_handlers): Save the previous handlers.
54948
54949 2008-08-30  Bruno Haible  <bruno@clisp.org>
54950
54951         * gnulib-tool (func_reset_sigpipe): New function.
54952         (func_get_automake_snippet, func_modules_transitive_closure,
54953         func_import): Invoke it before a join command that reads from stdin,
54954         to avoid "echo: write error: Broken pipe" error messages on stderr.
54955         Reported by Sam Steingold <sds@gnu.org>.
54956
54957 2008-08-30  Bruno Haible  <bruno@clisp.org>
54958
54959         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54960         Code copied from m4/open.m4.
54961         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54962         access and the filename ends in a slash. Code copied from lib/open.c.
54963         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54964         * tests/test-fopen.c (main): Check against bug with trailing slash.
54965
54966 2008-08-29  Bruno Haible  <bruno@clisp.org>
54967
54968         Avoid some "gcc -pedantic" warnings.
54969         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54970         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54971         * lib/dirent.in.h: Likewise.
54972         * lib/fcntl.in.h: Likewise.
54973         * lib/float.in.h: Likewise.
54974         * lib/iconv.in.h: Likewise.
54975         * lib/inttypes.in.h: Likewise.
54976         * lib/locale.in.h: Likewise.
54977         * lib/math.in.h: Likewise.
54978         * lib/netinet_in.in.h: Likewise.
54979         * lib/search.in.h: Likewise.
54980         * lib/signal.in.h: Likewise.
54981         * lib/stdarg.in.h: Likewise.
54982         * lib/stdint.in.h: Likewise.
54983         * lib/stdio.in.h: Likewise.
54984         * lib/stdlib.in.h: Likewise.
54985         * lib/string.in.h: Likewise.
54986         * lib/strings.in.h: Likewise.
54987         * lib/sys_select.in.h: Likewise.
54988         * lib/sys_socket.in.h: Likewise.
54989         * lib/sys_stat.in.h: Likewise.
54990         * lib/sys_time.in.h: Likewise.
54991         * lib/sysexits.in.h: Likewise.
54992         * lib/time.in.h: Likewise.
54993         * lib/unistd.in.h: Likewise.
54994         * lib/wchar.in.h: Likewise.
54995         * lib/wctype.in.h: Likewise.
54996         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54997         * modules/fchdir (Makefile.am): Likewise.
54998         * modules/fcntl (Makefile.am): Likewise.
54999         * modules/float (Makefile.am): Likewise.
55000         * modules/iconv_open (Makefile.am): Likewise.
55001         * modules/inttypes (Makefile.am): Likewise.
55002         * modules/locale (Makefile.am): Likewise.
55003         * modules/math (Makefile.am): Likewise.
55004         * modules/netinet_in (Makefile.am): Likewise.
55005         * modules/search (Makefile.am): Likewise.
55006         * modules/signal (Makefile.am): Likewise.
55007         * modules/stdarg (Makefile.am): Likewise.
55008         * modules/stdint (Makefile.am): Likewise.
55009         * modules/stdio (Makefile.am): Likewise.
55010         * modules/stdlib (Makefile.am): Likewise.
55011         * modules/string (Makefile.am): Likewise.
55012         * modules/strings (Makefile.am): Likewise.
55013         * modules/sys_select (Makefile.am): Likewise.
55014         * modules/sys_socket (Makefile.am): Likewise.
55015         * modules/sys_stat (Makefile.am): Likewise.
55016         * modules/sys_time (Makefile.am): Likewise.
55017         * modules/sysexits (Makefile.am): Likewise.
55018         * modules/time (Makefile.am): Likewise.
55019         * modules/unistd (Makefile.am): Likewise.
55020         * modules/wchar (Makefile.am): Likewise.
55021         * modules/wctype (Makefile.am): Likewise.
55022         Reported by Reuben Thomas <rrt@sc3d.org>.
55023
55024 2008-08-29  Bruno Haible  <bruno@clisp.org>
55025
55026         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
55027         any more.
55028
55029 2008-08-29  Simon Josefsson  <simon@josefsson.org>
55030
55031         * MODULES.html.sh (Misc): Add bitrotate.
55032
55033         * modules/bitrotate: New file.
55034
55035         * lib/bitrotate.h: New file.
55036
55037         * modules/bitrotate-tests: New file.
55038
55039         * tests/test-bitrotate.c: New file.
55040
55041         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
55042         on the bitrotate module.
55043
55044         * lib/arctwo.c: Use new bitrotate module.
55045
55046 2008-08-29  Jim Meyering  <meyering@redhat.com>
55047
55048         bootstrap: merge changes from coreutils
55049         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
55050         of copied files.  Remove a kludge, now that this is fixed.
55051         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
55052         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
55053         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
55054
55055 2008-08-29  Bruno Haible  <bruno@clisp.org>
55056
55057         * MODULES.html.sh: Remove --cvs-urls option.
55058
55059 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
55060
55061         maint.mk: adjust to file name change
55062         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
55063
55064 2008-08-28  Jim Meyering  <meyering@redhat.com>
55065
55066         * modules/getndelim2 (License): Relicense to LGPLv2+.
55067         Approved by Richard Stallman for the version of 1995, and by
55068         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
55069
55070 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
55071
55072         * lib/getdelim.c (flockfile, funlockfile): Make all of them
55073         dummy if one is not available.  Do not touch them if
55074         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
55075         (getc_maybe_unlocked): New.
55076         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
55077
55078 2008-08-26  Eric Blake  <ebb9@byu.net>
55079
55080         doc/INSTALL: resync from autoconf
55081         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
55082         (INSTALL_PRELUDE): Delete; this is done more efficiently by
55083         moving...
55084         * install.texi [!autoconf]: ...here.  Resync from autoconf.
55085         * INSTALL: Regenerate.
55086         * INSTALL.ISO: New file.
55087         * INSTALL.UTF-8: Likewise.
55088
55089 2008-08-26  Jim Meyering  <meyering@redhat.com>
55090
55091         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
55092         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
55093         these definitions conditional, so that they may be overridden, too.
55094
55095 2008-08-26  Bruno Haible  <bruno@clisp.org>
55096
55097         Generate INSTALL file variants with prettier quotes.
55098         * doc/Makefile (INSTALL_PRELUDE): New macro.
55099         (INSTALL): Use it.
55100         (INSTALL.ISO, INSTALL.UTF-8): New rules.
55101
55102 2008-08-26  Bruno Haible  <bruno@clisp.org>
55103
55104         Run makeinfo in an English locale.
55105         * doc/Makefile (MAKEINFO): New variable.
55106
55107 2008-08-26  Bruno Haible  <bruno@clisp.org>
55108
55109         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
55110         Suggested by Eric Blake.
55111
55112 2008-08-25  Bruno Haible  <bruno@clisp.org>
55113
55114         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
55115
55116 2008-08-25  Eric Blake  <ebb9@byu.net>
55117
55118         c-stack: test that stack overflow can be caught
55119         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
55120         that platform allows handling stack overflow; at least OS/2 EMX
55121         has sigaltstack, but crashes before transferring control to
55122         handler on stack overflow.
55123         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
55124         check for HAVE_STACK_OVERFLOW_HANDLING.
55125         Reported by Elbert Pol.
55126
55127 2008-08-25  Bruno Haible  <bruno@clisp.org>
55128
55129         * doc/posix-functions/strftime.texi: Fix description of strftime
55130         module.
55131
55132 2008-08-24  Bruno Haible  <bruno@clisp.org>
55133
55134         * tests/uniwidth/test-uc_width2.c: New file.
55135         * tests/uniwidth/test-uc_width2.sh: New file.
55136         * modules/uniwidth/width-tests (Files): Add the new files.
55137         (TESTS): Add uniwidth/test-uc_width2.sh.
55138         (TESTS_ENVIRONMENT): New variable.
55139         (check_PROGRAMS): Add test-uc_width2.
55140         (test_uc_width2_SOURCES): New variable.
55141
55142         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55143         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55144         not 0x00AB.
55145         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55146
55147 2008-08-22  Eric Blake  <ebb9@byu.net>
55148
55149         test-lock, test-tls: mention why a test is skipped
55150         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55151         skipped.
55152         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55153
55154         count-one-bits: relax license
55155         * modules/count-one-bits (License): Relicense to LGPLv2+.
55156         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55157
55158 2008-08-22  Andreas Schwab  <schwab@suse.de>
55159
55160         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55161         Remove spurious space in assignment.
55162
55163 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55164
55165         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55166         Paul Eggert <eggert@CS.UCLA.EDU>.
55167
55168 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55169
55170         * modules/gettext: Add m4/threadlib.m4.
55171
55172 2008-08-19  Eric Blake  <ebb9@byu.net>
55173
55174         test-c-stack: fix compilation failure on FreeBSD 5.0
55175         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55176         headers before <sys/resource.h>.
55177         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55178         the bug.
55179         Reported by Nelson H. F. Beebe.
55180
55181         strverscmp: migrate from "strverscmp.h" to <string.h>
55182         * modules/string (Makefile.am): Add new hooks.
55183         * modules/strverscmp (Files): Remove strverscmp.h.
55184         (Depends-on): Add string.
55185         (configure.ac): Add indicator.
55186         (Include): Mention new header.
55187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55188         defaults.
55189         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55190         results.
55191         * lib/strverscmp.h: Delete.
55192         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55193         * tests/test-strverscmp.c (includes): Adjust client.
55194         * lib/check-version.c (includes): Likewise.
55195         * NEWS: Document the change.
55196
55197         strverscmp: add unit test
55198         * modules/strverscmp-tests: New file.
55199         * tests/test-strverscmp.c: Likewise.
55200
55201 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55202
55203         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55204         regarding Windows crypto stuff, from Mono.
55205
55206 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55207
55208         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55209         if present, for intel RND.  Return error on failures.
55210
55211 2008-08-18  Ben Pfaff  <blp@gnu.org>
55212
55213         gitlog-to-changelog: give better diagnostic for failed pipe-open
55214         * build-aux/gitlog-to-changelog: Improve error message: suggest
55215         that the version of Git may be too old.
55216
55217 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55218
55219         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55220         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55221
55222 2008-08-18  Bruno Haible  <bruno@clisp.org>
55223
55224         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55225         pthread_in_use().
55226
55227 2008-08-18  Bruno Haible  <bruno@clisp.org>
55228
55229         * lib/glthread/threadlib.c: Include <pthread.h>.
55230
55231 2008-08-18  Bruno Haible  <bruno@clisp.org>
55232
55233         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55234         glthread_recursive_lock_* macros.
55235         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55236         Fix syntax error.
55237
55238 2008-08-18  Bruno Haible  <bruno@clisp.org>
55239
55240         * lib/glthread/thread.c: Avoid forcing a context switch right after
55241         thread creation.
55242
55243 2008-08-17  Bruno Haible  <bruno@clisp.org>
55244
55245         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55246         * lib/glthread/thread.h: Provide Win32 specific implementation.
55247         * modules/thread (Files): Add lib/glthread/thread.c.
55248         (Depends-on): Add lock.
55249         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55250
55251 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55252
55253         New module 'yield'.
55254         * modules/yield: New file.
55255         * lib/glthread/yield.h: New file.
55256         * m4/yield.m4: New file.
55257         * MODULES.html.sh (Multithreading): Add yield.
55258
55259 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55260
55261         New module 'thread'.
55262         * modules/thread: New file.
55263         * lib/glthread/thread.h: New file.
55264         * m4/thread.m4: New file.
55265         * MODULES.html.sh (Multithreading): Add thread.
55266
55267 2008-08-17  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/glthread/lock.h: Include <stdlib.h> always.
55270         * lib/glthread/tls.h: Likewise.
55271         * lib/glthread/cond.h: Likewise.
55272
55273 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55274
55275         New module 'cond'.
55276         * modules/cond: New file.
55277         * lib/glthread/cond.h: New file.
55278         * lib/glthread/cond.c: New file.
55279         * m4/cond.m4: New file.
55280         * MODULES.html.sh (Multithreading): Add cond.
55281
55282 2008-08-16  Eric Blake  <ebb9@byu.net>
55283
55284         c-stack: fix regression on Irix 5.3 from 2008-06-21
55285         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55286         sa_sigaction...
55287         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55288         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55289         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55290         * modules/signal (Makefile.am): Use the value.
55291         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55292         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55293         * doc/posix-headers/signal.texi (signal.h): Document this
55294         portability issue.
55295         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55296         Reported by Tom G. Christensen.
55297
55298 2008-08-17  Bruno Haible  <bruno@clisp.org>
55299
55300         New module 'threadlib'.
55301         * modules/threadlib: New file.
55302         * lib/glthread/threadlib.c: New file, extracted from
55303         lib/glthread/lock.c.
55304         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55305         functions.
55306         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55307         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55308         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55309         macros.
55310         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55311         (gl_DISABLE_THREADS): Remove macro.
55312         * modules/lock (Files): Remove build-aux/config.rpath.
55313         (Depends-on): Remove havelib. Add threadlib.
55314         (configure.ac-early): Remove section.
55315         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55316         * modules/tls (Depends-on): Remove lock. Add threadlib.
55317         (Link): New section, copied from threadlib.
55318         * MODULES.html.sh (Multithreading): Add threadlib.
55319
55320 2008-08-14  Bruno Haible  <bruno@clisp.org>
55321
55322         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55323         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55324         glthread_rwlock_unlock, glthread_rwlock_destroy,
55325         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55326         glthread_recursive_lock_destroy): Define as macros always.
55327         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55328         glthread_lock_lock.
55329         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55330         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55331         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55332         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55333         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55334         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55335         (glthread_recursive_lock_lock_func): Renamed from
55336         glthread_recursive_lock_lock.
55337         (glthread_recursive_lock_unlock_func): Renamed from
55338         glthread_recursive_lock_unlock.
55339         (glthread_recursive_lock_destroy_func): Renamed from
55340         glthread_recursive_lock_destroy.
55341
55342 2008-08-14  Bruno Haible  <bruno@clisp.org>
55343
55344         * lib/glthread/lock.h: Renamed from lib/lock.h.
55345         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55346         * lib/glthread/tls.h: Renamed from lib/tls.h.
55347         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55348         * lib/fstrcmp.c: Update includes.
55349         * lib/strsignal.c: Update includes.
55350         * modules/lock (Files, Makefile.am): Update.
55351         (Include): Change to "glthread/lock.h".
55352         * modules/tls (Files, Makefile.am): Update.
55353         (Include): Change to "glthread/tls.h".
55354         * tests/test-lock.c: Update includes.
55355         * tests/test-tls.c: Update includes.
55356         * NEWS: Mention the renamed header files.
55357
55358 2008-08-11  Jim Meyering  <meyering@redhat.com>
55359
55360         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55361
55362 2008-08-11  Eric Blake  <ebb9@byu.net>
55363
55364         test-c-stack: avoid C99-ism
55365         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55366         before statement.
55367         Reported by Alain Guibert.
55368
55369 2008-08-10  Jim Meyering  <meyering@redhat.com>
55370
55371         ensure that return value of uinttostr et al are not ignored
55372         * lib/inttostr.h (__GNUC_PREREQ): Define.
55373         (__attribute_warn_unused_result__): Define.
55374         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55375
55376 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55377
55378         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55379         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55380
55381 2008-08-07  Jim Meyering  <meyering@redhat.com>
55382
55383         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55384
55385         * modules/mkstemp (License): Relicense under LGPLv2+.
55386         * modules/tempname (License): Likewise.
55387
55388 2008-08-06  Bruno Haible  <bruno@clisp.org>
55389
55390         * lib/poll.c (poll): Further micro-optimization.
55391
55392 2008-08-06  Jim Meyering  <meyering@redhat.com>
55393
55394         inet_pton.c: use locale-independent tolower
55395         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55396         (inet_pton6): Use c_tolower rather than tolower.
55397         * modules/inet_pton (Depends-on): Add c-ctype.
55398
55399 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55400
55401         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55402         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55403
55404 2008-08-06  Jim Meyering  <meyering@redhat.com>
55405
55406         * modules/inet_pton (License): Relicense under LGPLv2+.
55407
55408 2008-08-03  Bruno Haible  <bruno@clisp.org>
55409
55410         Additional non-aborting API for lock and tls.
55411         * lib/lock.h: Include <errno.h>.
55412         (glthread_lock_init): New macro/function.
55413         (gl_lock_init): Define as wrapper around glthread_lock_init.
55414         (glthread_lock_lock): New macro/function.
55415         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55416         (glthread_lock_unlock): New macro/function.
55417         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55418         (glthread_lock_destroy): New macro/function.
55419         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55420         (glthread_rwlock_init): New macro/function.
55421         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55422         (glthread_rwlock_rdlock): New macro/function.
55423         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
55424         (glthread_rwlock_wrlock): New macro/function.
55425         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
55426         (glthread_rwlock_unlock): New macro/function.
55427         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
55428         (glthread_rwlock_destroy): New macro/function.
55429         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
55430         (glthread_recursive_lock_init): New macro/function.
55431         (gl_recursive_lock_init): Define as wrapper around
55432         glthread_recursive_lock_init.
55433         (glthread_recursive_lock_lock): New macro/function.
55434         (gl_recursive_lock_lock): Define as wrapper around
55435         glthread_recursive_lock_lock.
55436         (glthread_recursive_lock_unlock): New macro/function.
55437         (gl_recursive_lock_unlock): Define as wrapper around
55438         glthread_recursive_lock_unlock.
55439         (glthread_recursive_lock_destroy): New macro/function.
55440         (gl_recursive_lock_destroy): Define as wrapper around
55441         glthread_recursive_lock_destroy.
55442         (glthread_once): New macro/function.
55443         (gl_once): Define as wrapper around glthread_once.
55444         Update function declarations.
55445         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
55446         glthread_rwlock_init. Return error code.
55447         (glthread_rwlock_rdlock_multithreaded): Renamed from
55448         glthread_rwlock_rdlock. Return error code.
55449         (glthread_rwlock_wrlock_multithreaded): Renamed from
55450         glthread_rwlock_wrlock. Return error code.
55451         (glthread_rwlock_unlock_multithreaded): Renamed from
55452         glthread_rwlock_unlock. Return error code.
55453         (glthread_rwlock_destroy_multithreaded): Renamed from
55454         glthread_rwlock_destroy. Return error code.
55455         (glthread_recursive_lock_init_multithreaded): Renamed from
55456         glthread_recursive_lock_init. Return error code.
55457         (glthread_recursive_lock_lock_multithreaded): Renamed from
55458         glthread_recursive_lock_lock. Return error code.
55459         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55460         glthread_recursive_lock_unlock. Return error code.
55461         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55462         glthread_recursive_lock_destroy. Return error code.
55463         (glthread_once_call): Make static.
55464         (glthread_once_multithreaded): Renamed from glthread_once.
55465         * lib/tls.h: Include <errno.h>.
55466         (glthread_tls_key_init): New macro/function.
55467         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55468         (glthread_tls_set): New macro/function.
55469         (gl_tls_set): Define as wrapper around glthread_tls_set.
55470         (glthread_tls_key_destroy): New macro/function.
55471         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55472         Update function declarations.
55473         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55474         glthread_tls_get.
55475         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55476
55477 2008-08-04  Eric Blake  <ebb9@byu.net>
55478
55479         gnumakefile: use space, not TAB, outside of targets
55480         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55481
55482 2008-08-02  Jim Meyering  <meyering@redhat.com>
55483
55484         getdate.y: avoid locale-dependent date parsing failure
55485         In Turkish locales, getdate would fail to recognize keywords
55486         containing a lowercase "i".  The solution is not to rely on
55487         locale-sensitive case-conversion.
55488         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55489         (lookup_word): Use c_toupper in place of toupper.
55490         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55491         Reported by Vefa Bicakci <bicave@superonline.com> in
55492         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55493         * modules/getdate (Depends-on): Add c-ctype.
55494
55495 2008-08-02  Bruno Haible  <bruno@clisp.org>
55496
55497         * gnulib-tool (func_import): When updating or creating a .gitignore
55498         file, prepend each added line with a slash, and ignore leading slashes
55499         from the existing lines.
55500         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55501
55502 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55503
55504         Portability fix for GNU make 3.79.1.
55505         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55506         versions do not understand.
55507
55508 2008-08-01  Bruno Haible  <bruno@clisp.org>
55509
55510         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55511         * tests/test-isnanf.h (zero): New variable.
55512         (main): Avoid literal -0.0f.
55513         * tests/test-isnand.h (zero): New variable.
55514         (main): Avoid literal -0.0.
55515         * tests/test-isnanl.h (zero): New variable.
55516         (main): Avoid literal -0.0L.
55517         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55518         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55519         -0.0, -0.0L.
55520         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55521         (test_signbitd): Avoid literal -0.0.
55522         (test_signbitl): Avoid literal -0.0L.
55523         * tests/test-ceilf1.c (zero): New variable.
55524         (main): Avoid literal -0.0f.
55525         * tests/test-ceill.c (zero): New variable.
55526         (main): Avoid literal -0.0L.
55527         * tests/test-floorf1.c (zero): New variable.
55528         (main): Avoid literal -0.0f.
55529         * tests/test-floorl.c (zero): New variable.
55530         (main): Avoid literal -0.0L.
55531         * tests/test-roundf1.c (zero): New variable.
55532         (main): Avoid literal -0.0f.
55533         * tests/test-round1.c (zero): New variable.
55534         (main): Avoid literal -0.0.
55535         * tests/test-roundl.c (zero): New variable.
55536         (main): Avoid literal -0.0L.
55537         * tests/test-truncf1.c (zero): New variable.
55538         (main): Avoid literal -0.0f.
55539         * tests/test-trunc1.c (zero): New variable.
55540         (main): Avoid literal -0.0.
55541         * tests/test-truncl.c (zero): New variable.
55542         (main): Avoid literal -0.0L.
55543         * tests/test-frexp.c (zero): New variable.
55544         (main): Avoid literal -0.0.
55545         * tests/test-frexpl.c (zero): New variable.
55546         (main): Avoid literal -0.0L.
55547         * tests/test-ldexpl.c (zero): New variable.
55548         (main): Avoid literal -0.0L.
55549         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55550         (zerod, zerol): New variables.
55551         (test_function): Avoid literals -0.0, -0.0L.
55552         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55553         (zerod, zerol): New variables.
55554         (test_function): Avoid literals -0.0, -0.0L.
55555         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55556         (zerod, zerol): New variables.
55557         (test_function): Avoid literals -0.0, -0.0L.
55558         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55559         (zerod, zerol): New variables.
55560         (test_function): Avoid literals -0.0, -0.0L.
55561         * tests/test-strtod.c (zero): New variable.
55562         (main): Avoid literal -0.0.
55563         Reported by Jonathan C. Patschke <jp@centtech.com>.
55564
55565 2008-07-31  Jim Meyering  <meyering@redhat.com>
55566
55567         sha256.h: correct definition of SHA224_DIGEST_SIZE
55568         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55569         Reported by Paulie Pena IV <paulie4@gmail.com>.
55570         Define as 224 / 8, rather than as a literal.
55571         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55572         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55573         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55574
55575 2008-07-31  Bruno Haible  <bruno@clisp.org>
55576
55577         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55578         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55579         Reported by Jonathan Patschke <jp@centtech.com>.
55580
55581 2008-07-31  Bruno Haible  <bruno@clisp.org>
55582
55583         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55584         Reported by Paolo Bonzini <bonzini@gnu.org>.
55585
55586 2008-07-30  Eric Blake  <ebb9@byu.net>
55587
55588         test-strtod: allow compilation without -lm
55589         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55590         Reported by Dennis Clarke <blastwave@gmail.com>.
55591
55592 2008-07-28  Jim Meyering  <meyering@redhat.com>
55593
55594         bootstrap: work also when there are no .po files in po/
55595         * build-aux/bootstrap (update_po_files): Complete the change
55596         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55597
55598 2008-07-27  Jim Meyering  <meyering@redhat.com>
55599
55600         * users.txt: Add zile.
55601
55602 2008-07-26  Ben Pfaff  <blp@gnu.org>
55603
55604         Add missing dependencies on new m4/exponent[fdl].m4 files.
55605         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55606         * modules/isnand-nolibm: Add m4/exponentd.m4.
55607         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55608         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55609         m4/isnan[fdl].m4, because the macros actually used moved.
55610         Reported by Jim Meyering.
55611
55612 2008-07-14  Ben Pfaff  <blp@gnu.org>
55613
55614         Add isinf module.
55615         * lib/isinf.c: New file.
55616         * lib/math.in.h: Define isinf macro if we have decided to replace
55617         it.
55618         * m4/isinf.m4: New file.
55619         * m4/math_h.m4: Initialize and substitute variables for isinf
55620         module.
55621         * modules/isinf: New file.
55622         * modules/isinf-tests: New file.
55623         * modules/math: Add substitutions for new module.
55624         * tests/test-isinf.c: New file.
55625         * doc/posix-functions/isinf.texi: Mention new module.
55626         * MODULES.html.sh: Mention new module.
55627
55628 2008-07-14  Ben Pfaff  <blp@gnu.org>
55629
55630         Factor out some macros for use by additional modules.
55631         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55632         exponentf.m4.
55633         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55634         exponentd.m4.
55635         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55636         file exponentl.m4.
55637         * m4/exponentf.m4: New file.
55638         * m4/exponentd.m4: New file.
55639         * m4/exponentl.m4: New file.
55640         * modules/isnanf: Use new file m4/exponentf.m4.
55641         * modules/isnand: Use new file m4/exponentd.m4.
55642         * modules/isnanl: Use new file m4/exponentl.m4.
55643
55644 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55645
55646         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55647         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55648         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55649         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55650
55651         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55652         readlink on platforms without PATH_MAX.
55653
55654 2008-07-21  Eric Blake  <ebb9@byu.net>
55655
55656         Warn, not fail, on stale version.
55657         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55658
55659         Don't allow installation with stale devel version number.
55660         * top/GNUmakefile (_is-install-target): New macro.
55661         (_curr-ver): Forbid installation with stale version number.
55662
55663 2008-07-20  Bruno Haible  <bruno@clisp.org>
55664
55665         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55666         TESTS_ENVIRONMENT.
55667         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55668
55669 2008-07-20  Bruno Haible  <bruno@clisp.org>
55670
55671         * lib/c-stack.h (c_stack_action): Add documentation.
55672         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55673
55674 2008-07-20  Bruno Haible  <bruno@clisp.org>
55675
55676         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55677         * modules/readlink (License): Likewise.
55678
55679 2008-07-17  Eric Blake  <ebb9@byu.net>
55680
55681         * modules/c-stack (Link): Fix typo.
55682
55683         Make c-stack use libsigsegv, when available.
55684         * modules/c-stack (Depends-on): Add libsigsegv.
55685         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55686         needed.
55687         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55688         (segv_handler, overflow_handler, c_stack_action)
55689         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55690         implementation when libsigsegv is available, but only when using
55691         the library is necessary.
55692         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55693         comment, explaining why XSI check fails on Linux.
55694         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55695         * tests/test-c-stack2.sh: Tweak skip message.
55696         * NEWS: Document new link-time requirements.
55697
55698 2008-07-16  Eric Blake  <ebb9@byu.net>
55699
55700         c-stack: Expose false positives when not using libsigsegv.
55701         * modules/c-stack-tests (Files): Expand test.
55702         * tests/test-c-stack.c (main): Add means to conditionally trigger
55703         non-overflow SIGSEGV.
55704         * tests/test-c-stack2.sh: New file.
55705
55706 2008-07-14  Bruno Haible  <bruno@clisp.org>
55707
55708         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55709         Reported by Eric Blake.
55710
55711 2008-07-14  Sam Steingold  <sds@gnu.org>
55712             Bruno Haible  <bruno@clisp.org>
55713
55714         New module libsigsegv.
55715         * modules/libsigsegv: New file.
55716         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55717         modifications.
55718         * MODULES.html.sh (Signal handling): New section.
55719
55720 2008-07-14  Bruno Haible  <bruno@clisp.org>
55721
55722         * modules/unictype/ctype-* (Description): Add the word "function".
55723         Improves the resulting doc in MODULES.html.
55724
55725 2008-07-12  Ben Pfaff  <blp@gnu.org>
55726
55727         Add longlong module.
55728         * modules/longlong: New file.
55729
55730 2008-07-12  Bruno Haible  <bruno@clisp.org>
55731
55732         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55733         to empty.
55734
55735 2008-07-10  Ben Pfaff  <blp@gnu.org>
55736
55737         Add isnan module.
55738         * doc/posix-functions/isnan.texi: Mention new module.
55739         * lib/math.in.h: Define isnan macro if we have decided to replace
55740         it.
55741         * m4/isnan.m4: New file.
55742         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55743         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55744         also.
55745         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55746         redundancy.
55747         * m4/math_h.m4: Initialize and substitute variables for isnan
55748         module.
55749         * modules/isnan: New file.
55750         * modules/isnan-tests: New file.
55751         * modules/math: Add substitutions for new module.
55752         * tests/test-isnan.c: New file.
55753         * MODULES.html.sh: Mention new module.
55754
55755 2008-07-10  Ben Pfaff  <blp@gnu.org>
55756
55757         Add isnanf module.
55758         * lib/isnanf.m4: New file.
55759         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55760         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55761         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55762         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55763         * modules/isnanf: New file.
55764         * modules/isnanf-tests: New file.
55765         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55766         files.
55767         * tests/test-isnanf-nolibm.c: factored most of its contents into
55768         new file tests/test-isnanf.h.
55769         * tests/test-isnanf.h: New file.
55770         * tests/test-isnanf.c: New file.
55771         * MODULES.html.sh: Mention new module.
55772         * doc/glibc-functions/isnanf.texi: Mention new module.
55773
55774 2008-07-10  Ben Pfaff  <blp@gnu.org>
55775
55776         Add isnand module.
55777         * lib/isnand.h: New file.
55778         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55779         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55780         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55781         functionality also.
55782         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55783         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55784         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55785         * modules/isnand: New file.
55786         * modules/isnand-tests: New file.
55787         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55788         files.
55789         * tests/test-isnand-nolibm.c: factored most of its contents into
55790         new file tests/test-isnand.h.
55791         * tests/test-isnand.h: New file.
55792         * tests/test-isnand.c: New file.
55793         * MODULES.html.sh: Mention new module.
55794
55795 2008-07-10  Ben Pfaff  <blp@gnu.org>
55796
55797         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55798         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55799         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55800         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55801         * modules/isnanf-nolibm: Update references to renamed files.
55802         * modules/isnand-nolibm: Likewise.
55803         * modules/isnanf-nolibm-tests: Likewise.
55804         * modules/isnand-nolibm-tests: Likewise.
55805         * lib/frexp.c: Likewise.
55806         * lib/isfinite.c: Likewise.
55807         * lib/signbitd.c: Likewise.
55808         * lib/signbitf.c: Likewise.
55809         * lib/vasnprintf.c: Likewise.
55810         * tests/test-ceilf1.c: Likewise.
55811         * tests/test-ceilf2.c: Likewise.
55812         * tests/test-floorf1.c: Likewise.
55813         * tests/test-floorf2.c: Likewise.
55814         * tests/test-frexp.c: Likewise.
55815         * tests/test-round1.c: Likewise.
55816         * tests/test-round2.c: Likewise.
55817         * tests/test-roundf1.c: Likewise.
55818         * tests/test-strtod.c: Likewise.
55819         * tests/test-trunc1.c: Likewise.
55820         * tests/test-trunc2.c: Likewise.
55821         * tests/test-truncf1.c: Likewise.
55822         * tests/test-truncf2.c: Likewise.
55823         * NEWS: Mention the renamed header files.
55824
55825 2008-07-11  Jim Meyering  <meyering@redhat.com>
55826
55827         vc-list-files: make the last-resort awk code more portable
55828         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55829         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55830         does not support it.
55831
55832 2008-07-10  Eric Blake  <ebb9@byu.net>
55833
55834         Work with tar's bootstrap.
55835         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55836         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55837         an m4 comment.
55838
55839 2008-07-09  Jim Meyering  <meyering@redhat.com>
55840
55841         posix-shell.m4: fix typo that made this test malfunction
55842         * m4/posix-shell.m4: Remove capitalization in variable name.
55843
55844 2008-07-08  Bruno Haible  <bruno@clisp.org>
55845
55846         * m4/onceonly.m4: Update comments.
55847         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55848
55849 2008-07-04  Jim Meyering  <meyering@redhat.com>
55850
55851         * users.txt: Add vc-dwim.
55852         (bison, coreutils): Use the gitweb URL.
55853
55854 2008-07-03  Jim Meyering  <meyering@redhat.com>
55855
55856         * users.txt: Add libffcall.  From Sam Steingold.
55857
55858 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55859
55860         getdate.y: do not ignore TZ with relative day, month or year offset
55861         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55862         relative-date-handling, since otherwise, the latter would clobber the
55863         sole output (an updated Start value) of the tz-handling block.
55864         * tests/test-getdate.c: Tests for the fix
55865
55866 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55867
55868         Recognize 'foo_LIBRARIES += libgnu.a'.
55869         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55870         makefile snippet has already specified an installation location,
55871         also using '+='.
55872
55873 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55874
55875         getdate.y: factor out common actions
55876         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55877         Use them in place of open-coded actions.
55878
55879 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55880
55881         Add self-test for getdate module.
55882         * modules/getdate-tests: New file.
55883         * tests/test-getdate.c: New file.
55884
55885 2008-06-29  Bruno Haible  <bruno@clisp.org>
55886
55887         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55888         .gitignore.
55889         Reported by Sylvain Beucler <beuc@beuc.net>.
55890
55891 2008-06-29  Bruno Haible  <bruno@clisp.org>
55892
55893         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55894         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55895
55896 2008-06-29  Bruno Haible  <bruno@clisp.org>
55897
55898         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55899         EXTRA_DIST.
55900         Reported by Sylvain Beucler <beuc@beuc.net>.
55901
55902 2008-06-26  Jim Meyering  <meyering@redhat.com>
55903
55904         make several modules depend on the "open" module
55905         This provides slightly increased consistency when opening-for-write
55906         the name of a non-directory spelled with a trailing slash.
55907         * modules/chdir-safer: Likewise.
55908         * modules/chown: Likewise.
55909         * modules/clean-temp: Likewise.
55910         * modules/copy-file: Likewise.
55911         * modules/fchdir: Likewise.
55912         * modules/fcntl-safer: Likewise.
55913         * modules/pipe: Likewise.
55914         * modules/utime: Likewise.
55915         Prompted by Eric Blake and Bruno Haible.
55916
55917 2008-06-24  Andreas Schwab  <schwab@suse.de>
55918
55919         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55920         literals can be used as initializers for global variables.
55921
55922 2008-06-23  Eric Blake  <ebb9@byu.net>
55923
55924         Make gnulib-cache.m4 easier to diff.
55925         * gnulib-tool (func_import): Allow newlines when reading cached
55926         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55927
55928 2008-06-23  Bruno Haible  <bruno@clisp.org>
55929
55930         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55931         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55932         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55933         m4/signalblocking.m4.
55934         (gl_PREREQ_SIGACTION): Don't invoke it.
55935         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55936         gl_PREREQ_SIG_HANDLER_H.
55937         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55938         Don't check for sigaction here.
55939
55940 2008-06-23  Bruno Haible  <bruno@clisp.org>
55941
55942         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55943         (install_handlers): Don't set the SA_RESETHAND flag.
55944
55945 2008-06-23  Bruno Haible  <bruno@clisp.org>
55946
55947         * m4/sigaction.m4: Comment fixes.
55948         * lib/signal.in.h: Likewise.
55949
55950 2008-06-23  Eric Blake  <ebb9@byu.net>
55951
55952         Fix typo.
55953         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55954
55955         Avoid SA_ namespace.
55956         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55957         Reported by Ralf Wildenhues.
55958
55959         Avoid test failure due to SA_RESTORER.
55960         * tests/test-sigaction.c (SA_MASK): New macro.
55961         (main): Avoid failing due to extension flags being set.
55962         Reported by Jim Meyering.
55963
55964         Revert use of sig-handler.h in sigprocmask.c.
55965         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55966         it requires the existence of struct sigaction.
55967         * lib/sigprocmask.c (handler_t): Restore typedef.
55968         (rpl_signal, old_handlers): Use local type.
55969
55970 2008-06-22  Bruno Haible  <bruno@clisp.org>
55971
55972         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55973         conditionally.
55974         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55975
55976 2008-06-22  Bruno Haible  <bruno@clisp.org>
55977
55978         * doc/posix-functions/siginterrupt.texi: Move note.
55979
55980         * lib/signal.in.h (SA_RESTART): New macro.
55981         * lib/sigaction.c: Update comment.
55982
55983         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55984
55985         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55986         (gl_PREREQ_SIGPROCMASK): Invoke it.
55987         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55988
55989         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55990
55991         * lib/sigprocmask.c: Update a comment.
55992
55993 2008-06-21  Eric Blake  <ebb9@byu.net>
55994
55995         Use sigaction module rather than signal().
55996         * modules/c-stack (Depends-on): Add sigaction.
55997         * modules/fatal-signal (Depends-on): Likewise.
55998         * modules/nanosleep (Depends-on): Likewise.
55999         * modules/sigprocmask (Files): Add sig-handler.h.
56000         * modules/sigaction (Files): Likewise.
56001         * lib/sig-handler.h (get_handler): New file, suggested by Paul
56002         Eggert.
56003         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
56004         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
56005         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
56006         (init_fatal_signals): Likewise.
56007         * lib/nanosleep.c (rpl_nanosleep): Likewise.
56008         (siginterrupt): Delete fallback.
56009         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
56010         instead.
56011         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
56012         siginterrupt.
56013
56014         New module sigaction, for mingw.
56015         * modules/sigaction: New module...
56016         * modules/sigaction-tests: ...and its test.
56017         * m4/sigaction.m4: New file.
56018         * lib/sigaction.c: Likewise.
56019         * tests/test-sigaction.c: Likewise.
56020         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
56021         * modules/signal (Makefile.am): Likewise.
56022         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
56023         needed.
56024         * doc/posix-headers/signal.texi (signal.h): Mention provided
56025         types.
56026         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
56027         that sigaction is preferable.
56028         * doc/posix-functions/sigaction.texi (sigaction): Mention new
56029         module.
56030         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56031         sigaction.
56032
56033         Improve robustness of sigprocmask by overriding signal.
56034         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
56035         is in use.
56036         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
56037         (SIGKILL, SIGSTOP): Provide fallbacks.
56038         (rpl_signal): Implement.
56039         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
56040         signal can be called inside handlers.
56041
56042         Fix nanosleep module on mingw.
56043         * modules/nanosleep (Depends-on): Add sys_select.
56044         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
56045
56046         Fix licensing of sigprocmask.
56047         * modules/raise (License): Relicense as LGPL.
56048
56049 2008-06-21  Bruno Haible  <bruno@clisp.org>
56050
56051         * lib/propername.c (proper_name_utf8): Don't use the transliterated
56052         result if it contains question marks.
56053         Reported by Michael Geng <linux@michaelgeng.de>.
56054
56055 2008-06-19  Bruno Haible  <bruno@clisp.org>
56056
56057         Fix CVS-ism.
56058         * doc/gnulib.texi: Include updated-stamp.texi.
56059         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
56060         (updated-stamp.texi): New rule.
56061         (gnulib.info): Depend on it.
56062         * doc/.gitignore: Add updated-stamp.texi.
56063         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
56064
56065 2008-06-19  Bruno Haible  <bruno@clisp.org>
56066
56067         * doc/Makefile (gnulib.info): Update and simplify dependencies.
56068         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56069
56070 2008-06-19  Eric Blake  <ebb9@byu.net>
56071
56072         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
56073         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
56074         Reported by Stepan Kasal.
56075
56076 2008-06-18  Bruno Haible  <bruno@clisp.org>
56077
56078         * lib/fatal-signal.c (init_fatal_signals): Add comment.
56079         Reported by Eric Blake.
56080
56081 2008-06-18  Eric Blake  <ebb9@byu.net>
56082
56083         Work around cygwin 1.5.25 strsignal bug.
56084         * tests/test-strsignal.c: Allow for const char *.
56085         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
56086
56087 2008-06-18  Simon Josefsson  <simon@josefsson.org>
56088
56089         * users.txt: Update URL to article and add author/date
56090         information.
56091
56092 2008-06-17  Bruno Haible  <bruno@clisp.org>
56093
56094         New macro gl_DISABLE_THREADS.
56095         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
56096         if the user did not pass --enable-threads or --disable-threads option.
56097         (gl_DISABLE_THREADS): New macro.
56098         Reported by Eric Blake <ebb9@byu.net>.
56099
56100 2008-06-17  Bruno Haible  <bruno@clisp.org>
56101
56102         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
56103         when the macro ignores it.
56104         Based on a patch by Eric Blake <ebb9@byu.net>.
56105
56106 2008-06-17  Bruno Haible  <bruno@clisp.org>
56107
56108         * modules/tls (License): Change to LGPLv2+.
56109         Reported by Eric Blake.
56110
56111 2008-06-17  Eric Blake  <ebb9@byu.net>
56112
56113         Simplify c-stack prerequisites.
56114         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
56115         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
56116         no longer requires <ucontext.h> to exist.  Optimize setrlimit
56117         check.
56118         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
56119         <sys/resource.h>.
56120
56121         Move c-stack test into testsuite.
56122         * modules/c-stack-tests: New file.
56123         * lib/c-stack.c [DEBUG]: Move test program...
56124         * tests/test-c-stack.c: ...into this new file.  Skip rather than
56125         fail test if sigaltstack is lacking.
56126         * tests/test-c-stack.sh: New driver file.
56127
56128 2008-06-16  Eric Blake  <ebb9@byu.net>
56129
56130         Use raise module consistently.
56131         * modules/fatal-signal (Depends-on): Add raise.
56132         * modules/sigprocmask (Depends-on): Likewise.
56133         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56134         * lib/sigprocmask.c (sigprocmask): Likewise.
56135         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56136         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56137
56138         Fix compliance bug in sigpending.
56139         * lib/sigprocmask.c (sigpending): Return pending array via
56140         parameter, not return value.
56141
56142 2008-06-14  Eric Blake  <ebb9@byu.net>
56143
56144         Improve obstack-printf test code.
56145         * tests/test-obstack-printf.c (test_function): Fix comment, and
56146         simplify usage of obstack_* in macros.  Add a test for coverage.
56147         Reported by Bruno Haible.
56148
56149 2008-06-14  Bruno Haible  <bruno@clisp.org>
56150
56151         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56152         array size as a constant, not as a const variable.
56153         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56154         AC_USE_SYSTEM_EXTENSIONS.
56155         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56156         Test whether the obstack_printf function actually exists.
56157         * modules/obstack-printf (Depends-on): Add extensions.
56158         (Include): Remove obstack.h.
56159         * modules/obstack-printf-posix (Depends-on): Add extensions.
56160         (Include): Remove obstack.h.
56161
56162 2008-06-13  Eric Blake  <ebb9@byu.net>
56163
56164         Add obstack-printf and obstack-printf-posix modules.
56165         * modules/obstack-printf: New file.
56166         * modules/obstack-printf-posix: Likewise.
56167         * MODULES.html.sh (Misc): Mention them.
56168         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56169         Likewise.
56170         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56171         Likewise.
56172         * modules/stdio (Makefile.am): Accomodate new modules.
56173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56174         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56175         Declare.
56176         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56177         functions.
56178         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56179         (gl_REPLACE_OBSTACK_PRINTF): New macros
56180         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56181         * tests/test-obstack-printf.c: New file.
56182         * modules/obstack-printf-tests: Likewise.
56183         * modules/obstack-printf-posix-tests: Likewise.
56184
56185 2008-06-11  Bruno Haible  <bruno@clisp.org>
56186
56187         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56188         * lib/open.c: Include errno.h.
56189         (open): Fail when attempting to write to a file that has a trailing
56190         slash.
56191         * tests/test-open.c (main): Test against trailing slash bug.
56192         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56193
56194 2008-06-10  Bruno Haible  <bruno@clisp.org>
56195
56196         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56197         for $? to work inside the trap command, with various /bin/sh-s.
56198         * tests/test-vc-list-files-cvs.sh: Likewise.
56199
56200 2008-06-10  Bruno Haible  <bruno@clisp.org>
56201
56202         * lib/acl-internal.h: Don't include gettext.h here.
56203         * lib/set-mode-acl.c: Include gettext.h here.
56204         * lib/copy-acl.c: Likewise.
56205
56206 2008-06-10  Bruno Haible  <bruno@clisp.org>
56207
56208         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56209         * lib/wait-process.c (wait_subprocess): Likewise.
56210         * lib/execute.h (execute): Add termsigp argument.
56211         * lib/execute.c (execute): Likewise.
56212         * lib/csharpcomp.c (compile_csharp_using_pnet,
56213         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56214         * lib/csharpexec.c (execute_csharp_using_pnet,
56215         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56216         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56217         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56218         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56219         is_jikes_present): Update.
56220         * lib/javaexec.c (execute_java_class): Update.
56221         * lib/javaversion.c (execute_and_read_line): Update.
56222         * NEWS: Document the changes.
56223         Reported by Eric Blake.
56224
56225 2008-06-10  Eric Blake  <ebb9@byu.net>
56226
56227         Add missing include.
56228         * tests/test-strstr.c (includes): Add <signal.h>.
56229         * tests/test-strcasestr.c (includes): Likewise.
56230         * tests/test-memmem.c (includes): Likewise.
56231
56232 2008-06-10  Bruno Haible  <bruno@clisp.org>
56233
56234         * lib/wait-process.c (wait_subprocess): Add an assertion.
56235
56236 2008-06-10  Bruno Haible  <bruno@clisp.org>
56237
56238         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56239
56240 2008-06-10  Bruno Haible  <bruno@clisp.org>
56241
56242         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56243         using alarm().
56244         * tests/test-strcasestr.c (main): Likewise.
56245         * tests/test-strstr.c (main): Likewise.
56246
56247 2008-06-09  Bruno Haible  <bruno@clisp.org>
56248
56249         Work around the Solaris 10 ACE ACLs ABI change.
56250         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56251         declare if ACL_NO_TRIVIAL is present.
56252         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56253         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56254         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56255         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56256         define if ACL_NO_TRIVIAL is present.
56257         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56258         and use the current ABI.
56259         (file_has_acl): Use same #if condition as elsewhere.
56260         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56261         in use, and use the current ABI.
56262         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56263         Reported by Jim Meyering.
56264
56265 2008-06-09  Eric Blake  <ebb9@byu.net>
56266
56267         Work around environments that (stupidly) ignore SIGALRM.
56268         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56269         before using alarm().
56270         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56271         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56272         Reported by Ian Beckwith <ianb@erislabs.net>.
56273
56274         Produce autobuild blurb earlier in log.
56275         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56276
56277 2008-06-09  Jim Meyering  <meyering@redhat.com>
56278         and Ondřej Vašík  <ovasik@redhat.com>
56279
56280         utimens.c: correct kernel bug work-around
56281         Ondřej Vašík found that the invalid return value of 280 indicates
56282         failure, not success, and the kernel bug we're trying to work
56283         around affects not just the utimensat call, but also the fallback
56284         futimens call.
56285         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56286         not success.
56287         [HAVE_FUTIMENS]: Use the same work-around, here.
56288
56289 2008-06-09  Jim Meyering  <meyering@redhat.com>
56290
56291         add more guards around definition of ACE_-related code
56292         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56293         ALLOW and ACE_OWNER are also defined.
56294
56295 2008-06-08  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/acl-internal.h: Add me as co-author.
56298         * lib/file-has-acl.c: Likewise.
56299         * lib/set-mode-acl.c: Likewise.
56300         * lib/copy-acl.c: Likewise.
56301
56302 2008-06-08  Bruno Haible  <bruno@clisp.org>
56303
56304         Add support for AIX ACLs.
56305         * lib/acl-internal.h (acl_nontrivial): New declaration.
56306         * lib/file-has-acl.c (acl_nontrivial): New function.
56307         (file_has_acl): Add implementation using AIX 4 ACL API.
56308         * lib/set-mode-acl.c (qset_acl): Likewise.
56309         * lib/copy-acl.c (qcopy_acl): Likewise.
56310
56311 2008-06-08  Bruno Haible  <bruno@clisp.org>
56312
56313         Add support for HP-UX ACLs.
56314         * lib/acl-internal.h (acl_nontrivial): New declaration.
56315         * lib/file-has-acl.c (acl_nontrivial): New function.
56316         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56317         * lib/set-mode-acl.c (qset_acl): Likewise.
56318         * lib/copy-acl.c (qcopy_acl): Likewise.
56319
56320 2008-06-08  Bruno Haible  <bruno@clisp.org>
56321
56322         Add support for Cygwin ACLs.
56323         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56324         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56325         the chmod_or_fchmod call.
56326         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56327
56328 2008-06-08  Bruno Haible  <bruno@clisp.org>
56329
56330         Fix bug with setuid modes in Solaris 10+ code.
56331         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56332         succeeded, when the mode contains some special bits.
56333
56334 2008-06-08  Bruno Haible  <bruno@clisp.org>
56335
56336         Add support for Solaris 7..10 ACLs.
56337         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56338         declarations.
56339         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56340         functions.
56341         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56342         * lib/set-mode-acl.c (qset_acl): Likewise.
56343         * lib/copy-acl.c (qcopy_acl): Likewise.
56344
56345 2008-06-08  Bruno Haible  <bruno@clisp.org>
56346
56347         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56348         declaration.
56349         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56350         (acl_access_nontrivial): Remove MacOS X case.
56351         (file_has_acl): Use acl_extended_nontrivial.
56352         * lib/copy-acl.c (qcopy_acl): Likewise.
56353
56354 2008-06-08  Bruno Haible  <bruno@clisp.org>
56355
56356         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56357
56358 2008-06-08  Jim Meyering  <meyering@redhat.com>
56359
56360         * modules/acl (Maintainer): Add Bruno Haible.
56361
56362 2008-06-07  Bruno Haible  <bruno@clisp.org>
56363
56364         Improve support for Tru64 ACLs.
56365         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56366         ACL on OSF/1.
56367
56368 2008-06-07  Bruno Haible  <bruno@clisp.org>
56369
56370         Add support for MacOS X ACLs.
56371         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56372         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56373         * lib/set-mode-acl.c (qset_acl): Likewise.
56374         * lib/copy-acl.c (qcopy_acl): Likewise.
56375
56376 2008-06-07  Bruno Haible  <bruno@clisp.org>
56377
56378         Fix memory leak introduced on 2008-05-22.
56379         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56380         use.
56381
56382 2008-06-07  Bruno Haible  <bruno@clisp.org>
56383
56384         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56385         to construct an empty ACL.
56386
56387 2008-06-07  Bruno Haible  <bruno@clisp.org>
56388
56389         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56390         precisely.
56391         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56392
56393 2008-06-07  Bruno Haible  <bruno@clisp.org>
56394
56395         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56396         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56397
56398 2008-06-07  Bruno Haible  <bruno@clisp.org>
56399
56400         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56401         regardless of POSIX.
56402         * doc/posix-functions/_longjmp.texi: Likewise.
56403         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56404         SystemV platform in this case.
56405
56406 2008-06-06  Eric Blake  <ebb9@byu.net>
56407
56408         Document abort() bugs.
56409         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56410
56411         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56412         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56413         sigsetjmp.
56414         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56415         siglongjmp, but only as a macro.
56416         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56417         is obsolete.
56418         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56419
56420         Tweak documentation to cover cygwin argz bugs.
56421         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56422         argz bug fix; no code change needed since no cygwin releases
56423         occurred between the last fix and the bug being tested.
56424         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
56425         module and recently fixed cygwin bugs.
56426         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
56427         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
56428         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
56429         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
56430         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
56431         Likewise.
56432         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
56433         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
56434         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
56435         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
56436         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
56437         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
56438         Likewise.
56439
56440         Avoid gcc warning on cygwin.
56441         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
56442         !ACL_NO_TRIVIAL]: Avoid unused variable.
56443
56444 2008-06-05  Eric Blake  <ebb9@byu.net>
56445
56446         Be tolerant of UNKNOWN version in gnulib-tool test dir.
56447         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
56448         git-version-gen fails to come up with a version.
56449         Reported by Simon Josefsson.
56450
56451 2008-06-05  Jim Meyering  <meyering@redhat.com>
56452             Paul Eggert  <eggert@cs.ucla.edu>
56453
56454         utimens.c: work around a probable Linux kernel bug
56455         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
56456         appears to be a kernel bug that causes utimensat to return 280
56457         instead of 0, indicating success.
56458
56459 2008-06-04  Bruno Haible  <bruno@clisp.org>
56460
56461         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56462         2008-06-01 commit.
56463
56464 2008-06-04  Bruno Haible  <bruno@clisp.org>
56465
56466         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56467         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56468         (file_has_acl): Use it. Save errno afterwards.
56469         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56470
56471 2008-06-03  Bruno Haible  <bruno@clisp.org>
56472
56473         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56474         draft code. Simplify #ifs.
56475         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56476         Put Solaris code after POSIX-draft code. Fix comments regarding
56477         Solaris 10, HP-UX. Mention Cygwin.
56478         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56479
56480 2008-06-03  Eric Blake  <ebb9@byu.net>
56481
56482         Provide fallback for older kernels.
56483         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56484         Provide runtime fallback if kernel lacks support.
56485         Reported by Mike Frysinger.
56486
56487 2008-06-02  Bruno Haible  <bruno@clisp.org>
56488
56489         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56490         it exists.
56491
56492 2008-06-02  Bruno Haible  <bruno@clisp.org>
56493
56494         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56495         * lib/copy-acl.c (qcopy_acl): Update comment.
56496
56497 2008-06-02  Bruno Haible  <bruno@clisp.org>
56498
56499         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56500         like ACL APIs.
56501
56502 2008-06-02  Bruno Haible  <bruno@clisp.org>
56503
56504         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56505         * tests/test-set-mode-acl.sh: Likewise.
56506         * tests/test-copy-acl.sh: Likewise.
56507         * tests/test-copy-file.sh: Likewise.
56508
56509 2008-06-02  Bruno Haible  <bruno@clisp.org>
56510
56511         * tests/test-file-has-acl.sh: Remove unused code.
56512
56513 2008-06-01  Bruno Haible  <bruno@clisp.org>
56514
56515         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56516         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56517         messages.
56518         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56519
56520 2008-06-01  Bruno Haible  <bruno@clisp.org>
56521
56522         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56523         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56524         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56525         APIs.
56526         * modules/acl-tests (configure.ac): Remove tests now contained in
56527         m4/acl.m4.
56528
56529 2008-06-02  Jim Meyering  <meyering@redhat.com>
56530
56531         announce-gen: use a better key-server host name
56532         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56533         it may be more consistently reliable.  Suggested by Werner Koch
56534         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56535
56536 2008-06-01  Bruno Haible  <bruno@clisp.org>
56537
56538         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56539         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56540
56541 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56542
56543         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56544
56545 2008-06-01  Bruno Haible  <bruno@clisp.org>
56546
56547         New ACL tests.
56548         * tests/test-file-has-acl.sh: New file.
56549         * tests/test-file-has-acl.c: New file.
56550         * tests/test-set-mode-acl.sh: New file.
56551         * tests/test-set-mode-acl.c: New file.
56552         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56553         * tests/test-copy-acl.c: New file.
56554         * modules/acl-tests: New file, based on modules/copy-file-tests.
56555         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56556         (Depends-on): Add acl-tests.
56557         (configure.ac): Remove checks.
56558         (Makefile.am): Don't create test-sameacls program here any more.
56559
56560 2008-06-01  Bruno Haible  <bruno@clisp.org>
56561
56562         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56563         * tests/test-sameacls.c: Include progname.h.
56564         (main): Invoke set_program_name. Portability fixes for MacOS X,
56565         Solaris, HP-UX.
56566
56567 2008-06-01  Bruno Haible  <bruno@clisp.org>
56568
56569         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56570         function.
56571         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56572
56573 2008-06-01  Bruno Haible  <bruno@clisp.org>
56574
56575         * modules/rpmatch (Depends-on): Add strdup.
56576
56577 2008-06-01  Bruno Haible  <bruno@clisp.org>
56578
56579         * lib/pipe.c: Include unistd-safer.h.
56580         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56581         * modules/pipe (Depends-on): Add unistd-safer.
56582
56583 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56584
56585         * modules/autobuild (configure.ac): Call AB_INIT.
56586
56587 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56588
56589         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56590         Suggested by Bruno Haible <bruno@clisp.org>.
56591
56592 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56593
56594         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56595         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56596         <bruno@clisp.org>.
56597
56598 2008-05-29  Eric Blake  <ebb9@byu.net>
56599
56600         Prefer new POSIX 200x interfaces over futimesat.
56601         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56602         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56603         when available.
56604         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56605
56606 2008-05-28  Bruno Haible  <bruno@clisp.org>
56607
56608         * modules/stpcpy (License): Change to LGPLv2+.
56609         Requested by David Lutterkort <dlutter@redhat.com>.
56610
56611 2008-05-27  Bruno Haible  <bruno@clisp.org>
56612
56613         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56614         current mingw.
56615         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56616
56617 2008-05-27  Bruno Haible  <bruno@clisp.org>
56618
56619         * modules/iconv_open (Link): New section, from module 'iconv'.
56620         * modules/striconv (Link): Likewise.
56621         * modules/striconveh (Link): Likewise.
56622         * modules/xstriconv (Link): Likewise.
56623         * modules/unicodeio (Link): Likewise.
56624         * modules/propername (Link): Likewise.
56625         Reported by Jim Meyering.
56626
56627 2008-05-26  Jim Meyering  <meyering@redhat.com>
56628
56629         sha256: do not artificially restrict buffer length to be < 2^32
56630         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56631         uint32_t to size_t.
56632         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56633         to match.
56634
56635         avoid unaligned access errors, e.g., on sparc
56636         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56637         direct access through a possibly-unaligned uint64* pointer.
56638         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56639         direct access through a possibly-unaligned uint32* pointer.
56640         Prompted by this patch from Tom "spot" Callaway:
56641         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56642
56643         sha512.c: fix typo in comment
56644         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56645
56646 2008-05-25  Bruno Haible  <bruno@clisp.org>
56647
56648         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56649         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56650         (Makefile.am): Update lib_SOURCES.
56651
56652 2008-05-25  Bruno Haible  <bruno@clisp.org>
56653
56654         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56655
56656 2008-05-25  Jim Meyering  <meyering@redhat.com>
56657
56658         useless-if-before-free: freed expr may have white-space differences
56659         * build-aux/useless-if-before-free: Recognize cases in which the
56660         freed expression differs from the tested one in embedded white
56661         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56662         $1 was used, so we can't make any regexp shy.  Improved tests now
56663         detect this.
56664
56665         useless-if-before-free: accept white space in the expression.
56666         * build-aux/useless-if-before-free: For now, any white space
56667         in the expression must be identical in the free argument.
56668
56669         useless-if-before-free: efficiency tweak
56670         * build-aux/useless-if-before-free: Make the expression-matching
56671         regexp "shy".
56672         Make the *outer* regexp shy, not the expr-matching one.
56673
56674         update code-in-comment to accept cast of free arg
56675         * build-aux/useless-if-before-free: Update regexp.
56676
56677 2008-05-25  Bruno Haible  <bruno@clisp.org>
56678
56679         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56680         * modules/copy-file-tests (Files, Makefile.am): Update.
56681         * tests/test-copy-file.c (func_test_copy): Update.
56682
56683 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56684
56685         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56686
56687 2008-05-23  Bruno Haible  <bruno@clisp.org>
56688
56689         Improve support for ACLs on OSF/1.
56690         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56691         Remove fallback for unknown flavors of ACLs.
56692
56693 2008-05-22  Bruno Haible  <bruno@clisp.org>
56694
56695         Add support for ACLs on OSF/1.
56696         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56697         replacements.
56698         (acl_free_text): New macro fallback.
56699         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56700         acl_free.
56701         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56702         acl_free_text function. Require AC_C_INLINE.
56703
56704 2008-05-22  Bruno Haible  <bruno@clisp.org>
56705
56706         Make copy_acl work on MacOS X 10.5.
56707         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56708         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56709         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56710         If MODE_INSIDE_ACL, don't assume that every system has the same text
56711         representation for ACLs as FreeBSD.
56712         * lib/copy-acl.c (copy_acl): Add support for platforms with
56713         !MODE_INSIDE_ACL.
56714         * lib/file-has-acl.c (file_has_acl): Likewise.
56715         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56716         FreeBSD, MacOS X, or IRIX, respectively.
56717
56718 2008-05-22  Bruno Haible  <bruno@clisp.org>
56719
56720         * lib/acl.h: Don't include <sys/acl.h>.
56721         (GETACLCNT): Move fallback to lib/acl-internal.h.
56722         * lib/acl-internal.h: Include <sys/acl.h> here.
56723         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56724
56725 2008-05-22  Bruno Haible  <bruno@clisp.org>
56726
56727         Split off copy_acl function to separate file.
56728         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56729         * lib/acl.c (copy_acl): Moved function to separate file.
56730         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56731         * modules/acl (Files): Add lib/copy-acl.c.
56732         (Makefiles.am): Augment lib_SOURCES.
56733
56734 2008-05-22  Bruno Haible  <bruno@clisp.org>
56735
56736         * modules/copy-file-tests: New file.
56737         * tests/test-copy-file.sh: New file.
56738         * tests/test-copy-file.c: New file.
56739         * tests/test-copy-file-sameacls.c: New file.
56740
56741 2008-05-22  Eric Blake  <ebb9@byu.net>
56742
56743         Avoid gcc warning.
56744         * tests/test-memcmp.c (main): Pass NULL indirectly.
56745
56746 2008-05-21  Bruno Haible  <bruno@clisp.org>
56747
56748         Add reference doc about ACLs.
56749         * doc/acl-resources.txt: New file.
56750         * doc/acl-cygwin.txt: New file.
56751
56752 2008-05-21  Bruno Haible  <bruno@clisp.org>
56753
56754         Avoid one more warning from gcc.
56755         * lib/vasnprintf.c (IF_LINT): Update comments.
56756         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56757
56758 2008-05-21  Jim Meyering  <meyering@redhat.com>
56759
56760         avoid a warning from gcc
56761         * lib/vasnprintf.c (IF_LINT): Define.
56762         (scale10_round_decimal_long_double):
56763         Use it to avoid a "may be used uninitialized" warning.
56764         (scale10_round_decimal_double): Likewise.
56765
56766 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56767
56768         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56769         declared.
56770
56771 2008-05-20  Bruno Haible  <bruno@clisp.org>
56772
56773         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56774         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56775
56776 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56777
56778         * modules/memcmp-tests: New file.
56779         * tests/test-memcmp.c: New file.
56780
56781 2008-05-19  Bruno Haible  <bruno@clisp.org>
56782
56783         * modules/propername (Notice, configure.ac): Put quoted "..." into
56784         --keyword option.
56785         * lib/propername.h: Update comments accordingly.
56786         Reported by Eric Blake.
56787
56788 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56789
56790         * modules/getpass-gnu (Depends-on): Add fseeko.
56791
56792 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56793
56794         * modules/base64-tests: New file.
56795
56796 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56797
56798         * lib/base64.c (base64_decode_ctx): If a decode context structure
56799         was passed in use it to ignore newlines.  If a context structure
56800         was _not_ passed in, continue to treat newlines as garbage (this
56801         is the historical behavior).  Formerly base64_decode.
56802         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56803         takes a decode context structure.
56804         * lib/base64.h (base64_decode): Macro for four-argument calls.
56805         (base64_decode_alloc): Likewise.
56806         * lib/base64.c (base64_decode_ctx): If a decode context structure
56807         was passed in use it to ignore newlines.  If a context structure
56808         was _not_ passed in, continue to treat newlines as garbage (this
56809         is the historical behavior).  Formerly base64_decode.
56810         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56811         takes a decode context structure.
56812         * lib/base64.h (base64_decode): Macro for four-argument calls.
56813         (base64_decode_alloc): Likewise.
56814
56815 2008-05-19  Jim Meyering  <meyering@redhat.com>
56816
56817         avoid a warning from gcc
56818         * lib/trim.c (IF_LINT): Define.
56819         (trim2): Use it to avoid a "may be used uninitialized" warning.
56820
56821         Fix doc typo.
56822         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56823
56824 2008-05-19  Bruno Haible  <bruno@clisp.org>
56825
56826         * doc/glibc-functions/getpass.texi: Document limits of other
56827         implementations.
56828
56829 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56830             Bruno Haible <bruno@clisp.org>
56831
56832         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56833
56834 2008-05-18  Bruno Haible  <bruno@clisp.org>
56835
56836         * modules/propername: New file, from GNU gettext.
56837         * lib/propername.h: New file, from GNU gettext.
56838         * lib/propername.c: New file, from GNU gettext.
56839         * MODULES.html.sh (Internationalization functions): Add propername.
56840
56841 2008-05-16  Jim Meyering  <meyering@redhat.com>
56842             Bruno Haible  <bruno@clisp.org>
56843
56844         Avoid some warnings from "gcc -Wshadow".
56845         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56846
56847 2008-05-15  Eric Blake  <ebb9@byu.net>
56848
56849         Extend previous patch to cygwin 1.7.0.
56850         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56851         fast implementation in cygwin >= 1.7.0.
56852         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56853         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56854
56855 2008-05-15  Bruno Haible  <bruno@clisp.org>
56856
56857         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56858         implementation in glibc >= 2.9.
56859         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56860         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56861
56862 2008-05-15  Bruno Haible  <bruno@clisp.org>
56863
56864         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56865         (Unicode string functions): Add unilbrk/*.
56866         Reported by Karl Berry.
56867
56868 2008-05-15  Eric Blake  <ebb9@byu.net>
56869
56870         Fix violation of <stdbool.h> replacement in regex.
56871         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56872         * lib/regexec.c (re_search_internal): Likewise.
56873         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56874
56875 2008-05-15  Jim Meyering  <meyering@redhat.com>
56876
56877         avoid distracting test output when git or cvs is not found
56878         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56879         * tests/test-vc-list-files-git.sh: Likewise.
56880
56881 2008-05-15  Eric Blake  <ebb9@byu.net>
56882
56883         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56884         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56885         glibc version.
56886         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56887         * doc/posix-functions/strstr.texi (strstr): Likewise.
56888         * lib/str-two-way.h (MAX): Sychronize with glibc.
56889
56890 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56891
56892         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56893         opr.ctx_type.
56894         (calc_first): Initialize constraint field.
56895         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56896         Fix grammar.
56897         (duplicate_node): Merge constraint field for all node types.
56898         (calc_eclosure_iter): Look at constraint field for all node types.
56899         * lib/regex_internal.c (create_cd_newstate): Don't look at
56900         opr.ctx_type.
56901
56902 2008-05-14  Bruno Haible  <bruno@clisp.org>
56903
56904         Help GCC to do better code generation.
56905         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56906         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56907         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56908         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56909         Declare with attribute 'malloc' if supported.
56910
56911 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56912
56913         use "echo STR|wc -c" rather than unportable "expr length STR"
56914         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56915         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56916
56917 2008-05-14  Jim Meyering  <meyering@redhat.com>
56918
56919         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56920         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56921         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56922         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56923         via Collin Lasse.
56924
56925 2008-05-14  Eric Blake  <ebb9@byu.net>
56926
56927         Avoid quadratic growth in gl_LIBSOURCES.
56928         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56929         Suggested by Bruno Haible.
56930
56931         Test xmemdup0.
56932         * modules/xmemdup0-tests: New file.
56933         * tests/test-xmemdup0.c: Likewise.
56934
56935 2008-05-13  Eric Blake  <ebb9@byu.net>
56936
56937         Split xmemdup0 into its own module.
56938         * modules/xmemdup0: New file.
56939         * lib/xmemdup0.h: Likewise.
56940         * lib/xmemdup0.c: Likewise.
56941         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56942         * lib/xalloc.h (xmemdup0): Remove.
56943         * lib/xmalloc.c (xmemdup0): Likewise.
56944
56945 2008-05-13  Eric Blake  <ebb9@byu.net>
56946             Bruno Haible  <bruno@clisp.org>
56947
56948         Reduce number of forks required during autoconf.
56949         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56950         and gl_LIBSOURCES_DIR.
56951         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56952         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56953         m4_syscmd per file.
56954         <m4_foreach_w>: Move...
56955         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56956
56957 2008-05-13  Eric Blake  <ebb9@byu.net>
56958
56959         * gnulib-tool: Fix various comment typos.
56960
56961 2008-05-12  Bruno Haible  <bruno@clisp.org>
56962
56963         Tailor the linebreaking algorithm.
56964         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56965
56966 2008-05-12  Bruno Haible  <bruno@clisp.org>
56967
56968         Update to Unicode 5.0.0.
56969         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56970         LBP_JV, LBP_JT. Redistribute values.
56971         (unilbrk_table): Change size.
56972         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56973         Unicode TR#14 rev. 22.
56974         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56975         LBP_JV, LBP_JT. Redistribute values.
56976         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56977         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56978         Update.
56979         * lib/unilbrk/lbrkprop1.h: Regenerated.
56980         * lib/unilbrk/lbrkprop2.h: Regenerated.
56981         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56982         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56983         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56984         Likewise.
56985         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56986         Likewise.
56987         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56988         result.
56989         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56990         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56991         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56992         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56993         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56994         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56995
56996 2008-05-11  Bruno Haible  <bruno@clisp.org>
56997
56998         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56999
57000 2008-05-11  Bruno Haible  <bruno@clisp.org>
57001
57002         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
57003         * modules/unilbrk/gen-lbrk: New file.
57004
57005 2008-05-11  Bruno Haible  <bruno@clisp.org>
57006
57007         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
57008         * m4/sha512.m4 (gl_SHA512): Likewise.
57009
57010 2008-05-11  Jim Meyering  <meyering@redhat.com>
57011
57012         New modules: crypto/sha256, crypto/sha512 (from coreutils)
57013         * modules/crypto/sha256: New file.
57014         * modules/crypto/sha512: Likewise.
57015         * lib/sha256.c: Likewise.
57016         * lib/sha256.h: Likewise.
57017         * lib/sha512.c: Likewise.
57018         * lib/sha512.h: Likewise.
57019         * lib/u64.h: Likewise.
57020         * m4/sha256.m4: Likewise.
57021         * m4/sha512.m4: Likewise.
57022         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
57023
57024 2008-05-10  Bruno Haible  <bruno@clisp.org>
57025
57026         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
57027         (Input/Output <stdio.h>): Add xprintf.
57028         (Signal handling <signal.h>): Add strsignal.
57029         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
57030         (Core language properties): Add func.
57031         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
57032         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
57033         strings.
57034         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
57035         (Input/output): New section.
57036         (File system functions): Add openat-die, stat-macros.
57037         (Networking functions): Add sockets.
57038         (Unicode string functions): Add unictype/*.
57039         (Support for building libraries and executables): Add gperf.
57040         (Support for building documentation): Add agpl-3.0.
57041         (Misc): Add nocrash.
57042
57043 2008-05-10  Bruno Haible  <bruno@clisp.org>
57044
57045         * modules/unictype/gen-ctype: New file.
57046
57047 2008-05-10  Jim Meyering  <meyering@redhat.com>
57048
57049         Make chdir-safer.c more efficient on a system with no symlinks.
57050         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
57051         also if ELOOP is zero.  Suggested by Bruno Haible.
57052
57053         Make chdir-safer.c slightly safer.
57054         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
57055         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
57056
57057         Avoid compile failure on systems without ELOOP (like mingw).
57058         * lib/chdir-safer.c (ELOOP): Define if not already defined.
57059         Reported by Bruno Haible.
57060
57061 2008-05-10  Bruno Haible  <bruno@clisp.org>
57062
57063         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
57064         (is_utf8_encoding): Use a case-insensitive comparison.
57065         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
57066         streq.
57067
57068 2008-05-10  Bruno Haible  <bruno@clisp.org>
57069
57070         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
57071         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
57072         * lib/unilbrk/ulc-common.h (iconv_string_length,
57073         iconv_string_keeping_offsets): Remove declarations.
57074         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
57075         Don't include <iconv.h>, streq.h, xsize.h.
57076         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
57077         conversion.
57078         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
57079         <iconv.h>, streq.h, xsize.h.
57080         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
57081         conversion.
57082         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
57083         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
57084         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
57085         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
57086
57087 2008-05-10  Bruno Haible  <bruno@clisp.org>
57088
57089         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
57090         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
57091
57092         * modules/unilbrk/u32-width-linebreaks-tests: New file.
57093         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
57094
57095         * modules/unilbrk/u16-width-linebreaks-tests: New file.
57096         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
57097
57098         * modules/unilbrk/u8-width-linebreaks-tests: New file.
57099         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
57100
57101         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
57102         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
57103
57104         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
57105         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
57106
57107         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
57108         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
57109
57110         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
57111         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
57112
57113 2008-05-10  Bruno Haible  <bruno@clisp.org>
57114
57115         Split up 'linebreak' module.
57116         * lib/unilbrk.h: New file, based on lib/linebreak.h.
57117         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
57118         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
57119         modifications.
57120         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
57121         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
57122         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
57123         lib/linebreak.c.
57124         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
57125         lib/linebreak.c.
57126         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57127         lib/linebreak.c.
57128         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57129         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57130         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57131         lib/linebreak.c.
57132         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57133         lib/linebreak.c.
57134         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57135         lib/linebreak.c.
57136         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57137         lib/linebreak.c.
57138         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57139         lib/linebreak.c.
57140         * modules/unilbrk/base: New file.
57141         * modules/unilbrk/tables: New file.
57142         * modules/unilbrk/u8-possible-linebreaks: New file.
57143         * modules/unilbrk/u16-possible-linebreaks: New file.
57144         * modules/unilbrk/u32-possible-linebreaks: New file.
57145         * modules/unilbrk/ulc-common: New file.
57146         * modules/unilbrk/ulc-possible-linebreaks: New file.
57147         * modules/unilbrk/u8-width-linebreaks: New file.
57148         * modules/unilbrk/u16-width-linebreaks: New file.
57149         * modules/unilbrk/u32-width-linebreaks: New file.
57150         * modules/unilbrk/ulc-width-linebreaks: New file.
57151         * lib/linebreak.h: Remove file.
57152         * lib/linebreak.c: Remove file.
57153         * m4/linebreak.m4: Remove file.
57154         * modules/linebreak: Remove file.
57155         * NEWS: Mention the changes.
57156
57157 2008-05-09  Eric Blake  <ebb9@byu.net>
57158
57159         Add xmemdup0.
57160         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57161         implementation.
57162         * lib/xmalloc.c (xmemdup0): New C implementation.
57163
57164 2008-05-08  Bruno Haible  <bruno@clisp.org>
57165
57166         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57167
57168 2008-05-07  Eric Blake  <ebb9@byu.net>
57169
57170         Support cross-compilation of <wctype.h>.
57171         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57172         AC_CACHE_CHECK.
57173
57174 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57175
57176         * build-aux/vc-list-files: Add support for bzr.
57177
57178 2008-05-03  Jim Meyering  <meyering@redhat.com>
57179
57180         avoid failed assertion with tight malloc
57181         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57182
57183 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57184
57185         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57186         are needed from arpa/inet.h.
57187         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57188         Reported by Bruno Haible.
57189
57190 2008-05-02  Jim Meyering  <meyering@redhat.com>
57191
57192         avoid compilation error on FreeBSD 6
57193         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57194
57195 2008-05-01  Jim Meyering  <meyering@redhat.com>
57196
57197         useless-if-before-free: correct --help's exit status description
57198         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57199         for one or more matches, etc.  Reported by Bruno Haible.
57200
57201         vc-list-files: make the stand-alone gnulib test work
57202         * modules/vc-list-files-tests (configure.ac):
57203         Define and AC_SUBST abs_aux_dir.
57204         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57205         $(abs_top_srcdir) to each script and having each of them
57206         duplicate the work of setting PATH, set PATH here, using
57207         the new variable, abs_aux_dir instead.
57208         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57209         * tests/test-vc-list-files-git.sh: Likewise.
57210         Reported by Bruno Haible.
57211
57212 2008-05-01  Bruno Haible  <bruno@clisp.org>
57213
57214         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57215         reallocation. Rename 'done' to 'found_delimiter'.
57216
57217 2008-05-01  Jim Meyering  <meyering@redhat.com>
57218
57219         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57220         * build-aux/vc-list-files: Use `...`, not $(...).
57221
57222 2008-04-30  Jim Meyering  <meyering@redhat.com>
57223
57224         add tests for vc-list-files
57225         * modules/vc-list-files-tests: New module.
57226         * tests/test-vc-list-files-cvs.sh: New file.
57227         * tests/test-vc-list-files-git.sh: New file.
57228
57229         avoid a warning from gcc
57230         * lib/getndelim2.c (IF_LINT): Define.
57231         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57232
57233         vc-list-files: work properly with build-aux/cvsu, too
57234         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57235         to all cvs-based clauses.
57236
57237         vc-list-files: work properly in the CVS+awk case, too
57238         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57239
57240         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57241         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57242         take more than one file argument, so .  Add quotes, just in case $dir
57243         ever contains a shell meta-character.  Prompted by Soren Hansen in
57244         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57245
57246 2008-04-29  Eric Blake  <ebb9@byu.net>
57247
57248         Optimize getndelim2 to use block operations when possible.
57249         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57250         freadseek, and memchr2.
57251         * lib/getndelim2.c (getndelim2): Use them for block reads.
57252
57253 2008-04-29  Bruno Haible  <bruno@clisp.org>
57254
57255         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57256         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57257         * modules/inet_ntop (Depends-on): Add extensions.
57258         * modules/inet_pton (Depends-on): Likewise.
57259         Reported by Simon Josefsson.
57260
57261 2008-04-29  Jim Meyering  <meyering@redhat.com>
57262
57263         When the is more than one match in a block, match all of them.
57264         * build-aux/useless-if-before-free: Iterate through each block
57265         until there are no more matches.
57266
57267         Fix broken useless-if-before-free script.
57268         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57269         the expression to match cast of argument to free-like function.
57270
57271 2008-04-29  Eric Blake  <ebb9@byu.net>
57272
57273         Use new header.
57274         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57275
57276 2008-04-29  Jim Meyering  <meyering@redhat.com>
57277
57278         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57279         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57280         by gnulib to exist and to declare e.g., inet_ntop.
57281         Don't include "inet_ntop.h", now removed.
57282
57283         * m4/arpa_inet_h.m4: Remove trailing blanks.
57284
57285 2008-04-29  Eric Blake  <ebb9@byu.net>
57286
57287         Silence valgrind on safe reads beyond potential array bounds.
57288         * lib/rawmemchr.valgrind: New file.
57289         * lib/strchrnul.valgrind: Likewise.
57290         * modules/rawmemchr (Files): Distribute new file.
57291         * modules/strchrnul (Files): Likewise.
57292         Suggested by Bruno Haible.
57293
57294 2008-04-29  Bruno Haible  <bruno@clisp.org>
57295
57296         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57297         (inet_ntop, inet_pton): Change portability warning's wording.
57298         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57299         Invoke gl_CHECK_NEXT_HEADERS.
57300         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57301         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57302         set ARPA_INET_H.
57303         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57304         * modules/arpa_inet (Description): No longer only for systems that
57305         lack it.
57306         (Depends-on): Add include_next.
57307         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57308         HAVE_ARPA_INET_H.
57309
57310 2008-04-29  Jim Meyering  <meyering@redhat.com>
57311
57312         * modules/mkdir (License): Re-license as LGPLv2+.
57313
57314 2008-04-29  Bruno Haible  <bruno@clisp.org>
57315
57316         * modules/rawmemchr (Maintainer): Set to Eric.
57317         * modules/strchrnul (Maintainer): Likewise.
57318
57319 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57320
57321         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57322         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57323
57324         * modules/arpa_inet (arpa/inet.h): Use them.
57325
57326 2008-04-28  Eric Blake  <ebb9@byu.net>
57327
57328         Test getndelim2.
57329         * modules/getndelim2-tests: New file.
57330         * tests/test-getndelim2.c: Likewise.
57331         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57332         stream.
57333         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57334
57335         * MODULES.html.sh: Document new module.
57336
57337 2008-04-20  Bruno Haible  <bruno@clisp.org>
57338
57339         * lib/c-stack.c (die): Use raise.
57340         * modules/c-stack (Depends-on): Add raise.
57341
57342 2008-04-28  Bruno Haible  <bruno@clisp.org>
57343
57344         Expect rpmatch to be declared.
57345         * lib/yesno.c (rpmatch): Remove declaration.
57346
57347         Declare rpmatch.
57348         * lib/stdlib.in.h (rpmatch): New declaration.
57349         * lib/rpmatch.c: Include <stdlib.h> first.
57350         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57351         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57352         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57353         HAVE_RPMATCH.
57354         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57355         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57356         (Include): Set to <stdlib.h>.
57357         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57358         HAVE_RPMATCH.
57359         * NEWS: Document the change.
57360
57361 2008-04-28  Bruno Haible  <bruno@clisp.org>
57362
57363         Change rpmatch to use nl_langinfo when appropriate.
57364         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57365         (N_): New macro.
57366         (localized_pattern): New function/macro.
57367         (try): Remove match, nomatch arguments. Copy the pattern into safe
57368         memory before caching it.
57369         (rpmatch): Use localized_pattern. Add translator comments.
57370         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57371         Suggested by Eric Blake.
57372         * modules/rpmatch (Depends-on): Add stdbool.
57373
57374 2008-04-28  Eric Blake  <ebb9@byu.net>
57375
57376         Add rawmemchr module, matching glibc.
57377         * modules/string (Makefile.am): New indicator.
57378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57379         * lib/string.in.h (rawmemchr): Declare when appropriate.
57380         * modules/rawmemchr: New file.
57381         * m4/rawmemchr.m4: Likewise.
57382         * lib/rawmemchr.c: Likewise.
57383         * modules/rawmemchr-tests: Likewise.
57384         * tests/test-rawmemchr.c: Likewise.
57385         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57386         module.
57387         * modules/strchrnul (Depends-on): Add rawmemchr.
57388         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57389
57390         Whitespace cleanup.
57391         * tests/test-strchrnul.c: Reindent.
57392         * lib/strchrnul.c: Likewise.
57393
57394         Optimize and test strchrnul.
57395         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57396         * modules/strchrnul-tests: New file.
57397         * tests/test-strchrnul.c: Likewise.
57398
57399         Remove intprops dependency.
57400         * modules/memchr (Depends-on): Remove intprops.
57401         * modules/memrchr (Depends-on): Likewise.
57402         * modules/memchr2 (Depends-on): Likewise.
57403         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57404         * lib/memrchr.c (__memrchr): Likewise.
57405         * lib/memrchr2.c (memchr2): Likewise.
57406         Reported by Simon Josefsson.
57407
57408 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57409
57410         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57411         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57412
57413 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57414
57415         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57416
57417         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57418
57419         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57420
57421         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57422         declarations.
57423         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
57424
57425         * m4/inet_pton.m4: Don't check for header files.
57426
57427         * m4/inet_ntop.m4: Don't check for header files.
57428
57429 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57430
57431         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
57432         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
57433         trigger for cygwin).
57434         Reported by Bruno Haible  <bruno@clisp.org>.
57435
57436 2008-04-28  Bruno Haible  <bruno@clisp.org>
57437
57438         * doc/posix-functions/strdup.texi: Mention mingw problem.
57439
57440 2008-04-27  Bruno Haible  <bruno@clisp.org>
57441
57442         * modules/stat-time-tests (Depends-on): Add sleep.
57443         * tests/test-stat-time.c (force_unlink): New function.
57444         (cleanup): Use it.
57445         (test_mtime): Remove the ctime related tests.
57446         (test_ctime): New function, containing the ctime related tests.
57447         (main): Call test_ctime, except on native Windows platforms.
57448
57449 2008-04-27  Bruno Haible  <bruno@clisp.org>
57450
57451         * lib/rpmatch.c (rpmatch): Add some comments.
57452         Reported by James Youngman <jay@gnu.org>.
57453
57454 2008-04-27  Bruno Haible  <bruno@clisp.org>
57455
57456         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
57457         quiet NaNs.
57458
57459 2008-04-27  Bruno Haible  <bruno@clisp.org>
57460
57461         Make test-yesno.sh work on mingw.
57462         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57463         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57464         (main): Set stdin to binary mode.
57465         * modules/yesno-tests (Depends-on): Add binary-io.
57466
57467 2008-04-27  Bruno Haible  <bruno@clisp.org>
57468
57469         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57470         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57471         argument that lie outside the IEEE 854 domain.
57472         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57473         (gl_ISFINITE): Use it.
57474         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57475
57476 2008-04-27  Bruno Haible  <bruno@clisp.org>
57477
57478         Allow local renaming in config.h.
57479         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57480
57481 2008-04-27  Bruno Haible  <bruno@clisp.org>
57482
57483         * lib/memchr.c (__memchr): Change type of 'i'.
57484         * lib/memchr2.c (memchr2): Likewise.
57485
57486 2008-04-26  Eric Blake  <ebb9@byu.net>
57487         and Bruno Haible  <bruno@clisp.org>
57488
57489         Optimize and test memrchr.
57490         * modules/memrchr (Depends-on): Add intprops.
57491         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57492         * modules/memrchr-tests: New file.
57493         * tests/test-memrchr.c: New file.
57494
57495 2008-04-26  Bruno Haible  <bruno@clisp.org>
57496
57497         Add tentative support for DragonFly BSD.
57498         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57499         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57500         fp.
57501         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57502         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57503         * lib/fpurge.c (fpurge): Likewise.
57504         * lib/freadable.c (freaadable): Likewise.
57505         * lib/freadahead.c (freadahead): Likewise.
57506         * lib/freading.c (freading): Likewise.
57507         * lib/freadptr.c (freadptr): Likewise.
57508         * lib/freadseek.c (freadptrinc): Likewise.
57509         * lib/fseeko.c (fseeko): Likewise.
57510         * lib/fseterr.c (fseterr): Likewise.
57511         * lib/fwritable.c (fwritable): Likewise.
57512         * lib/fwriting.c (fwriting): Likewise.
57513
57514 2008-04-26  Bruno Haible  <bruno@clisp.org>
57515
57516         * lib/stdio-impl.h: New file.
57517         * lib/fbufmode.c: Include stdio-impl.h.
57518         (fbufmode): Use fp_, remove redundant #defines.
57519         * lib/fflush.c: Include stdio-impl.h.
57520         (clear_ungetc_buffer): Remove redundant #defines.
57521         * lib/fpurge.c: Include stdio-impl.h.
57522         (fpurge): Remove redundant #defines.
57523         * lib/freadable.c: Include stdio-impl.h.
57524         (freadable): Remove redundant #defines.
57525         * lib/freadahead.c: Include stdio-impl.h.
57526         (freadahead): Remove redundant #defines.
57527         * lib/freading.c: Include stdio-impl.h.
57528         (freading): Remove redundant #defines.
57529         * lib/freadptr.c: Include stdio-impl.h.
57530         (freadptr): Remove redundant #defines.
57531         * lib/freadseek.c: Include stdio-impl.h.
57532         (freadptrinc): Remove redundant #defines.
57533         * lib/fseeko.c: Include stdio-impl.h.
57534         (rpl_fseeko): Remove redundant #defines.
57535         * lib/fseterr.c: Include stdio-impl.h.
57536         (fseterr): Remove redundant #defines.
57537         * lib/fwritable.c: Include stdio-impl.h.
57538         (fwritable: Remove redundant #defines.
57539         * lib/fwriting.c: Include stdio-impl.h.
57540         (fwriting): Remove redundant #defines.
57541         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57542         * modules/fflush (Files): Likewise.
57543         * modules/fpurge (Files): Likewise.
57544         * modules/freadable (Files): Likewise.
57545         * modules/freadahead (Files): Likewise.
57546         * modules/freading (Files): Likewise.
57547         * modules/freadptr (Files): Likewise.
57548         * modules/freadseek (Files): Likewise.
57549         * modules/fseeko (Files): Likewise.
57550         * modules/fseterr (Files): Likewise.
57551         * modules/fwritable (Files): Likewise.
57552         * modules/fwriting (Files): Likewise.
57553
57554 2008-04-26  Bruno Haible  <bruno@clisp.org>
57555
57556         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57557         restore_seek_optimization, update_fpos_cache): New functions, extracted
57558         from rpl_fflush.
57559         (rpl_fflush): Use them.
57560         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57561         (gl_REPLACE_FFLUSH): Use it.
57562
57563 2008-04-26  Bruno Haible  <bruno@clisp.org>
57564
57565         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57566         on Solaris.
57567         * tests/test-xstrtoimax.sh: Likewise.
57568         * tests/test-xstrtoumax.sh: Likewise.
57569         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57570
57571 2008-04-26  Bruno Haible  <bruno@clisp.org>
57572
57573         * modules/memchr-tests: New file.
57574         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57575
57576 2008-04-26  Eric Blake  <ebb9@byu.net>
57577             Bruno Haible  <bruno@clisp.org>
57578
57579         * lib/memchr.c: Include intprops.h.
57580         (__memchr): Optimize parallel detection of matching bytes. Rename local
57581         variables. Add explanatory comments.
57582
57583 2008-04-26  Bruno Haible  <bruno@clisp.org>
57584
57585         Fix module 'memchr', broken since 2000-10-28.
57586         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57587
57588 2008-04-26  Bruno Haible  <bruno@clisp.org>
57589
57590         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57591         comments.
57592
57593 2008-04-25  Eric Blake  <ebb9@byu.net>
57594
57595         Use native fstatat on cygwin 1.7.0.
57596         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57597         first.
57598
57599 2008-04-23  Eric Blake  <ebb9@byu.net>
57600
57601         Improve memchr2 performance.
57602         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57603         NUL bytes.
57604         * modules/memchr2 (Depends-on): Use intprops.h.
57605
57606 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57607
57608         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57609         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57610         <blp@cs.stanford.edu>.
57611
57612 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57613
57614         * lib/arpa_inet.in.h: New file.
57615
57616         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57617         (Makefile.am): Sed in substitute header file.
57618
57619         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57620         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57621
57622         * modules/inet_ntop (configure.ac): Use
57623         gl_ARPA_INET_MODULE_INDICATOR.
57624
57625         * modules/inet_pton (configure.ac): Use
57626         gl_ARPA_INET_MODULE_INDICATOR.
57627
57628 2008-04-22  Jim Meyering  <meyering@redhat.com>
57629
57630         * modules/verify (License): Re-license as LGPLv2+.
57631
57632 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57633
57634         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57635         parameter to void* as per POSIX standard (MinGW uses char*).
57636
57637 2008-04-21  Bruno Haible  <bruno@clisp.org>
57638
57639         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57640         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57641         Define to replacements if REPLACE_ISWCNTRL is 1.
57642         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57643         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57644         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57645         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57646         what it fixes.
57647         * doc/posix-functions/iswalpha.texi: Likewise.
57648         * doc/posix-functions/iswblank.texi: Likewise.
57649         * doc/posix-functions/iswcntrl.texi: Likewise.
57650         * doc/posix-functions/iswdigit.texi: Likewise.
57651         * doc/posix-functions/iswgraph.texi: Likewise.
57652         * doc/posix-functions/iswlower.texi: Likewise.
57653         * doc/posix-functions/iswprint.texi: Likewise.
57654         * doc/posix-functions/iswpunct.texi: Likewise.
57655         * doc/posix-functions/iswspace.texi: Likewise.
57656         * doc/posix-functions/iswupper.texi: Likewise.
57657         * doc/posix-functions/iswxdigit.texi: Likewise.
57658         Reported by Alain Guibert.
57659
57660 2008-04-21  Bruno Haible  <bruno@clisp.org>
57661
57662         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57663         Patch by Alain Guibert.
57664
57665 2008-04-21  Bruno Haible  <bruno@clisp.org>
57666
57667         Fix test failures on mingw.
57668         * tests/test-xstrtol.c (print_no_progname): New function.
57669         (main): Install it in error_print_progname hook.
57670         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57671         * tests/test-xstrtoimax.sh: Likewise.
57672         * tests/test-xstrtoumax.sh: Likewise.
57673
57674 2008-04-21  Bruno Haible  <bruno@clisp.org>
57675
57676         Fix test failure on mingw.
57677         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57678
57679 2008-04-21  Bruno Haible  <bruno@clisp.org>
57680
57681         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57682         Actually assign a value.
57683
57684 2008-04-20  Bruno Haible  <bruno@clisp.org>
57685
57686         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57687         take 2.
57688         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57689         'canonicalize-lgpl' module is also used.
57690         * lib/canonicalize-lgpl.c: Undo last change.
57691         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57692
57693 2008-04-20  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57696         config.h. Provide _mkdir based fallback for mingw.
57697         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57698         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57699         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57700         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57701         rather than defining mkdir in config.h.
57702         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57703         (gl_SYS_STAT_H_DEFAULTS): New macro.
57704         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57705         HAVE_IO_H any more.
57706         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57707         HAVE_DECL_MKDIR and HAVE_IO_H.
57708
57709 2008-04-20  Bruno Haible  <bruno@clisp.org>
57710
57711         * lib/isapipe.c: Port to native Windows platforms.
57712
57713 2008-04-20  Bruno Haible  <bruno@clisp.org>
57714
57715         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57716
57717 2008-04-21  Eric Blake  <ebb9@byu.net>
57718
57719         Work around preprocessors that don't handle UINTMAX_MAX.
57720         * lib/memchr2.c (memchr2): Avoid embedded #if.
57721         Reported by Alain Guibert, fix suggested by Bruno Haible.
57722
57723 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57724
57725         * doc/posix-functions/strftime.texi (strftime): Explain better
57726         Windows incompatibility.  Suggested by Micah Cowan
57727         <micah@cowan.name>.
57728
57729 2008-04-20  Bruno Haible  <bruno@clisp.org>
57730
57731         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57732         unistr/u8-mblen.
57733
57734 2008-04-20  Bruno Haible  <bruno@clisp.org>
57735
57736         Fix test failure on platforms with non-GNU iconv.
57737         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57738         (U_TO_U8): Use it, rather than u16_to_u8.
57739         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57740         units at the end of the input string.
57741         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57742
57743 2008-04-20  Bruno Haible  <bruno@clisp.org>
57744
57745         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57746         when the resulting length is 0.
57747         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57748
57749 2008-04-20  Bruno Haible  <bruno@clisp.org>
57750
57751         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57752         works.
57753         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57754
57755 2008-04-20  Bruno Haible  <bruno@clisp.org>
57756
57757         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57758         * modules/tsearch-tests (configure.ac): Test for initstate function.
57759
57760 2008-04-20  Bruno Haible  <bruno@clisp.org>
57761
57762         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57763         for nlink_t if missing.
57764         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57765
57766 2008-04-19  Bruno Haible  <bruno@clisp.org>
57767
57768         Work around snprintf bug on Linux libc5.
57769         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57770         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57771         gl_SNPRINTF_SIZE1.
57772         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57773         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57774         that test failed.
57775         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57776         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57777         * modules/snprintf (Files): Add m4/printf.m4.
57778         * modules/vsnprintf (Files): Likewise.
57779         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57780         * doc/posix-functions/vsnprintf.texi: Likewise.
57781
57782 2008-04-19  Bruno Haible  <bruno@clisp.org>
57783
57784         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57785         from 0.0058 to less than 10^-7.
57786
57787 2008-04-19  Bruno Haible  <bruno@clisp.org>
57788
57789         Fix rounding when a precision is given.
57790         * lib/vasnprintf.c (is_borderline): New function.
57791         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57792         9...9x.
57793         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57794         %e, %g.
57795         * tests/test-vasprintf-posix.c (test_function): Likewise.
57796         * tests/test-snprintf-posix.h (test_function): Likewise.
57797         * tests/test-sprintf-posix.h (test_function): Likewise.
57798         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57799         * tests/test-printf-posix.h (test_function): Likewise.
57800         * tests/test-printf-posix.output: Update.
57801         Reported by John Darrington <john@darrington.wattle.id.au> via
57802         Ben Pfaff <blp@cs.stanford.edu>.
57803
57804 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57805
57806         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57807         Suggested by Bruno Haible <bruno@clisp.org>.
57808
57809 2008-04-17  Bruno Haible  <bruno@clisp.org>
57810
57811         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57812         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57813         implementation.
57814         Patch by Bruce Merry <bmerry@gmail.com>.
57815
57816 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57817
57818         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57819         doesn't work under Windows.
57820
57821 2008-04-16  Bruno Haible  <bruno@clisp.org>
57822
57823         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57824         New macros.
57825         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57826         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57827         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57828         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57829         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57830         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57831         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57832         macros.
57833         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57834         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57835         Northern Sotho, Uighur.
57836
57837 2008-04-16  Bruno Haible  <bruno@clisp.org>
57838
57839         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57840         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57841         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57842         Reported by Daniel Bergström <daniel@octocode.com>.
57843
57844 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57845             Bruno Haible  <bruno@clisp.org>
57846
57847         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57848         function.
57849         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57850         New functions, mostly extracted from gl_locale_name_default.
57851         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57852
57853 2008-04-16  Eric Blake  <ebb9@byu.net>
57854
57855         Adjust strtod detection to catch glibc 2.7 bug.
57856         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57857         Reported by John Gatewood Ham.
57858
57859 2008-04-16  Bruno Haible  <bruno@clisp.org>
57860
57861         Add tentative support for Linux libc5.
57862         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57863         * lib/fpurge.c (fpurge): Likewise.
57864         * lib/freadable.c (freadable): Likewise.
57865         * lib/freadahead.c (freadahead): Likewise.
57866         * lib/freading.c (freading): Likewise.
57867         * lib/freadptr.c (freadptr): Likewise.
57868         * lib/freadseek.c (freadptrinc): Likewise.
57869         * lib/fseeko.c (rpl_fseeko): Likewise.
57870         * lib/fseterr.c (fseterr): Likewise.
57871         * lib/fwritable.c (fwritable): Likewise.
57872         * lib/fwriting.c (fwriting): Likewise.
57873         Reported by Alain Guibert <alguibert+bts@free.fr>.
57874
57875 2008-04-15  Bruno Haible  <bruno@clisp.org>
57876
57877         * modules/mathl (configure.ac): Define module indicator.
57878
57879 2008-04-15  Bruno Haible  <bruno@clisp.org>
57880
57881         * lib/logl.c (logl): Remove unused variables.
57882
57883 2008-04-15  Bruno Haible  <bruno@clisp.org>
57884
57885         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57886         fails.
57887
57888 2008-04-15  Bruno Haible  <bruno@clisp.org>
57889
57890         * lib/trim.c (trim2): Fix argument of isspace() macro.
57891
57892 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57893
57894         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57895         to 0.
57896         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57897
57898 2008-04-14  Bruno Haible  <bruno@clisp.org>
57899
57900         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57901         AC_LANG_PROGRAM argument.
57902         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57903         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57904         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57905         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57906         * m4/math_h.m4 (gl_MATH_H): Likewise.
57907         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57908         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57909         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57910         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57911         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57912         * m4/regex.m4 (gl_REGEX): Likewise.
57913         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57914         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57916         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57917         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57918         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57919         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57920         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57921
57922 2008-04-14  Jim Meyering  <meyering@redhat.com>
57923
57924         test-strtod: fix typos: s/abs/fabs/
57925         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57926
57927 2008-04-13  Bruno Haible  <bruno@clisp.org>
57928
57929         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57930         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57931         module is also used and while not building the reloc-wrapper.
57932
57933 2008-04-13  Bruno Haible  <bruno@clisp.org>
57934
57935         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57936
57937 2008-04-13  Bruno Haible  <bruno@clisp.org>
57938
57939         Fix AIX compilation failure introduced on 2008-04-02.
57940         * tests/test-frexp.c (exp): Undefine before redefining.
57941         * tests/test-frexpl.c (exp): Likewise.
57942
57943 2008-04-13  Bruno Haible  <bruno@clisp.org>
57944
57945         Work around a HP-UX stdio bug.
57946         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57947         * tests/test-ftello.c (main): Likewise.
57948         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57949         * doc/posix-functions/ftello.texi: Likewise.
57950
57951 2008-04-13  Bruno Haible  <bruno@clisp.org>
57952
57953         Make test-signbit pass on HP-UX/hppa.
57954         * tests/test-signbit.c (minus_zerol): New variable.
57955         (test_signbitl): Use it.
57956
57957 2008-04-13  Bruno Haible  <bruno@clisp.org>
57958
57959         Make truncl work on OSF/1 4.0.
57960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57961         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57962         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57964         HAVE_DECL_TRUNCL.
57965         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57966         HAVE_DECL_TRUNCL.
57967         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57968
57969 2008-04-13  Bruno Haible  <bruno@clisp.org>
57970
57971         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57972
57973 2008-04-13  Bruno Haible  <bruno@clisp.org>
57974
57975         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57976         expression, so as to avoid HP-UX 11 cc compiler bug.
57977
57978 2008-04-13  Bruno Haible  <bruno@clisp.org>
57979
57980         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57981
57982 2008-04-13  Bruno Haible  <bruno@clisp.org>
57983
57984         * lib/git-merge-changelog.c: Remove empty declaration outside of
57985         functions.
57986
57987 2008-04-13  Bruno Haible  <bruno@clisp.org>
57988
57989         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57990
57991 2008-04-13  Bruno Haible  <bruno@clisp.org>
57992
57993         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57994         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57995         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57996         also if it exists but lacks definitions of the SHUT_* macros.
57997         * modules/sys_socket (Description): Update.
57998         Reported by Elbert Pol <e.pol@chello.nl>.
57999
58000 2008-04-13  Bruno Haible  <bruno@clisp.org>
58001
58002         * lib/localcharset.c (OS2): Don't redefine if already defined.
58003         Reported by Elbert Pol <e.pol@chello.nl>.
58004
58005 2008-04-13  Bruno Haible  <bruno@clisp.org>
58006
58007         * lib/binary-io.h [__EMX__]: Include <io.h>.
58008         Reported by Elbert Pol <e.pol@chello.nl>.
58009
58010 2008-04-12  Bruno Haible  <bruno@clisp.org>
58011
58012         * lib/fpucw.h: Enable the definitions also for x86_64.
58013         Needed for NetBSD/x86_64.
58014         Reported by Thomas Klausner <tk@giga.or.at>.
58015
58016 2008-04-12  Bruno Haible  <bruno@clisp.org>
58017
58018         * tests/test-strtod.c: Include isnand.h.
58019         (main): Use isnand instead of isnan.
58020         Reported by Jim Meyering.
58021
58022 2008-04-12  Bruno Haible  <bruno@clisp.org>
58023
58024         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
58025         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58026
58027 2008-04-12  Jim Meyering  <meyering@redhat.com>
58028
58029         * m4/math_h.m4 (gl_MATH_H): Fix typos.
58030
58031 2008-04-12  Bruno Haible  <bruno@clisp.org>
58032
58033         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
58034         Reported by Elbert Pol <e.pol@chello.nl>.
58035
58036 2008-04-12  Eric Blake  <ebb9@byu.net>
58037
58038         Work around Solaris 10 math.h bug.
58039         * m4/math_h.m4 (gl_MATH_H): Check for bug.
58040         (gl_MATH_H_DEFAULTS): Set up default.
58041         * modules/math (Makefile.am): Replace new indicators.
58042         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
58043         * tests/test-math.c (main): Test this.
58044         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
58045         * doc/posix-headers/math.texi (math.h): Mention bug.
58046         Reported by Nelson H. F. Beebe and Jim Meyering.
58047
58048 2008-04-11  Bruno Haible  <bruno@clisp.org>
58049
58050         Adapt to future versions of Apple GCC.
58051         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
58052         Reported by Peter O'Gorman <peter@pogma.com>.
58053
58054 2008-04-11  Bruno Haible  <bruno@clisp.org>
58055
58056         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
58057
58058 2008-04-11  Bruno Haible  <bruno@clisp.org>
58059
58060         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
58061
58062         * modules/getaddrinfo-tests (Makefile.am): Define
58063         test_getaddrinfo_LDADD.
58064
58065 2008-04-11  Bruno Haible  <bruno@clisp.org>
58066
58067         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
58068         (init): Fix syntax error.
58069         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
58070         is declared.
58071
58072 2008-04-11  Bruno Haible  <bruno@clisp.org>
58073
58074         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
58075         * modules/glob (Depends-on): Add stdbool.
58076
58077 2008-04-11  Bruno Haible  <bruno@clisp.org>
58078
58079         * lib/trim.c: Include <string.h>.
58080
58081 2008-04-11  Eric Blake  <ebb9@byu.net>
58082
58083         Avoid compile failure on OS/2.
58084         * lib/regex_internal.h (internal_function): Disable optimization
58085         on OS/2 (__EMX__), where it caused compiler error.
58086         Reported by Elbert Pol.
58087
58088 2008-04-11  Bruno Haible  <bruno@clisp.org>
58089
58090         Flush the standard error stream before aborting. Needed on mingw.
58091         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
58092         * tests/test-array_list.c (ASSERT): Likewise.
58093         * tests/test-array_oset.c (ASSERT): Likewise.
58094         * tests/test-avltree_list.c (ASSERT): Likewise.
58095         * tests/test-avltree_oset.c (ASSERT): Likewise.
58096         * tests/test-avltreehash_list.c (ASSERT): Likewise.
58097         * tests/test-binary-io.c (ASSERT): Likewise.
58098         * tests/test-byteswap.c (ASSERT): Likewise.
58099         * tests/test-c-ctype.c (ASSERT): Likewise.
58100         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
58101         * tests/test-c-strcasestr.c (ASSERT): Likewise.
58102         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
58103         * tests/test-c-strstr.c (ASSERT): Likewise.
58104         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
58105         * tests/test-canonicalize.c (ASSERT): Likewise.
58106         * tests/test-carray_list.c (ASSERT): Likewise.
58107         * tests/test-ceilf1.c (ASSERT): Likewise.
58108         * tests/test-ceilf2.c (ASSERT): Likewise.
58109         * tests/test-ceill.c (ASSERT): Likewise.
58110         * tests/test-count-one-bits.c (ASSERT): Likewise.
58111         * tests/test-fbufmode.c (ASSERT): Likewise.
58112         * tests/test-fflush2.c (ASSERT): Likewise.
58113         * tests/test-floorf1.c (ASSERT): Likewise.
58114         * tests/test-floorf2.c (ASSERT): Likewise.
58115         * tests/test-floorl.c (ASSERT): Likewise.
58116         * tests/test-fopen.c (ASSERT): Likewise.
58117         * tests/test-fpending.c (ASSERT): Likewise.
58118         * tests/test-fprintf-posix.c (ASSERT): Likewise.
58119         * tests/test-fpurge.c (ASSERT): Likewise.
58120         * tests/test-freadable.c (ASSERT): Likewise.
58121         * tests/test-freadahead.c (ASSERT): Likewise.
58122         * tests/test-freading.c (ASSERT): Likewise.
58123         * tests/test-freadptr.c (ASSERT): Likewise.
58124         * tests/test-freadptr2.c (ASSERT): Likewise.
58125         * tests/test-freadseek.c (ASSERT): Likewise.
58126         * tests/test-freopen.c (ASSERT): Likewise.
58127         * tests/test-frexp.c (ASSERT): Likewise.
58128         * tests/test-frexpl.c (ASSERT): Likewise.
58129         * tests/test-fseek.c (ASSERT): Likewise.
58130         * tests/test-fseeko.c (ASSERT): Likewise.
58131         * tests/test-fstrcmp.c (ASSERT): Likewise.
58132         * tests/test-ftell.c (ASSERT): Likewise.
58133         * tests/test-ftello.c (ASSERT): Likewise.
58134         * tests/test-func.c (ASSERT): Likewise.
58135         * tests/test-fwritable.c (ASSERT): Likewise.
58136         * tests/test-fwriting.c (ASSERT): Likewise.
58137         * tests/test-getdelim.c (ASSERT): Likewise.
58138         * tests/test-getline.c (ASSERT): Likewise.
58139         * tests/test-i-ring.c (ASSERT): Likewise.
58140         * tests/test-iconv-utf.c (ASSERT): Likewise.
58141         * tests/test-iconv.c (ASSERT): Likewise.
58142         * tests/test-isfinite.c (ASSERT): Likewise.
58143         * tests/test-isnand.c (ASSERT): Likewise.
58144         * tests/test-isnanf.c (ASSERT): Likewise.
58145         * tests/test-isnanl.h (ASSERT): Likewise.
58146         * tests/test-ldexpl.c (ASSERT): Likewise.
58147         * tests/test-linked_list.c (ASSERT): Likewise.
58148         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58149         * tests/test-localename.c (ASSERT): Likewise.
58150         * tests/test-lseek.c (ASSERT): Likewise.
58151         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58152         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58153         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58154         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58155         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58156         * tests/test-mbschr.c (ASSERT): Likewise.
58157         * tests/test-mbscspn.c (ASSERT): Likewise.
58158         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58159         * tests/test-mbspbrk.c (ASSERT): Likewise.
58160         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58161         * tests/test-mbsrchr.c (ASSERT): Likewise.
58162         * tests/test-mbsspn.c (ASSERT): Likewise.
58163         * tests/test-mbsstr1.c (ASSERT): Likewise.
58164         * tests/test-mbsstr2.c (ASSERT): Likewise.
58165         * tests/test-mbsstr3.c (ASSERT): Likewise.
58166         * tests/test-memchr2.c (ASSERT): Likewise.
58167         * tests/test-memmem.c (ASSERT): Likewise.
58168         * tests/test-open.c (ASSERT): Likewise.
58169         * tests/test-printf-frexp.c (ASSERT): Likewise.
58170         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58171         * tests/test-printf-posix.c (ASSERT): Likewise.
58172         * tests/test-quotearg.c (ASSERT): Likewise.
58173         * tests/test-rbtree_list.c (ASSERT): Likewise.
58174         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58175         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58176         * tests/test-round1.c (ASSERT): Likewise.
58177         * tests/test-roundf1.c (ASSERT): Likewise.
58178         * tests/test-roundl.c (ASSERT): Likewise.
58179         * tests/test-signbit.c (ASSERT): Likewise.
58180         * tests/test-sleep.c (ASSERT): Likewise.
58181         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58182         * tests/test-snprintf.c (ASSERT): Likewise.
58183         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58184         * tests/test-stat-time.c (ASSERT): Likewise.
58185         * tests/test-strcasestr.c (ASSERT): Likewise.
58186         * tests/test-strerror.c (ASSERT): Likewise.
58187         * tests/test-striconv.c (ASSERT): Likewise.
58188         * tests/test-striconveh.c (ASSERT): Likewise.
58189         * tests/test-striconveha.c (ASSERT): Likewise.
58190         * tests/test-strsignal.c (ASSERT): Likewise.
58191         * tests/test-strstr.c (ASSERT): Likewise.
58192         * tests/test-strtod.c (ASSERT): Likewise.
58193         * tests/test-trunc1.c (ASSERT): Likewise.
58194         * tests/test-trunc2.c (ASSERT): Likewise.
58195         * tests/test-truncf1.c (ASSERT): Likewise.
58196         * tests/test-truncf2.c (ASSERT): Likewise.
58197         * tests/test-truncl.c (ASSERT): Likewise.
58198         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58199         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58200         * tests/test-vasnprintf.c (ASSERT): Likewise.
58201         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58202         * tests/test-vasprintf.c (ASSERT): Likewise.
58203         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58204         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58205         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58206         * tests/test-vsnprintf.c (ASSERT): Likewise.
58207         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58208         * tests/test-wcwidth.c (ASSERT): Likewise.
58209         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58210         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58211         * tests/test-xvasprintf.c (ASSERT): Likewise.
58212         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58213         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58214         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58215         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58216         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58217         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58218         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58219         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58220         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58221         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58222         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58223         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58224         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58225         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58226         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58227         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58228         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58229         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58230         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58231         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58232         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58233         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58234         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58235         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58236         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58237         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58238         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58239         * tests/unictype/test-combining.c (ASSERT): Likewise.
58240         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58241         * tests/unictype/test-digit.c (ASSERT): Likewise.
58242         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58243         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58244         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58245         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58246         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58247         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58248         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58249         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58250         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58251         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58252         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58253         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58254         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58255         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58256         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58257         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58258         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58259         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58260         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58261         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58262         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58263         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58264         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58265         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58266         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58267         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58268         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58269         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58270         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58271         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58272         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58273         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58274         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58275         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58276         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58277         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58278         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58279         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58280         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58281         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58282         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58283         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58284         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58285         Reported by Eric Blake.
58286
58287 2008-04-11  Bruno Haible  <bruno@clisp.org>
58288
58289         * lib/wchar.in.h: Tweak comment.
58290
58291 2008-04-11  Bruno Haible  <bruno@clisp.org>
58292
58293         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58294         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58295         gl_COMMON.
58296         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58297
58298 2008-04-11  Bruno Haible  <bruno@clisp.org>
58299
58300         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58301
58302 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58303
58304         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58305         of attempting to use non-existing /dev/*random.  Based on patch
58306         from Adam Strzelecki <ono@java.pl> in
58307         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58308
58309 2008-04-08  Bruno Haible  <bruno@clisp.org>
58310
58311         Add tentative support for emx+gcc.
58312         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58313         * lib/fpurge.c (fpurge): Likewise.
58314         * lib/freadable.c (freadable): Likewise.
58315         * lib/freadahead.c (freadahead): Likewise.
58316         * lib/freading.c (freading): Likewise.
58317         * lib/freadptr.c (freadptr): Likewise.
58318         * lib/freadseek.c (freadptrinc): Likewise.
58319         * lib/fseeko.c (rpl_fseeko): Likewise.
58320         * lib/fseterr.c (fseterr): Likewise.
58321         * lib/fwritable.c (fwritable): Likewise.
58322         * lib/fwriting.c (fwriting): Likewise.
58323         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58324
58325 2008-04-09  Eric Blake  <ebb9@byu.net>
58326
58327         Avoid some autoconf warnings.
58328         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58329         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58330         * m4/afs.m4 (gl_AFS): Likewise.
58331         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58332         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58333         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58334         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58335         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58336         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58337         (AC_CHECK_DECLS_ONCE): Likewise.
58338         Rename file...
58339         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58340         gnulib-tool requires autoconf 2.59 or better.
58341         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58342
58343 2008-04-08  Eric Blake  <ebb9@byu.net>
58344
58345         Use 'git describe --match' if present (added in git 1.5.5).
58346         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58347         if possible.
58348
58349 2008-04-08  Bruno Haible  <bruno@clisp.org>
58350
58351         Add tentative support for OpenServer.
58352         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58353         _ptr, _cnt.
58354         * lib/fpurge.c (fpurge): Likewise.
58355         * lib/freadable.c (freadable): Likewise.
58356         * lib/freadahead.c (freadahead): Likewise.
58357         * lib/freading.c (freading): Likewise.
58358         * lib/freadptr.c (freadptr): Likewise.
58359         * lib/freadseek.c (freadptrinc): Likewise.
58360         * lib/fseeko.c (rpl_fseeko): Likewise.
58361         * lib/fseterr.c (fseterr): Likewise.
58362         * lib/fwritable.c (fwritable): Likewise.
58363         * lib/fwriting.c (fwriting): Likewise.
58364         Reported by Roger Cornelius <rac@tenzing.org> and
58365         Brian K. White <brian@aljex.com>.
58366
58367 2008-04-06  Jim Meyering  <meyering@redhat.com>
58368
58369         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58370
58371 2008-04-06  Bruno Haible  <bruno@clisp.org>
58372
58373         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58374         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58375         * tests/test-printf-posix.sh: Likewise.
58376         * tests/test-vfprintf-posix.sh: Likewise.
58377         * tests/test-vprintf-posix.sh: Likewise.
58378         * tests/test-xprintf-posix.sh: Likewise.
58379
58380 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58381
58382         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58383         hide error from 'ls', needed on OS/2.
58384         Report by Elbert Pol <elbert.pol@gmail.com>.
58385
58386 2008-04-04  Eric Blake  <ebb9@byu.net>
58387
58388         Make test-fseeko.c failures meaningful.
58389         * tests/test-fseeko.c: Print line number on failure.
58390         * tests/test-fseek.c: Likewise.
58391         Reported by Nelson H. F. Beebe.
58392
58393         Improve strtod bug detection check.
58394         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58395         required for Solaris 10.
58396         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58397
58398 2008-04-04  Bruno Haible  <bruno@clisp.org>
58399
58400         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58401         by m4/setenv.m4.
58402
58403 2008-04-03  Eric Blake  <ebb9@byu.net>
58404
58405         Ensure sane .version contents.
58406         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58407         version string.
58408         * build-aux/git-version-gen: Improve documentation.
58409
58410         Make GNU make output nicer.
58411         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58412         MAKECMDGOALS to enforce message for all command line targets.  Set
58413         srcdir for use in maint.mk.
58414
58415         Another maintainer tweak.
58416         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58417         a target that regenerates version.
58418
58419 2008-04-03  Jim Meyering  <meyering@redhat.com>
58420
58421         vc-list-files: don't cause coreutils "make po-check" failure
58422         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58423
58424 2008-04-03  Eric Blake  <ebb9@byu.net>
58425
58426         Allow VPATH usage of vc-list-files.
58427         * build-aux/vc-list-files (scriptversion): Add timestamp.
58428         (options): Add --help, --version, -C.
58429         (CVS): Support installed cvsu.
58430
58431 2008-04-02  Bruno Haible  <bruno@clisp.org>
58432
58433         Avoid some "statement with no effect" warnings from gcc.
58434         * tests/test-wctype.c (main): Explicitly ignore unused values.
58435         Reported by Jim Meyering.
58436
58437 2008-04-02  Jim Meyering  <meyering@redhat.com>
58438
58439         Avoid some warnings from "gcc -Wshadow".
58440         * tests/test-frexp.c (exp): Define to a different identifier.
58441         * tests/test-frexpl.c (exp): Likewise.
58442
58443 2008-04-03  Jim Meyering  <meyering@redhat.com>
58444
58445         bootstrap: remove dangling *.[ch] symlinks from lib
58446         * build-aux/bootstrap [dangling symlink removal]: Move find's
58447         -depth option to precede all others, to avoid a warning.
58448         Remove *.[ch] files too, and from "$source_base" (usually lib/).
58449
58450 2008-04-02  Bruno Haible  <bruno@clisp.org>
58451
58452         Avoid some warnings from "gcc -Wshadow".
58453         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
58454         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
58455         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
58456         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
58457         Reported by Jim Meyering.
58458
58459 2008-04-01  Bruno Haible  <bruno@clisp.org>
58460
58461         Fix test to work on IRIX 6.5 with cc.
58462         * tests/test-math.c (numeric_equal): New function.
58463         (main): Use it.
58464
58465 2008-04-01  Bruno Haible  <bruno@clisp.org>
58466
58467         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58468
58469 2008-04-01  Bruno Haible  <bruno@clisp.org>
58470
58471         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58472         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58473         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58474         (Depends-on): Remove math.
58475
58476         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58477         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58478         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58479         (Depends-on): Remove math.
58480
58481         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58482         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58483         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58484         (Depends-on): Remove math.
58485         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58486         (Depends-on): Remove math.
58487
58488         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58489         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58490         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58491         (Depends-on): Remove math.
58492         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58493         (Depends-on): Remove math.
58494
58495         * tests/test-round1.c: Include nan.h.
58496         (main): Use NaNd instead of NAN.
58497         * modules/round-tests (Files): Add tests/nan.h.
58498
58499         * tests/test-trunc1.c: Include nan.h.
58500         (main): Use NaNd instead of NAN.
58501         * modules/trunc-tests (Files): Add tests/nan.h.
58502
58503         * tests/test-roundf1.c: Include nan.h.
58504         (main): Use NaNf instead of NAN.
58505         * modules/roundf-tests (Files): Add tests/nan.h.
58506
58507         * tests/test-truncf1.c: Include nan.h.
58508         (main): Use NaNf instead of NAN.
58509         * modules/truncf-tests (Files): Add tests/nan.h.
58510
58511         * tests/test-ceilf1.c: Include nan.h.
58512         (main): Use NaNf instead of NAN.
58513         * modules/ceilf-tests (Files): Add tests/nan.h.
58514
58515         * tests/test-floorf1.c: Include nan.h.
58516         (main): Use NaNf instead of NAN.
58517         * modules/floorf-tests (Files): Add tests/nan.h.
58518
58519         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58520         (main): Use NaNf instead of NAN.
58521         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58522
58523         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58524         (main): Use NaNd instead of NAN.
58525         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58526
58527         * tests/test-frexp.c: Include nan.h.
58528         (main): Use NaNd instead of NAN.
58529         * modules/frexp-tests (Files): Add tests/nan.h.
58530
58531         * lib/isnan.c: Don't include <math.h>.
58532         (FUNC): Don't use NAN macro.
58533         * modules/isnand-nolibm (Depends-on): Remove math.
58534         * modules/isnanf-nolibm (Depends-on): Remove math.
58535         * modules/isnanl (Depends-on): Remove math.
58536         * modules/isnanl-nolibm (Depends-on): Remove math.
58537
58538         * tests/nan.h: New file.
58539
58540 2008-04-01  Eric Blake  <ebb9@byu.net>
58541
58542         Fix typos.
58543         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58544         values to be the right type.
58545
58546         For now, cater to gnulib strtod inaccuracies.
58547         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58548         fractional results.  While not as nice from a QoI perspective, it
58549         is a quicker patch than correctly implementing decimal to binary
58550         rounding.
58551
58552 2008-03-31  Eric Blake  <ebb9@byu.net>
58553
58554         Guarantee a definition of NAN.
58555         * lib/math.in.h (NAN): Define if missing.
58556         * tests/test-math.c (main): Test it.
58557         * doc/posix-headers/math.texi (math.h): Document this.
58558         * lib/isnan.c (rpl_isnand): Use it.
58559         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58560         * tests/test-floorf1.c (NaN): Likewise.
58561         * tests/test-frexp.c (NaN): Likewise.
58562         * tests/test-isnand.c (NaN): Likewise.
58563         * tests/test-isnanf.c (NaN): Likewise.
58564         * tests/test-round1.c (NaN): Likewise.
58565         * tests/test-roundf1.c (NaN): Likewise.
58566         * tests/test-snprintf-posix.h (NaN): Likewise.
58567         * tests/test-sprintf-posix.h (NaN): Likewise.
58568         * tests/test-trunc1.c (NaN): Likewise.
58569         * tests/test-truncf1.c (NaN): Likewise.
58570         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58571         * tests/test-vasprintf-posix.c (NaN): Likewise.
58572         * modules/isnand-nolibm (Depends-on): Add math.
58573         * modules/isnanf-nolibm (Depends-on): Likewise.
58574         * modules/isnanl (Depends-on): Likewise.
58575         * modules/isnanl-nolibm (Depends-on): Likewise.
58576         * modules/snprintf-posix-tests (Depends-on): Likewise.
58577         * modules/sprintf-posix-tests (Depends-on): Likewise.
58578         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58579         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58580         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58581         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58582
58583 2008-03-31  Bruno Haible  <bruno@clisp.org>
58584
58585         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58586         * doc/posix-functions/strtod.texi: Likewise.
58587
58588 2008-03-31  Bruno Haible  <bruno@clisp.org>
58589
58590         * tests/test-strtod.c (main): Don't use C99 syntax.
58591
58592 2008-03-31  Bruno Haible  <bruno@clisp.org>
58593
58594         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58595         Reported by Eric Blake.
58596
58597 2008-03-31  Jim Meyering  <meyering@redhat.com>
58598
58599         Don't compare actual signbit return values.
58600         * tests/test-strtod.c (main): Rather, compare only their
58601         zero/non-zero nature.
58602
58603 2008-03-31  Eric Blake  <ebb9@byu.net>
58604
58605         More strtod documentation.
58606         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58607         failures as distinct bugs.
58608
58609 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58610
58611         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58612         Problem reported by Erik Benada in
58613         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58614
58615 2008-03-30  Bruno Haible  <bruno@clisp.org>
58616
58617         * tests/test-strtod.c: Add comments about which assertion fails on which
58618         platform.
58619         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58620
58621 2008-03-30  Eric Blake  <ebb9@byu.net>
58622
58623         Test signbit behavior on zeros.
58624         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58625         (test_signbitd, test_signbitl): Likewise.
58626
58627         More strtod touchups.
58628         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58629         sign of negative underflow, for now.  Use .5, not .1.
58630         * doc/posix-functions/strtod.texi (strtod): Mention these
58631         limitations.
58632         Reported by Jim Meyering.
58633
58634 2008-03-30  Bruno Haible  <bruno@clisp.org>
58635
58636         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58637         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58638
58639 2008-03-30  Bruno Haible  <bruno@clisp.org>
58640
58641         Avoid failure when attempting to return empty iconv results on some
58642         platforms.
58643         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58644         allocation, don't report ENOMEM when the resulting string is empty.
58645
58646 2008-03-30  Bruno Haible  <bruno@clisp.org>
58647
58648         Fix buffer overrun.
58649         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58650         Don't consider the width for tmp_length. Check count against tmp_length
58651         before doing the padding. Ensure enough allocation during padding.
58652
58653 2008-03-30  Eric Blake  <ebb9@byu.net>
58654
58655         strtod touchups.
58656         * lib/strtod.c (strtod): Avoid compiler warnings.
58657         Reported by Jim Meyering.
58658
58659 2008-03-30  Bruno Haible  <bruno@clisp.org>
58660
58661         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58662         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58663         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58664         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58665         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58666         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58667         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58668         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58669
58670         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58671         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58672         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58673         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58674         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58675         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58676         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58677         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58678
58679         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58680         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58681         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58682         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58683         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58684         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58685         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58686         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58687
58688         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58689         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58690
58691         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58692         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58693
58694         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58695         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58696
58697         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58698         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58699         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58700
58701         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58702         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58703         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58704
58705         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58706         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58707         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58708
58709         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58710         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58711         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58712
58713         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58714         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58715         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58716         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58717         (Depends-on): Add EOVERFLOW.
58718         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58719         (Depends-on): Add EOVERFLOW.
58720         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58721         (Depends-on): Add EOVERFLOW.
58722         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58723         (Depends-on): Add EOVERFLOW.
58724         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58725         (Depends-on): Add EOVERFLOW.
58726         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58727         (Depends-on): Add EOVERFLOW.
58728         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58729         (Depends-on): Add EOVERFLOW.
58730         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58731         (Depends-on): Add EOVERFLOW.
58732
58733         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58734         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58735         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58736
58737         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58738         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58739         * modules/snprintf (Depends-on): Add EOVERFLOW.
58740
58741         * lib/poll.c (EOVERFLOW): Remove fallback.
58742         * modules/poll (Depends-on): Add EOVERFLOW.
58743
58744         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58745         * modules/getugroups (Depends-on): Add EOVERFLOW.
58746
58747         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58748         * modules/getdelim (Depends-on): Add EOVERFLOW.
58749
58750         * lib/ftell.c (EOVERFLOW): Remove fallback.
58751         * modules/ftell (Depends-on): Add EOVERFLOW.
58752
58753         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58754         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58755         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58756
58757         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58758
58759         * modules/EOVERFLOW-tests: New file.
58760         * tests/test-EOVERFLOW.c: New file.
58761
58762         * modules/EOVERFLOW: New file.
58763         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58764
58765 2008-03-30  Bruno Haible  <bruno@clisp.org>
58766
58767         Fix bug introduced on 2007-06-10.
58768         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58769         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58770
58771 2008-03-30  Bruno Haible  <bruno@clisp.org>
58772
58773         Improve freadseek's efficiency after ungetc.
58774         * lib/freadseek.c: Include freadahead.h.
58775         (freadptrinc): New function, extracted from freadseek.
58776         (freadseek): Use it in a loop. Use freadahead to determine the number
58777         of loop iterations.
58778         * modules/freadseek (Depends-on): Add freadahead.
58779         (configure.ac): Require AC_C_INLINE.
58780
58781 2008-03-30  Bruno Haible  <bruno@clisp.org>
58782
58783         * lib/freadseek.c (freadseek): Don't ignore the return value of
58784         freadptr.
58785
58786 2008-03-29  Eric Blake  <ebb9@byu.net>
58787
58788         Add hex float support.
58789         * modules/strtod (Depends-on): Add c-ctype.
58790         (Link): Mention POW_LIB.
58791         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58792         whitespace between 'e' and exponent.
58793         * tests/test-strtod.c (main): Enable hex float tests.
58794         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58795         now provides.
58796
58797         Document various strtod bugs, with some fixes.
58798         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58799         "-0x", "inf", "nan", and hex constants.
58800         * doc/posix-functions/atof.texi (atof): Likewise.
58801         * modules/stdlib (Makefile.am): Support strtod.
58802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58803         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58804         detect additional strtod bugs.
58805         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58806         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58807         bool where appropriate.  Parse 'inf' and 'nan'.
58808         * tests/test-strtod.c: New file.
58809         * modules/strtod (Depends-on): Add stdbool, stdlib.
58810         (configure.ac): Turn on module indicator.
58811         * modules/strtod-tests: New module.
58812
58813 2008-03-29  Eric Blake  <ebb9@byu.net>
58814
58815         Fix ftell on mingw.
58816         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58817         * modules/ftell-tests (Depends-on): Add binary-io.
58818         * modules/ftello-tests (Depends-on): Likewise.
58819         * tests/test-ftell.c (main): Enhance test to cover behavior after
58820         ungetc.  Enforce binary mode.
58821         * tests/test-ftello.c (main): Likewise.
58822
58823         Pass test-freadseek on cygwin.
58824         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58825         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58826         ungetc buffer.
58827
58828         * tests/test-fflush2.c (main): Fix typo.
58829
58830 2008-03-29  Bruno Haible  <bruno@clisp.org>
58831
58832         * tests/test-fflush2.c (main): Temporarily disable the contents of
58833         this test.
58834         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58835         Reported by Eric Blake.
58836
58837 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58838
58839         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58840         (GC_SHA224_DIGEST_SIZE): Add.
58841
58842         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58843         (gc_hash_digest_length): Likewise.
58844         (gc_hash_buffer): Likewise.
58845
58846 2008-03-25  Bruno Haible  <bruno@clisp.org>
58847
58848         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58849         detail which gettext release to use.
58850         Reported by Simon Josefsson.
58851
58852 2008-03-26  Jim Meyering  <meyering@redhat.com>
58853
58854         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58855         * modules/gnumakefile (clean-GNUmakefile): Also, use
58856         test ... && ... || : syntax rather than if-then ... fi.
58857
58858         gnumakefile: Don't double-quote-expand $(VPATH) value.
58859         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58860
58861 2008-03-24  Eric Blake  <ebb9@byu.net>
58862
58863         Alter GNUmakefile to install into top directory.
58864         * modules/maintainer-makefile: Split, and add dependency...
58865         * modules/gnumakefile: to this new module.
58866         * build-aux/GNUmakefile: Move...
58867         * top/GNUmakefile: ...here.
58868         * build-aux/maint.mk: Move...
58869         * top/maint.mk: ...here.
58870         * MODULES.html.sh (Support for maintaining...): Document new
58871         module.
58872
58873 2008-03-23  Bruno Haible  <bruno@clisp.org>
58874
58875         * gnulib-tool: New options --vc-files, --no-vc-files.
58876         (func_usage): Document them.
58877         (vc_files): New variable.
58878         (func_import): Consider vc_files.
58879         (func_create_testdir): Set vc_files to empty.
58880         Suggested by Jim Meyering and Karl Berry.
58881
58882 2008-03-23  Bruno Haible  <bruno@clisp.org>
58883
58884         Fix regex compilation error on HP-UX 11.
58885         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58886         * modules/regex (Files): Add m4/mbstate_t.m4.
58887         Reported by Ton Voon <ton.voon@altinity.com>.
58888
58889 2008-03-23  Bruno Haible  <bruno@clisp.org>
58890
58891         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58892
58893 2008-03-23  Eric Blake  <ebb9@byu.net>
58894             Bruno Haible  <bruno@clisp.org>
58895
58896         Install files from top/ in the destination directory.
58897         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58898         augmentation also for the files from top/.
58899         (func_import, func_create_testdir): Rewrite file names:
58900         top/filename -> filename.
58901
58902 2008-03-23  Bruno Haible  <bruno@clisp.org>
58903
58904         Tweak "gnulib --version" output.
58905         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58906
58907 2008-03-23  Bruno Haible  <bruno@clisp.org>
58908
58909         Tweak "gnulib --version" output.
58910         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58911         rather than contents of ChangeLog, when possible.
58912
58913 2008-03-21  Eric Blake  <ebb9@byu.net>
58914
58915         More --version tweaks.
58916         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58917         date of last ChangeLog entry.
58918
58919 2008-03-21  Jim Meyering  <meyering@redhat.com>
58920
58921         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58922
58923 2008-03-20  Eric Blake  <ebb9@byu.net>
58924
58925         VPATH fix.
58926         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58927
58928 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58929
58930         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58931         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58932
58933 2008-03-20  Eric Blake  <ebb9@byu.net>
58934
58935         Sync GNUmakefile with coreutils.
58936         * build-aux/GNUmakefile (have-Makefile): Rename...
58937         (_have-Makefile): ...to this, for namespace consideration.
58938         (GNUmakefile.cfg): Include, if present.
58939         (_autoreconf): Define a default.
58940         (_is-dist-target): New rule for rebuilds to pick up intra-release
58941         version.
58942         (maint-cfg.mk): Rename...
58943         (cfg.mk): ...to this.
58944
58945 2008-03-18  Jim Meyering  <meyering@redhat.com>
58946
58947         New script and module: mktempd
58948         * MODULES.html.sh (maint+release support): Add mktempd.
58949         * build-aux/mktempd: New file.
58950         * modules/mktempd: New file.
58951
58952 2008-03-15  Jim Meyering  <meyering@redhat.com>
58953
58954         Undo last change.
58955         * lib/sha1.c, lib/md5.c: 63 != ~63.
58956         Reported by Andreas Schwab.
58957
58958         sha1.c, md5.c: Hoist a redundant expression.
58959         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58960         "ctx->buflen" only once, before calling *_process_block.
58961         * lib/md5.c (md5_process_bytes): Likewise.
58962
58963 2008-03-14  Eric Blake  <ebb9@byu.net>
58964
58965         Bump copyright year in files generated by gnulib-tool.
58966         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58967         gnulib-tool, rather than hard-coding it.
58968
58969         Fix 'gnulib-tool --version' output to work with git.
58970         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58971         (startup): ...here.
58972         (func_version): Use it to invoke git-version-gen, rather than
58973         relying on CVS keyword expansion.  Modernize wording.
58974         (cvsdatestamp, last_checkin_date, version): Kill unused
58975         variables.
58976
58977 2008-03-12  Jim Meyering  <meyering@redhat.com>
58978
58979         Recognize optional cast of the argument to free.
58980         * build-aux/useless-if-before-free: Update regexps.
58981
58982         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58983
58984 2008-03-11  Bruno Haible  <bruno@clisp.org>
58985
58986         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58987         by a single package.
58988         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58989         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58990         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58991         Reported by Sam Steingold <sds@gnu.org>.
58992
58993 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58994
58995         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58996         repositories.
58997
58998 2008-03-11  Bruno Haible  <bruno@clisp.org>
58999
59000         Avoid conflicts between local macro definitions.
59001         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
59002         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
59003
59004 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
59005             Bruno Haible  <bruno@clisp.org>
59006
59007         Make va_copy work with some version of xlc on AIX 5.1.
59008         * lib/stdarg.in.h: New file.
59009         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
59010         On AIX, use a <stdarg.h> file substitute.
59011         * modules/stdarg (Files): Add lib/stdarg.in.h.
59012         (Depends-on): Add include_next.
59013         (Makefile.am): Build a stdarg.h substitute if requested.
59014         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
59015
59016 2008-03-10  Bruno Haible  <bruno@clisp.org>
59017
59018         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
59019         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
59020         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59021
59022 2008-03-10  Bruno Haible  <bruno@clisp.org>
59023
59024         * modules/stdlib (Depends-on): Add include_next, remove
59025         absolute-header.
59026
59027 2008-03-09  Bruno Haible  <bruno@clisp.org>
59028
59029         * lib/freadahead.h (freadahead): Document more precisely.
59030         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
59031         the sum of both buffer sizes.
59032         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
59033         * NEWS: Document the change.
59034
59035 2008-03-09  Bruno Haible  <bruno@clisp.org>
59036
59037         Extend freadptr to return also the buffer size.
59038         * lib/freadptr.h (freadptr): Add sizep argument.
59039         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
59040         (freadptr): Add sizep argument. Determine buffer size like freadahead
59041         does.
59042         * tests/test-freadptr.c: Don't include freadahead.h.
59043         (main): Adapt for new calling convention of freadptr.
59044         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
59045         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
59046         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
59047         tests/test-freadptr2.sh.
59048         (Depends): Remove freadahead.
59049         (TESTS): Add test-freadptr2.sh.
59050         (check_PROGRAMS): Add test-freadptr2.
59051
59052 2008-03-09  Bruno Haible  <bruno@clisp.org>
59053
59054         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
59055         Report and solution by Simon Josefsson.
59056
59057 2008-03-06  Bruno Haible  <bruno@clisp.org>
59058
59059         Make fflush after ungetc work on BSD platforms.
59060         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
59061         * tests/test-fflush2.c: New file.
59062         * tests/test-fflush2.sh: New file.
59063         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
59064         tests/test-fflush2.c.
59065         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
59066         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
59067
59068 2008-03-06  Eric Blake  <ebb9@byu.net>
59069
59070         Likewise for ftello.
59071         * modules/ftello (Dependencies): Add extensions.
59072         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
59073
59074 2008-03-06  Bruno Haible  <bruno@clisp.org>
59075
59076         * modules/fseeko (Dependencies): Add extensions.
59077         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
59078         Needed on glibc systems.
59079
59080 2008-03-06  Bruno Haible  <bruno@clisp.org>
59081
59082         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
59083         email address.
59084         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59085
59086 2008-03-06  Bruno Haible  <bruno@clisp.org>
59087
59088         * users.txt: Add libgnupdf.
59089
59090 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59091
59092         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
59093         (Header File Substitutes, Function Substitutes,
59094         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
59095         (Build robot for gnulib): Fix typo.
59096
59097 2008-03-06  Bruno Haible  <bruno@clisp.org>
59098
59099         * doc/gnulib-tool.texi (VCS Issues): Small updates.
59100         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59101
59102 2008-03-06  Bruno Haible  <bruno@clisp.org>
59103
59104         * doc/func.texi: New file, extracted from doc/gnulib.texi.
59105         * doc/gnulib.texi: Include it.
59106
59107 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59108
59109         * modules/func (License): Change license to unlimited; there was
59110         no LGPL parts in the module anyway.
59111
59112 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59113
59114         * modules/__func__: Renamed to modules/func.
59115         * modules/__func__-tests: Renamed to modules/func-tests.
59116         * tests/test-__func__.c: Renamed to tests/test-func.c.
59117         * m4/__func__.m4: Renamed to m4/func.m4.
59118         * doc/gnulib.texi (__func__): Section renamed to func.
59119         Suggested by Eric Blake <ebb9@byu.net>.
59120
59121 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59122
59123         * doc/gnulib.texi (__func__): Use C99 terminology when talking
59124         about __func__.  Make example self-contained.  Suggested by Eric
59125         Blake <ebb9@byu.net>.
59126
59127         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59128         Suggested by Eric Blake <ebb9@byu.net>.
59129
59130 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59131
59132         * modules/__func__: New file.
59133         * modules/__func__-tests: New file.
59134         * tests/test-__func__.c: New file.
59135         * m4/__func__.m4: New file.
59136         * doc/gnulib.texi (__func__): Document __func__ module.
59137
59138 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59139
59140         * modules/byteswap (License): Re-license as LGPLv2+.
59141
59142 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59143
59144         * doc/Makefile: Add pdf target.
59145
59146 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59147
59148         * modules/inline (License): Use 'unlimited', since there are only
59149         *.m4 files in this module.
59150
59151 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59152             Bruno Haible  <bruno@clisp.org>
59153
59154         Add support for HP C 7.1 on OpenVMS 8.3.
59155         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59156
59157 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59158
59159         Update VMS specifics.
59160         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59161
59162 2008-03-02  Jim Meyering  <meyering@redhat.com>
59163
59164         Remove the last dependency on the "free" module.
59165         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59166         Reported by Bob Proulx.
59167
59168         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59169
59170         Remove useless "if" tests before free.  Deprecate "free" module.
59171         * doc/posix-functions/free.texi: Mention that this
59172         module is no longer useful.
59173         * modules/free (Notice): Say this module is obsolete.
59174         * modules/readutmp (Depends-on): Remove free.
59175         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59176         * lib/putenv.c (putenv): Likewise.
59177         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59178         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59179         * tests/test-c-strcasestr.c (main): Likewise.
59180         * tests/test-c-strstr.c (main): Likewise.
59181         * tests/test-mbscasestr1.c (main): Likewise.
59182         * tests/test-mbscasestr2.c (main): Likewise.
59183         * tests/test-mbsstr1.c (main): Likewise.
59184         * tests/test-mbsstr2.c (main): Likewise.
59185         * tests/test-memmem.c (main): Likewise.
59186         * tests/test-strcasestr.c (main): Likewise.
59187         * tests/test-striconv.c (main): Likewise.
59188         * tests/test-striconveh.c (main): Likewise.
59189         * tests/test-striconveha.c (main): Likewise.
59190         * tests/test-strstr.c (main): Likewise.
59191
59192         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59193
59194         bootstrap: sync from coreutils again
59195         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59196
59197 2008-03-01  Jim Meyering  <meyering@redhat.com>
59198
59199         bootstrap: sync from coreutils
59200         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59201         also when the target doesn't exist.
59202
59203 2008-03-01  Eric Blake  <ebb9@byu.net>
59204
59205         Fix bugs in last patch.
59206         * lib/memchr2.c (memchr2): Fix typo.
59207         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59208         extension.
59209         Reported by Bruce Korb.
59210
59211         New module 'memchr2'.
59212         * modules/memchr2: New file.
59213         * modules/memchr2-tests: Likewise.
59214         * lib/memchr2.h: Likewise.
59215         * lib/memchr2.c: Likewise, based on memchr.c.
59216         * tests/test-memchr2.c: New test.
59217         * MODULES.html.sh (String handling): Add memchr2.
59218
59219 2008-02-29  Bruno Haible  <bruno@clisp.org>
59220
59221         * modules/freadseek-tests: New file.
59222         * tests/test-freadseek.sh: New file.
59223         * tests/test-freadseek.c: New file.
59224
59225         New module 'freadseek'.
59226         * modules/freadseek: New file.
59227         * lib/freadseek.h: New file.
59228         * lib/freadseek.c: New file.
59229         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59230
59231 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59232
59233         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59234         wydawca.
59235
59236         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59237         program_invocation_name and program_invocation_short_name are
59238         present.
59239
59240 2008-02-28  Bruno Haible  <bruno@clisp.org>
59241
59242         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59243         * tests/test-freadptr.sh: Also test non-seekable stdin.
59244
59245 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59246
59247         * build-aux/bootstrap (source_base, m4_base)
59248         (doc_base, tests_base): New variables.
59249         (gnulib_tool_options): Do not hardcode base directories, use
59250         the above variables instead.
59251
59252 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59253
59254         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59255
59256 2008-02-28  Bruno Haible  <bruno@clisp.org>
59257
59258         * modules/freadptr-tests: New file.
59259         * tests/test-freadptr.sh: New file.
59260         * tests/test-freadptr.c: New file.
59261
59262         New module 'freadptr'.
59263         * modules/freadptr: New file.
59264         * lib/freadptr.h: New file.
59265         * lib/freadptr.c: New file.
59266         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59267
59268 2008-02-26  Karl Berry  <karl@freefriends.org>
59269
59270         Sync from Libtool:
59271         * libltdl/argz.c (argz_add, argz_count): New functions.
59272         * libltdl/argz.in.h: Declare them.
59273         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59274
59275 2008-02-22  Bruno Haible  <bruno@clisp.org>
59276
59277         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59278         is a pointer type.  Needed for HP-UX 10.
59279         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59280         * doc/posix-functions/gmtime_r.texi: Likewise.
59281         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59282
59283 2008-02-24  Bruno Haible  <bruno@clisp.org>
59284
59285         * modules/environ-tests: New file.
59286         * tests/test-environ.c: New file.
59287
59288         New module 'environ'.
59289         * modules/environ: New file.
59290         * lib/unistd.in.h (environ): New declaration.
59291         * m4/environ.m4: New file.
59292         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59293         after use.
59294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59295         HAVE_DECL_ENVIRON.
59296         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59297         HAVE_DECL_ENVIRON.
59298         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59299         wrong claim that 'environ' is missing on some systems.
59300         * modules/execute (Depends-on): Add environ.
59301         * lib/execute.c (environ): Remove fallback declaration.
59302         * modules/pipe (Depends-on): Add environ.
59303         * lib/pipe.c (environ): Remove fallback declaration.
59304         * modules/setenv (Depends-on): Add environ.
59305         * lib/setenv.c (environ): Remove fallback declaration.
59306         * modules/unsetenv (Depends-on): Add environ.
59307         * lib/unsetenv.c (environ): Remove fallback declaration.
59308         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59309         m4/environ.m4.
59310         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59311         (gl_PREREQ_UNSETENV): Likewise.
59312
59313 2008-02-24  Bruno Haible  <bruno@clisp.org>
59314
59315         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59316
59317 2008-02-20  Bob Proulx  <bob@proulx.com>
59318
59319         Enable use of older two part flavor 'git describe'.
59320         * build-aux/git-version-gen: If using the older two part flavor of
59321         git version then recreate the third part now present in the
59322         newer three part flavor of git describe.
59323
59324 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59325
59326         * lib/fts.c (fts_build): Typo correction to comment.
59327
59328 2008-02-17  Bruno Haible  <bruno@clisp.org>
59329
59330         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59331         generating no-op conflicts.
59332
59333 2008-02-17  Bruno Haible  <bruno@clisp.org>
59334
59335         Speed up by 10%.
59336         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59337         result_entries, rather than an index-based loop.
59338
59339 2008-02-17  Bruno Haible  <bruno@clisp.org>
59340
59341         Speed up by 25%.
59342         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59343         'hashcode_cached'.
59344         (entry_create): New function.
59345         (entry_hashcode): Use the cached hashcode if possible.
59346         (read_changelog_file, try_split_merged_entry): Use entry_create.
59347
59348 2008-02-17  Bruno Haible  <bruno@clisp.org>
59349
59350         Speed up from O(n^2) to O(n) for long ChangeLog files.
59351         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59352         (read_changelog_file): Change implementation of entries_reversed list
59353         to rbtreehash.
59354         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59355
59356 2008-02-17  Bruno Haible  <bruno@clisp.org>
59357
59358         New option --split-merged-entry.
59359         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59360         (find_paragraph_end, try_split_merged_entry): New functions.
59361         (long_options): Add option --split-merged-entry.
59362         (usage): Document option --split-merged-entry.
59363         (main): Implement option --split-merged-entry.
59364         Reported by Eric Blake.
59365
59366 2008-02-17  Bruno Haible  <bruno@clisp.org>
59367
59368         * lib/git-merge-changelog.c: Include c-strstr.h.
59369         (main): Support the "git pull --rebase" situation.
59370         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59371         Reported by Eric Blake.
59372
59373 2008-02-16  Eric Blake  <ebb9@byu.net>
59374
59375         Avoid doubling \ in common case of "c-maybe" quoting style.
59376         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59377         eliding outer quotes.
59378         * lib/quotearg.h: Document this.
59379         * tests/test-quotearg.c (result_strings, inputs, results_g)
59380         (flag_results, locale_results): Test it by adding a new string to
59381         each test group.
59382         (compare_strings): Test new string.
59383
59384 2008-02-13  Eric Blake  <ebb9@byu.net>
59385
59386         Avoid trigraph quoting in default output.
59387         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59388         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59389         unless explicitly requested.
59390         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59391
59392 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59393
59394         Don't rely on signed integer overflowing to negative value.
59395         * lib/getugroups.c (getugroups): Include <limits.h>.
59396         Instead, compare against INT_MAX, and increment only if the test passes.
59397
59398 2008-02-13  Jim Meyering  <meyering@redhat.com>
59399         and Eric Blake  <ebb9@byu.net>
59400
59401         Avoid shadowing warning and compile errors on Linux.
59402         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59403         forwarding macros on Linux.
59404         (dcgettext): Define a stub, for Linux.
59405         (results_g, main): Avoid warnings.
59406
59407 2008-02-12  Eric Blake  <ebb9@byu.net>
59408
59409         Silence warning in last patch.
59410         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59411
59412         Quotearg part 4: add tests, fix c-maybe colon quoting.
59413         * lib/quotearg.h: Improve documentation.
59414         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59415         escapes when adding outer quotes.  When quoting trigraphs, use
59416         valid C notation.  When quoting NUL, omit extra characters if next
59417         character is not digit.  Alter prototype.
59418         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59419         callers.
59420         * modules/quotearg-tests: New module.
59421         * tests/test-quotearg.c: New test.
59422
59423 2008-02-07  Eric Blake  <ebb9@byu.net>
59424
59425         Quotearg part 3: add flag to control outer quote elision.
59426         * lib/quotearg.h (c_maybe_quoting_style): New style.
59427         (enum quoting_flags): Better documentation of flags.
59428         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
59429         c-maybe style.
59430         (quotearg_buffer_restyled): Handle new flag to elide outer
59431         quotes.
59432
59433         Quotearg part 2: add flag that can control NUL elision.
59434         * lib/quotearg.h (set_quoting_flags): New prototype.
59435         * lib/quotearg.c (struct quoting_options): Add flag field.
59436         (set_quoting_flags): New function.
59437         (quotearg_buffer_restyled): Add flags parameter.
59438         (quotearg_alloc_mem): Set the flag if length cannot be returned.
59439         (quotearg_n_options): Set the flag, since length cannot be
59440         returned.
59441         (quoting_options_from_style): Default flags correctly.
59442
59443         Quotearg part 1: more wrappers, restore quotearg_char state.
59444         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
59445         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
59446         (quotearg_colon_mem): New wrappers.
59447         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
59448         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
59449         functions.
59450         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
59451         (quotearg_colon_mem): New functions.
59452
59453 2008-02-11  Bruno Haible  <bruno@clisp.org>
59454
59455         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
59456         library in the current directory: it does not work with parallel make.
59457         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59458
59459 2008-02-11  Bruno Haible  <bruno@clisp.org>
59460
59461         * .gitattributes: New file.
59462
59463 2008-02-11  Jim Meyering  <meyering@redhat.com>
59464
59465         useless-if-before-free: Fix reversed exit values.
59466         * build-aux/useless-if-before-free: Use correct values
59467         for EXIT_MATCH and EXIT_NO_MATCH.
59468
59469         * build-aux/useless-if-before-free: Close stdout carefully.
59470
59471 2008-02-10  Bruno Haible  <bruno@clisp.org>
59472
59473         New module 'git-merge-changelog'.
59474         * modules/git-merge-changelog: New file.
59475         * lib/git-merge-changelog.c: New file.
59476
59477 2008-02-10  Jim Meyering  <meyering@redhat.com>
59478
59479         useless-if-before-free: New option: --list (-l).
59480
59481         useless-if-before-free: Don't exit immediately upon open failure.
59482         * build-aux/useless-if-before-free: Exit 2 for errors.
59483         Upon failure to open a file, don't exit immediately.
59484         Rather, just warn and continue with any remaining files.
59485
59486 2008-02-10  Bruno Haible  <bruno@clisp.org>
59487
59488         New abstract list operation 'node_set_value'.
59489         * lib/gl_list.h (gl_list_node_set_value): New function.
59490         (struct gl_list_implementation): New field node_set_value.
59491         * lib/gl_list.c (gl_list_node_set_value): New function.
59492         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59493         (gl_array_list_implementation): Update.
59494         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59495         (gl_carray_list_implementation): Update.
59496         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59497         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59498         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59499         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59500         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59501         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59502         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59503         Update.
59504         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59505         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59506         (gl_sublist_list_implementation): Update.
59507
59508 2008-02-10  Bruno Haible  <bruno@clisp.org>
59509
59510         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59511         Needed when ELEMENT is #defined to 'some_type *'.
59512
59513 2008-02-10  Jim Meyering  <meyering@redhat.com>
59514
59515         New script and module: useless-if-before-free
59516         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59517         * build-aux/useless-if-before-free: New file.
59518         * modules/useless-if-before-free: New file.
59519
59520         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59521
59522         xstrtol_error: Fix typo.
59523         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59524         s/exit_failure/exit_status/.
59525
59526 2008-02-09  Jim Meyering  <meyering@redhat.com>
59527
59528         New script and module: gitlog-to-changelog
59529         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59530         * modules/gitlog-to-changelog: New file.
59531         * build-aux/gitlog-to-changelog: New file.
59532
59533 2008-02-08  Jim Meyering  <meyering@redhat.com>
59534
59535         Avoid two "parameter unused" warnings.
59536         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59537         Mark "st" as used.
59538
59539         Use "git COMMAND", not "git-COMMAND".
59540         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59541         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59542         * build-aux/git-version-gen: Use "git status", not "git-status".
59543
59544 2008-02-07  Bruno Haible  <bruno@clisp.org>
59545
59546         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59547         Avoids a crash on Windows Vista.
59548         Reported by Adam Strzelecki <ono@java.pl> via
59549         Simon Josefsson <simon@josefsson.org>.
59550
59551 2008-02-06  Bruno Haible  <bruno@clisp.org>
59552
59553         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59554         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59555         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59556         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59557         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59558         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59559         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59560         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59561         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59562         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59563         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59564         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59565         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59566         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59567         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59568         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59569         left-adjust flag.
59570         * tests/test-snprintf-posix.h (test_function): Likewise.
59571         * tests/test-sprintf-posix.h (test_function): Likewise.
59572         * tests/test-vasprintf-posix.c (test_function): Likewise.
59573         * doc/posix-functions/fprintf.texi: Update.
59574         * doc/posix-functions/printf.texi: Update.
59575         * doc/posix-functions/snprintf.texi: Update.
59576         * doc/posix-functions/sprintf.texi: Update.
59577         * doc/posix-functions/vfprintf.texi: Update.
59578         * doc/posix-functions/vprintf.texi: Update.
59579         * doc/posix-functions/vsnprintf.texi: Update.
59580         * doc/posix-functions/vsprintf.texi: Update.
59581         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59582
59583 2008-02-06  Bruno Haible  <bruno@clisp.org>
59584
59585         Fix bug introduced on 2008-01-26.
59586         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59587
59588 2008-02-06  Bruno Haible  <bruno@clisp.org>
59589
59590         Fix bug introduced on 2007-06-10.
59591         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59592         !NEED_PRINTF_FLAG_ZERO.
59593
59594 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59595
59596         getloadavg: use libperfstat on AIX5
59597         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59598
59599 2008-02-03  Bruno Haible  <bruno@clisp.org>
59600
59601         * lib/diffseq.h: Add comments about required #includes.
59602         Reported by Michael Biggs <gnulib@doubleplum.net>.
59603
59604 2008-02-01  Bruno Haible  <bruno@clisp.org>
59605
59606         * users.txt: Add gnuit.
59607
59608 2008-01-31  Bruno Haible  <bruno@clisp.org>
59609
59610         * lib/md4.c (set_uint32): Mark as inline.
59611         * lib/md5.c (set_uint32): Likewise.
59612         * lib/sha1.c (set_uint32): Likewise.
59613         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59614         * m4/md5.m4 (gl_MD5): Likewise.
59615         * m4/sha1.m4 (gl_SHA1): Likewise.
59616
59617 2008-01-31  Jim Meyering  <meyering@redhat.com>
59618
59619         Use "sizeof VAR", rather than a literal "4".
59620         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59621         * lib/md4.c (md4_read_ctx): Likewise.
59622         * lib/sha1.c (sha1_read_ctx): Likewise.
59623
59624 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59625
59626         * tests/test-sha1.c: New file, based on test-md5.c.
59627
59628         * modules/crypto/sha1-tests: New file.
59629
59630 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59631
59632         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59633
59634 2008-01-31  Jim Meyering  <meyering@redhat.com>
59635
59636         Prefer "sizeof v" over the equivalent "4".
59637         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59638         * lib/md5.c (set_uint32): Likewise.
59639         * lib/sha1.c (set_uint32): Likewise.
59640
59641 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59642
59643         * lib/sha1.c (set_uint32): Mark function as static.
59644
59645 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59646
59647         md2: clarify comments to say that alignment is not required.
59648         * lib/md2.h: Remove warning about alignment in comment.
59649         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59650         never been required.
59651
59652 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59653
59654         md4: adapt alignment constraint fix from sha1.
59655         * lib/md4.c (set_uint32): New function, from sha1.c
59656         (md4_read_ctx): Use it.
59657         (md4_finish_ctx): Doc fix.
59658         * lib/md4.h: Doc fix.
59659
59660 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59661
59662         md5: adapt alignment constraint fix from sha1.
59663         * lib/md5.c (set_uint32): New function, from sha1.c
59664         (md5_read_ctx): Use it.
59665         (md5_finish_ctx): Doc fix.
59666         * lib/md5.h: Doc fix.
59667
59668 2008-01-30  Peter Palfrader  <weasel@debian.org>
59669
59670         sha1: remove the result buffer alignment constraint
59671         * lib/sha1.c (set_uint32): New function.
59672         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59673         constraint.
59674         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59675         * lib/sha1.h: Likewise.
59676
59677 2008-01-30  Andreas Schwab  <schwab@suse.de>
59678             Bruno Haible  <bruno@clisp.org>
59679
59680         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59681         correct definition of LDBL_MIN_EXP.
59682
59683 2008-01-30  Karl Berry  <karl@gnu.org>
59684
59685         * config/srclist-update: try to preserve x bit on updates.
59686         * config/srclistvars.sh: update for karl.
59687
59688 2008-01-29  Jim Meyering  <meyering@redhat.com>
59689
59690         vasnprintf.c: Avoid warning about unused label
59691         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59692         "overflow" label definition and associated code with the
59693         same cpp condition that guards the sole use of that label.
59694
59695 2008-01-26  Bruno Haible  <bruno@clisp.org>
59696
59697         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59698         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59699         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59700         * lib/isnanl-nolibm.h (isnanl): Likewise.
59701         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59702
59703 2008-01-26  Bruno Haible  <bruno@clisp.org>
59704
59705         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59706         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59707
59708 2008-01-26  Bruno Haible  <bruno@clisp.org>
59709
59710         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59711         GCC >= 4.0 built-in.
59712         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59713
59714 2008-01-26  Bruno Haible  <bruno@clisp.org>
59715
59716         Rename isnan, applicable to 'double' only, to isnand.
59717         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59718         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59719         (configure.ac): Update.
59720         (Include): Replace "isnan.h" with "isnand.h".
59721         * m4/isnand.m4: Renamed from m4/isnan.m4.
59722         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59723         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59724         instead of isnan.c.
59725         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59726         instead of HAVE_ISNAN_IN_LIBC.
59727         (isnand): Renamed from isnan.
59728         * lib/isnand.c: New file.
59729         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59730         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59731         (Makefile.am): Update.
59732         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59733         Include isnand.h instead of isnan.h.
59734         (main): Test isnand instead of isnan.
59735         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59736         isnan-nolibm.
59737         * modules/frexp (Depends-on): Likewise.
59738         * modules/frexp-tests (Depends-on): Likewise.
59739         * modules/frexp-nolibm (Depends-on): Likewise.
59740         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59741         * modules/isfinite (Depends-on): Likewise.
59742         * modules/round-tests (Depends-on): Likewise.
59743         * modules/signbit (Depends-on): Likewise.
59744         * modules/signbit-tests (Depends-on): Likewise.
59745         * modules/snprintf-posix (Depends-on): Likewise.
59746         * modules/sprintf-posix (Depends-on): Likewise.
59747         * modules/trunc-tests (Depends-on): Likewise.
59748         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59749         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59750         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59751         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59752         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59753         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59754         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59755         * modules/vasnprintf-posix (Depends-on): Likewise.
59756         * modules/vasprintf-posix (Depends-on): Likewise.
59757         * modules/vfprintf-posix (Depends-on): Likewise.
59758         * modules/vsnprintf-posix (Depends-on): Likewise.
59759         * modules/vsprintf-posix (Depends-on): Likewise.
59760         * lib/frexp.c: Include isnand.h instead of isnan.h.
59761         (ISNAN): Set to isnand instead of isnan.
59762         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59763         (gl_isfinited): Use isnand instead of isnan.
59764         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59765         (gl_signbitd): Use isnand instead of isnan.
59766         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59767         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59768         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59769         (main): Use isnand instead of isnan.
59770         * tests/test-round1.c: Include isnand.h.
59771         (main): Use isnand instead of isnan.
59772         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59773         (ISNAN): Set to isnand instead of isnan.
59774         * tests/test-trunc1.c: Include isnand.h.
59775         (main): Use isnand instead of isnan.
59776         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59777         (equal): Use isnand instead of isnan.
59778         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59779         isnand-nolibm.
59780         * NEWS: Mention the change.
59781
59782 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59783             Bruno Haible  <bruno@clisp.org>
59784
59785         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59786         the GCC builtins for signbits are present and set
59787         REPLACE_SIGNBIT_USING_GCC if so.
59788         * lib/math.in.h (signbit): Define using GCC builtins if
59789         REPLACE_SIGNBIT_USING_GCC is set.
59790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59791         REPLACE_SIGNBIT_USING_GCC.
59792         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59793
59794 2008-01-25  Jim Meyering  <meyering@redhat.com>
59795
59796         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59797         * lib/poll.c: Include <config.h>, not "config.h".
59798         * tests/test-getaddrinfo.c: Likewise.
59799
59800 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59801
59802         * modules/sockets-tests: New file.
59803
59804 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59805
59806         * modules/sockets: New module, can be used to call WSA_Startup and
59807         WSA_Cleanup when needed.
59808
59809         * lib/sockets.h, lib/sockets.c: New files.
59810
59811         * m4/sockets.m4: New file.
59812
59813         * tests/test-sockets.c: New file.
59814
59815 2008-01-19  Bruno Haible  <bruno@clisp.org>
59816
59817         * doc/posix-headers: Renamed from doc/headers.
59818         * doc/posix-functions: Renamed from doc/functions.
59819         * doc/gnulib.texi: Update.
59820
59821 2008-01-19  Bruno Haible  <bruno@clisp.org>
59822
59823         * doc/glibc-functions/strcasestr.texi: Include contents of
59824         doc/functions/strcasestr.texi, fixing the list of platforms.
59825         * doc/functions/strcasestr.texi: Remove file.
59826
59827 2008-01-19  Bruno Haible  <bruno@clisp.org>
59828
59829         * doc/glibc-functions/memmem.texi: Include contents of
59830         doc/functions/memmem.texi.
59831         * doc/functions/memmem.texi: Remove file.
59832
59833 2008-01-18  Bruno Haible  <bruno@clisp.org>
59834
59835         * doc/glibc-functions/*.texi: New files.
59836         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59837         to use the new files.
59838
59839 2008-01-17  Bruno Haible  <bruno@clisp.org>
59840
59841         * tests/test-gethostname.c (main): Fix printf statement.
59842
59843 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59844
59845         * modules/gethostname-tests: New file.
59846
59847         * tests/test-gethostname.c: New file.
59848
59849 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59850
59851         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59852         used by the UNAME case.  Reported by Bruno Haible
59853         <bruno@clisp.org>.
59854
59855 2008-01-17  Eric Blake  <ebb9@byu.net>
59856
59857         Convert c-strcasestr to be more efficient.
59858         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59859         (Depends-on): Add c-strcase, remove malloca, strnlen.
59860         * tests/test-c-strcasestr.c (main): Enhance test.
59861         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59862
59863 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59864
59865         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59866         Use it in creating po/Makevars.
59867
59868 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59869
59870         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59871         Applications that requires it should initialize libgcrypt
59872         manually.
59873
59874 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59875
59876         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59877
59878 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59879
59880         Fix problem with getdate on mingw32 reported by Simon Josefsson
59881         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59882         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59883         tzname", when deciding whether to declare tzname.
59884         * lib/strftime.c (tzname): Likewise.
59885
59886 2008-01-15  Bruno Haible  <bruno@clisp.org>
59887
59888         Work around a MacOS X 10.5 bug in frexpl().
59889         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59890         * doc/functions/frexpl.texi: Document the bug.
59891         Reported by Elias Pipping <pipping@gentoo.org>.
59892
59893 2008-01-14  Eric Blake  <ebb9@byu.net>
59894
59895         Touch up previous patch.
59896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59897         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59898
59899         Convert strcasestr module to use Two-Way algorithm.
59900         * modules/strcasestr-simple: New module, based on the old
59901         strcasestr, but with Two-Way rather than KMP.
59902         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59903         * lib/string.in.h (rpl_strcasestr): Declare.
59904         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59905         performance.
59906         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59907         * modules/string (Makefile.am): Support strcasestr.
59908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59909         * modules/strcasestr-tests (Depends-on): Check for alarm.
59910         * tests/test-strcasestr.c: Augment test.
59911         * lib/str-two-way.h: Clean up stray macro.
59912         * NEWS: Document new module.
59913         * MODULES.html.sh (string handling): Likewise.
59914         * doc/functions/strcasestr.texi: New file.
59915         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59916         here, since it is not a POSIX function.
59917
59918 2008-01-14  Colin Watson  <cjwatson@debian.org>
59919             Bruno Haible  <bruno@clisp.org>
59920
59921         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59922         works fine; if not, set REPLACE_STRSIGNAL.
59923         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59925         REPLACE_STRSIGNAL.
59926         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59927         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59928         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59929
59930 2008-01-14  Bruno Haible  <bruno@clisp.org>
59931
59932         * modules/strsignal (Include): Change to <string.h>.
59933
59934 2008-01-14  Colin Watson  <cjwatson@debian.org>
59935
59936         * modules/argp (Notice): Add a notice recommending to change
59937         XGETTEXT_OPTIONS.
59938         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59939
59940 2008-01-13  Colin Watson  <cjwatson@debian.org>
59941
59942         * modules/strsignal-tests: New file.
59943         * tests/test-strsignal.c: New file.
59944
59945         * lib/strsignal.c: New file, from glibc with modifications.
59946         * lib/siglist.h: New file, from glibc with modifications.
59947         * lib/string.in.h (strsignal): New declaration.
59948         * m4/strsignal.m4: New file.
59949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59950         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59951         * modules/strsignal: New file.
59952         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59953         HAVE_DECL_STRSIGNAL.
59954
59955 2008-01-13  Bruno Haible  <bruno@clisp.org>
59956
59957         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59958         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59959         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59960         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59961
59962 2008-01-13  Bruno Haible  <bruno@clisp.org>
59963
59964         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59965         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59966         * lib/argp.h (__attribute__): Likewise.
59967         * lib/c-stack.c (__attribute__): Likewise.
59968         * lib/error.h (__attribute__): Likewise.
59969         * lib/fts.c (__attribute__): Likewise.
59970         * lib/openat.h (__attribute__): Likewise.
59971         * lib/stdio.in.h (__attribute__): Likewise.
59972         * lib/string.in.h (__attribute__): Likewise.
59973         * lib/utimens.c (__attribute__): Likewise.
59974         * lib/vasnprintf.h (__attribute__): Likewise.
59975         * lib/xalloc.h (__attribute__): Likewise.
59976         * lib/xprintf.h (__attribute__): Likewise.
59977         * lib/xstrtol.h (__attribute__): Likewise.
59978         * lib/xvasprintf.h (__attribute__): Likewise.
59979
59980 2008-01-12  Bruno Haible  <bruno@clisp.org>
59981
59982         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59983         * doc/glibc-headers/a.out.texi: New file.
59984         * doc/glibc-headers/aliases.texi: New file.
59985         * doc/glibc-headers/alloca.texi: New file.
59986         * doc/glibc-headers/ar.texi: New file.
59987         * doc/glibc-headers/argp.texi: New file.
59988         * doc/glibc-headers/argz.texi: New file.
59989         * doc/glibc-headers/byteswap.texi: New file.
59990         * doc/glibc-headers/crypt.texi: New file.
59991         * doc/glibc-headers/endian.texi: New file.
59992         * doc/glibc-headers/envz.texi: New file.
59993         * doc/glibc-headers/err.texi: New file.
59994         * doc/glibc-headers/error.texi: New file.
59995         * doc/glibc-headers/execinfo.texi: New file.
59996         * doc/glibc-headers/fpu_control.texi: New file.
59997         * doc/glibc-headers/fstab.texi: New file.
59998         * doc/glibc-headers/fts.texi: New file.
59999         * doc/glibc-headers/getopt.texi: New file.
60000         * doc/glibc-headers/ieee754.texi: New file.
60001         * doc/glibc-headers/ifaddrs.texi: New file.
60002         * doc/glibc-headers/libintl.texi: New file.
60003         * doc/glibc-headers/mcheck.texi: New file.
60004         * doc/glibc-headers/mntent.texi: New file.
60005         * doc/glibc-headers/obstack.texi: New file.
60006         * doc/glibc-headers/paths.texi: New file.
60007         * doc/glibc-headers/printf.texi: New file.
60008         * doc/glibc-headers/pty.texi: New file.
60009         * doc/glibc-headers/resolv.texi: New file.
60010         * doc/glibc-headers/shadow.texi: New file.
60011         * doc/glibc-headers/sysexits.texi: New file.
60012         * doc/glibc-headers/ttyent.texi: New file.
60013
60014 2008-01-12  Jim Meyering  <meyering@redhat.com>
60015
60016         announce-gen: emit Gnulib's git-based version string.
60017         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
60018         New option --gnulib-version=V, where V is expected to be
60019         the output of running git describe in the gnulib directory.
60020         (get_tool_versions): Request feedback on xdelta.  I suspect it's
60021         not useful, and plan to stop publishing an xdelta file with each
60022         coreutils release.
60023
60024         * build-aux/announce-gen: Also check for lzma-compressed files.
60025
60026 2008-01-11  Bruno Haible  <bruno@clisp.org>
60027
60028         * tests/test-memmem.c (main): Increase maximum allowed time.
60029         * tests/test-strstr.c (main): Likewise.
60030
60031 2008-01-11  Bruno Haible  <bruno@clisp.org>
60032
60033         * doc/functions/memmem.texi: Add more precisions about platforms.
60034         * doc/functions/strstr.texi: Likewise.
60035
60036 2008-01-10  Eric Blake  <ebb9@byu.net>
60037
60038         * m4/strstr.m4: Delete cruft from copy-n-paste.
60039         Reported by Bruno Haible.
60040
60041 2008-01-10  Bruno Haible  <bruno@clisp.org>
60042
60043         Make c-strstr rely on strstr.
60044         * lib/c-strstr.c: Don't include str-kmp.h.
60045         (c_strstr): Define in terms of strstr.
60046         * modules/c-strstr (Files): Remove lib/str-kmp.h.
60047         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
60048
60049 2008-01-10  Bruno Haible  <bruno@clisp.org>
60050
60051         * doc/gnulib.texi (String Functions in C Locale): New section.
60052         * doc/c-ctype.texi: New file.
60053         * doc/c-strcase.texi: New file.
60054         * doc/c-strcaseeq.texi: New file.
60055         * doc/c-strcasestr.texi: New file.
60056         * doc/c-strstr.texi: New file.
60057         * doc/c-strtod.texi: New file.
60058         * doc/c-strtold.texi: New file.
60059
60060 2008-01-10  Eric Blake  <ebb9@byu.net>
60061
60062         * lib/relocatable.h: Fix a comment.
60063
60064 2008-01-10  Eric Blake  <ebb9@byu.net>
60065
60066         Share two-way algorithm.
60067         * lib/str-two-way.h: New file, merged from...
60068         * lib/memmem.c: ...here...
60069         * lib/strstr.c: ...and here.
60070         * modules/memmem (Files): Use it.
60071         * modules/strstr (Files): Likewise.
60072
60073         Avoid quadratic strstr implementations.
60074         * lib/strstr.c: New file.
60075         * m4/strstr.m4: Likewise.
60076         * modules/strstr: Likewise.
60077         * modules/strstr-tests: Likewise.
60078         * tests/test-strstr.c: Likewise.
60079         * lib/string.in.h (rpl_strstr): Declare.
60080         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
60081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
60082         * modules/string (Makefile.am): Likewise.
60083         * MODULES.html.sh (string handling): Mention new module.
60084         * doc/functions/strstr.texi (strstr): Document the bug.
60085
60086 2008-01-10  Bruno Haible  <bruno@clisp.org>
60087
60088         * lib/relocatable.h (relocate): State whether result is freshly
60089         allocated or not.
60090         * lib/relocatable.c (relocate): Return a freshly allocated string
60091         instead of a pointer to a privately held string.
60092         Reported by Sylvain Beucler <beuc@gnu.org>.
60093
60094 2008-01-10  Colin Watson  <cjwatson@debian.org>
60095
60096         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
60097         s/S_ISNLK/S_ISLNK/.
60098
60099 2008-01-09  Bruno Haible  <bruno@clisp.org>
60100
60101         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
60102         and other files.
60103         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
60104         if it's only a guess.
60105         * modules/memmem: Simplify by depending on memmem-simple.
60106
60107 2008-01-09  Bruno Haible  <bruno@clisp.org>
60108
60109         Work around OpenBSD 4.0 tdelete() bug.
60110         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
60111         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
60112         macros and don't redefine the enum values.
60113         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
60114         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
60115         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
60116
60117 2008-01-09  Bruno Haible  <bruno@clisp.org>
60118
60119         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
60120         (main): Don't perform the tests if setlocale did not install a UTF-8
60121         locale. Needed on OpenBSD 4.0.
60122         * modules/wcwidth-tests (Depends-on): Add localcharset.
60123
60124 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60125
60126         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60127         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60128         * NEWS: announce this.
60129         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60130
60131 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60132         and Eric Blake  <ebb9@byu.net>
60133
60134         Add memmem-simple module.
60135         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60136         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60137         * modules/memmem-simple: New file.
60138         * modules/memmem (Description): Tweak.
60139         * MODULES.html.sh (string handling): Mention new module.
60140         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60141         addressed by memmem-simple.
60142         * NEWS: Document the difference.
60143
60144 2008-01-09  Eric Blake  <ebb9@byu.net>
60145
60146         Give gcc some memmem optimization hints.
60147         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60148         (strcasestr): Declare as pure.
60149         * modules/memmem (Maintainer): Claim my implementation.
60150
60151 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60152
60153         Support AIX 6.1 and higher.
60154         * build-aux/config.libpath: Likewise.
60155         * build-aux/config.rpath: Likewise.
60156
60157 2008-01-08  Jim Meyering  <meyering@redhat.com>
60158             Bruno Haible  <bruno@clisp.org>
60159
60160         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60161         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60162         Reported by Peter Fales in
60163         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60164
60165 2008-01-08  Bruno Haible  <bruno@clisp.org>
60166
60167         * modules/unictype/category-of (Depends-on): Add
60168         unictype/category-none.
60169         * modules/unictype/category-and-tests (Depends-on): Add
60170         unictype/category-{L,N,Lu,Nd}.
60171         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60172         * modules/unictype/category-or-tests (Depends-on): Add
60173         unictype/category-{L,N}.
60174         * modules/unictype/category-name-tests (Depends-on): Add
60175         unictype/category-{Z,Nl}.
60176         Reported by Simon Josefsson.
60177
60178 2008-01-08  Bruno Haible  <bruno@clisp.org>
60179
60180         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60181         convention better.
60182         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60183         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60184         Reported by Peter Miller <millerp@canb.auug.org.au>.
60185
60186 2008-01-08  Eric Blake  <ebb9@byu.net>
60187
60188         Rewrite memmem to guarantee linear complexity without malloc.
60189         * lib/memmem.c (memmem): Use Two-Way rather than
60190         Knuth-Morris-Pratt, to allow O(1) space usage.
60191         (critical_factorization, two_way_short_needle)
60192         (two_way_long_needle): New functions.
60193         (knuth_morris_pratt): Delete.
60194         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60195         Add stdint.
60196         * tests/test-memmem.c (main): Add tests for periodic needle and
60197         sublinear performance.
60198         * doc/functions/memmem.texi (memmem): Document other deficiencies
60199         in cygwin and older glibc.
60200
60201 2008-01-08  Bruno Haible  <bruno@clisp.org>
60202
60203         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60204         augmentation.
60205
60206 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60207
60208         Add a configure time option: --disable-acl.
60209         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60210         AC_ARG_ENABLE(acl).
60211
60212 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60213
60214         * tests/test-localename.c: Don't include obsolete "setenv.h".
60215
60216         * modules/localename-tests (Depends-on): Need unsetenv.
60217
60218 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60219
60220         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60221
60222 2008-01-06  Colin Watson  <cjwatson@debian.org>
60223
60224         * users.txt: Add man-db.
60225
60226 2008-01-07  Bruno Haible  <bruno@clisp.org>
60227
60228         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60229         previous section name.
60230
60231 2008-01-07  Bruno Haible  <bruno@clisp.org>
60232
60233         * lib/progname.c (set_program_name): Don't strip off a leading
60234         "lt-" prefix outside a .libs directory.
60235         Suggested by Paul Eggert.
60236
60237 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60238             Bruno Haible  <bruno@clisp.org>
60239
60240         Improve memory cleanup in 'relocatable' module.
60241         * lib/relocatable.h (compute_curr_prefix): Change return type to
60242         'char *'.
60243         * lib/relocatable.c (compute_curr_prefix): Change return type to
60244         'char *'. Free curr_installdir after use.
60245         (relocate): Free curr_prefix_better after use.
60246         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60247
60248 2008-01-01  Bruno Haible  <bruno@clisp.org>
60249
60250         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60251         failure on older glibc systems.
60252         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60253
60254 2008-01-05  Eric Blake  <ebb9@byu.net>
60255
60256         Avoid quadratic system memmem.
60257         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60258         Reported by Ralf Wildenhues.
60259
60260         Fix memmem test for mingw.
60261         * modules/memmem-tests (configure.ac): Check for alarm.
60262         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60263         it.
60264         * doc/functions/memmem.texi: New file.
60265         * doc/gnulib.texi (Function Substitutes): Add memmem.
60266         Reported by Bruno Haible.
60267
60268 2008-01-04  Bruno Haible  <bruno@clisp.org>
60269
60270         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60271         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60272         gl_HEADER_STRING_H_DEFAULTS.
60273
60274 2008-01-04  Eric Blake  <ebb9@byu.net>
60275
60276         Shorten duration of memmem test.
60277         * tests/test-memmem.c (main): Use alarm to declare failure if test
60278         is taking too long.
60279         Reported by Ralf Wildenhues.
60280
60281 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60282
60283         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60284         string, needed by strerror.
60285
60286 2008-01-03  Colin Watson  <cjwatson@debian.org>
60287             Bruno Haible  <bruno@clisp.org>
60288
60289         * doc/gnulib-tool.texi (Localization): New section.
60290
60291 2008-01-02  Bruno Haible  <bruno@clisp.org>
60292
60293         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60294         variables to 'unsigned char *' type.
60295         Reported by Paul Eggert.
60296
60297 2008-01-02  Jim Meyering  <jim@meyering.net>
60298
60299         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60300
60301 2007-12-31  Jim Meyering  <jim@meyering.net>
60302
60303         Avoid use of private FTS type name.
60304         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60305
60306 2007-12-30  Karl Berry  <karl@gnu.org>
60307
60308         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60309         work around defect in Texinfo and/or the standalone Info browser.
60310
60311 2007-12-30  Bruno Haible  <bruno@clisp.org>
60312
60313         Unify 5 copies of the KMP code.
60314         * lib/str-kmp.h: New file.
60315         * lib/c-strcasestr.c: Include str-kmp.h.
60316         (knuth_morris_pratt): Remove function.
60317         (c_strcasestr): Update.
60318         * lib/c-strstr.c: Include str-kmp.h.
60319         (knuth_morris_pratt): Remove function.
60320         (c_strcasestr): Update.
60321         * lib/mbscasestr.c: Include str-kmp.h.
60322         (knuth_morris_pratt_unibyte): Remove function.
60323         * lib/mbsstr.c: Include str-kmp.h.
60324         (knuth_morris_pratt_unibyte): Remove function.
60325         * lib/strcasestr.c: Include str-kmp.h.
60326         (knuth_morris_pratt): Remove function.
60327         (strcasestr): Update.
60328         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60329         * modules/c-strstr (Files): Likewise.
60330         * modules/mbscasestr (Files): Likewise.
60331         * modules/mbsstr (Files): Likewise.
60332         * modules/strcasestr (Files): Likewise.
60333         Suggested by Paul Eggert.
60334
60335 2007-12-30  Bruno Haible  <bruno@clisp.org>
60336
60337         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60338         defined.
60339
60340 2007-12-30  Bruno Haible  <bruno@clisp.org>
60341
60342         * lib/xmalloca.h: Include xalloc.h.
60343         (xnmalloca): New macro.
60344
60345 2007-12-30  Bruno Haible  <bruno@clisp.org>
60346
60347         * lib/malloca.h (nmalloca): New macro.
60348         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60349         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60350         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60351         knuth_morris_pratt_multibyte): Likewise.
60352         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60353         knuth_morris_pratt_multibyte): Likewise.
60354         * lib/memmem.c (knuth_morris_pratt): Likewise.
60355         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60356
60357 2007-12-25  Bruno Haible  <bruno@clisp.org>
60358
60359         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60360         * lib/glob.c: Don't include openat.h.
60361         (link_exists2_p): Add back the code that deals with the
60362         !GLOB_ALTDIRFUNC case.
60363         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60364         let it do the filename concatenation.
60365         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60366         * modules/glob (Depends-on): Remove openat.
60367
60368 2007-12-31  Bruno Haible  <bruno@clisp.org>
60369
60370         * modules/dirfd (License): Change to LGPLv2+.
60371         Approved by Jim Meyering.
60372
60373 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60374
60375         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60376         when multiplying M by sizeof (size_t).
60377
60378 2007-12-10  Martin Lambers  <marlam@marlam.de>
60379
60380         Override getpagesize on mingw.
60381         * lib/getpagesize.c: New file.
60382         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60383         * modules/getpagesize (Files): Add lib/getpagesize.c.
60384         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60386         REPLACE_GETPAGESIZE.
60387         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60388
60389 2007-12-25  Bruno Haible  <bruno@clisp.org>
60390
60391         * modules/localcharset (Notice): New field.
60392         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60393         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60394
60395 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60396             Bruno Haible  <bruno@clisp.org>
60397
60398         Avoid using the syntax symbol() in formatted documentation.
60399         * MODULES.html.sh (func_module): When replacing symbol() with a
60400         hyperlink, remove the parentheses. Show an error if some remain.
60401         Recognize and render the '...' syntax.
60402         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60403         Rework. Add paragraph about GCC's inlining.
60404         * doc/alloca.texi: Likewise.
60405         * doc/error.texi: Remove parentheses from symbol reference.
60406         * doc/gnulib-intro.texi: Likewise.
60407         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60408         * modules/fnmatch (Description): Reword to say "the ... function".
60409         * modules/full-read (Description): Likewise.
60410         * modules/full-write (Description): Likewise.
60411         * modules/safe-read (Description): Likewise.
60412         * modules/safe-write (Description): Likewise.
60413         * modules/strchrnul (Description): Likewise.
60414         * modules/trim (Description): Likewise.
60415         * modules/error (Description): Remove parentheses from symbol
60416         references.
60417         * modules/verror (Description): Likewise.
60418         Reported by Karl Berry.
60419
60420 2007-12-25  Bruno Haible  <bruno@clisp.org>
60421
60422         Fixup after 2007-10-16 commit.
60423         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
60424
60425 2007-12-24  Bruno Haible  <bruno@clisp.org>
60426
60427         Make --enable-relocatable work with DESTDIR.
60428         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
60429         to compute installdir from destprog.
60430         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
60431         also set the RELOC_DESTDIR variable.
60432         Reported by Левашев Иван <octagram@bluebottle.com>.
60433
60434 2007-12-24  Bruno Haible  <bruno@clisp.org>
60435
60436         Fix link error due to xalloc_die().
60437         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
60438         of xreadlink.
60439         * lib/relocwrapper.c: Update comments.
60440         * build-aux/install-reloc: Remove xreadlink.c from file list.
60441         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
60442         xreadlink.c.
60443         Reported by Левашев Иван <octagram@bluebottle.com>.
60444
60445 2007-12-24  Bruno Haible  <bruno@clisp.org>
60446
60447         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
60448         * lib/setenv.h: Remove file.
60449         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
60450         lib/setenv.h.
60451         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
60452         (Depends-on): Add stdlib.
60453         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
60454         gl_FUNC_UNSETENV.
60455         (Include): Replace setenv.h with <stdlib.h>.
60456         * modules/unsetenv: New file.
60457         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60458         * lib/unsetenv.c: Include <stdlib.h> first.
60459         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60460         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60461         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60462         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60463         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60464         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60466         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60467         * doc/functions/unsetenv.texi: Update.
60468         * modules/xsetenv (Depends-on): Add unsetenv.
60469         * modules/getdate (Depends-on): Likewise.
60470         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60471         * lib/xsetenv.c: Don't include setenv.h.
60472         * lib/getdate.y: Likewise.
60473         * lib/relocwrapper.c: Likewise.
60474         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60475         (Depends-on): Add stdlib.
60476         * NEWS: Mention the changes.
60477         Reported by Левашев Иван <octagram@bluebottle.com>.
60478
60479 2007-12-23  Bruno Haible  <bruno@clisp.org>
60480
60481         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60482         indentation.
60483
60484 2007-12-23  Bruno Haible  <bruno@clisp.org>
60485
60486         * lib/c-strcasestr.c: Add more comments.
60487         * lib/c-strstr.c: Likewise.
60488         * lib/mbscasestr.c: Likewise.
60489         * lib/mbsstr.c: Likewise.
60490         * lib/strcasestr.c: Likewise.
60491         * lib/memmem.c: Likewise.
60492
60493 2007-12-23  Bruno Haible  <bruno@clisp.org>
60494
60495         * tests/test-memmem.c: Include <string.h> first.
60496
60497 2007-12-22  Bruno Haible  <bruno@clisp.org>
60498
60499         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60500         the contents of $testsbase.
60501         Reported by Ralf Wildenhues.
60502
60503 2007-12-22  Bruno Haible  <bruno@clisp.org>
60504
60505         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60506         two variables local_ldadd_before, local_ldadd_last.
60507
60508 2007-12-20  Eric Blake  <ebb9@byu.net>
60509
60510         Work around circular library issue when cross-compiling.
60511         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60512         that progname.o does not need to pull in rpl_memcmp.
60513
60514 2007-12-19  Eric Blake  <ebb9@byu.net>
60515
60516         Fix memmem to avoid O(n^2) worst-case complexity.
60517         * lib/memmem.c (knuth_morris_pratt): New function.
60518         (memmem): Use it if first few naive iterations fail.
60519         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60520         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60521         * modules/memchr (License): Likewise.
60522         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60523         malloca.
60524         * tests/test-memmem.c: Rewrite, borrowing ideas from
60525         test-mbsstr1.c; the old version wouldn't even compile!
60526         * modules/memmem-tests: New file.
60527         * lib/string.in.h (rpl_memmem): Add declaration.
60528         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60529         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60530         REPLACE_MEMMEM.
60531
60532 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60533
60534         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60535         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60536         before any system include files, and undef after them all.  This
60537         should fix a problem on VMS reported by John E. Malmberg in
60538         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60539
60540 2007-12-17  Eric Blake  <ebb9@byu.net>
60541
60542         Revert addition of verify, for BSD/OS.
60543         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60544         can't handle large files, for the sake of obsolete platforms.
60545         * modules/fseeko (Depends-on): Remove verify.
60546         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60547         * doc/functions/ftello.texi (ftello): Likewise.
60548         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60549         Reported by Larry Jones.
60550
60551 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60552
60553         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60554         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60555
60556 2007-12-17  Jim Meyering  <meyering@redhat.com>
60557
60558         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60559         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60560         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60561         * modules/getcwd (Depends-on): Add openat.
60562         Reported by Petr Salinger.
60563
60564 2007-12-17  Bruno Haible  <bruno@clisp.org>
60565
60566         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60567         avoid a segmentation fault of the configure test on x86_64 systems.
60568
60569 2007-12-15  Jim Meyering  <meyering@redhat.com>
60570
60571         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60572
60573 2007-12-13  Eric Blake  <ebb9@byu.net>
60574
60575         Another fseek test.
60576         * tests/test-fseek.c (main): Also test ungetc handling.
60577         * tests/test-fseeko.c (main): Likewise.
60578         * modules/fseeko (Depends-on): Add verify.
60579         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60580         large.
60581         Reported by Larry Jones.
60582
60583         Fix fseeko on mingw.
60584         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60585         seek.
60586
60587         Beef up fseek tests.
60588         * tests/test-fseek.c (main): Also test eof handling.
60589         * tests/test-fseeko.c (main): Likewise.
60590         Reported by Larry Jones.
60591
60592 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60593
60594         Fix fseeko on BSD-based platforms.
60595         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60596         successful seek.
60597
60598 2007-12-12  Eric Blake  <ebb9@byu.net>
60599
60600         Allow circular dependency of separate libtests.a
60601         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60602         when use_libtests.
60603
60604 2007-12-11  Eric Blake  <ebb9@byu.net>
60605
60606         Fix bug with -0.0L in previous patch.
60607         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60608         * tests/test-isnan.c (main): Also test on zeroes.
60609         * tests/test-isnanf.c (main): Likewise.
60610         * tests/test-isnanl.h (main): Likewise.
60611
60612         Detect pseudo-denormals on x86 even when cross-compiling.
60613         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60614         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60615         invalid bit patterns that happen to satisfy ==.
60616
60617         Avoid link failures with separate libtests.a.
60618         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60619         last, to satisfy circular dependencies.
60620
60621 2007-12-11  Eric Blake  <ebb9@byu.net>
60622         and Bruno Haible  <bruno@clisp.org>
60623
60624         Fix OpenBSD 4.0 <float.h> handling of long double.
60625         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60626         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60627         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60628
60629 2007-12-11  Jim Meyering  <meyering@redhat.com>
60630
60631         * users.txt: Add libvirt.
60632
60633         Support versions of autoconf prior to 2.59c.
60634         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60635         if it is not already defined.
60636
60637 2007-12-09  Bruno Haible  <bruno@clisp.org>
60638
60639         Let 'gnulib-tool --import' collect sources needed for the tests in
60640         tests/ rather than in lib/.
60641         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60642         argument. If true, add rules to generate libtests.a, and put libtests.a
60643         into $(LDADD). Consider source files in subdirectories and set
60644         uses_subdirs.
60645         (func_emit_initmacro_start, func_emit_initmacro_end,
60646         func_emit_initmacro_done): Pass all arguments explicitly.
60647         (func_import): Determine two module lists main_modules,
60648         testsrelated_modules. Determine use_libtests. Determine two variables
60649         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60650         instead of just sed_transform_lib_file. Determine two variables
60651         main_files and testsrelated_files. Compute 'files' as the union of
60652         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60653         func_add_or_update. In the generated gnulib-comp.m4, collect the
60654         object files for tests/ in different variables than those for lib/.
60655         Substitute LIBTESTS_LIBDEPS.
60656         (func_create_testdir): Combine the uses_subdirs results from
60657         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60658
60659 2007-12-09  Bruno Haible  <bruno@clisp.org>
60660
60661         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60662         the build-aux directory.
60663
60664 2007-12-09  Bruno Haible  <bruno@clisp.org>
60665
60666         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60667         introduced on 2006-09-09.
60668
60669 2007-12-07  Jim Meyering  <meyering@redhat.com>
60670
60671         Let these macros work also with autoconf-2.59.
60672         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60673         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60674         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60675
60676 2007-12-06  Jim Meyering  <meyering@redhat.com>
60677
60678         Avoid a configure-time syntax error in gl_FUNC_ACL.
60679         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60680         function in each branch, before testing the cache variable.
60681
60682 2007-12-04  Eric Blake  <ebb9@byu.net>
60683
60684         Make scripts executable.
60685         * build-aux/config.guess: Add execute permissions.
60686         * build-aux/config.sub: Likewise.
60687         * build-aux/gendocs.sh: Likewise.
60688
60689         Fix frexp on mingw.
60690         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60691         cross-compiling.
60692         * doc/functions/frexp.texi (frexp): Document the bug.
60693
60694         Make cygwin fseeko check more reliable.
60695         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60696         version numbers, rather than unrelated feature check.
60697         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60698         * doc/functions/ftello.texi (ftello): Likewise.
60699         Reported by Bruno Haible.
60700
60701         * m4/strerror.m4: Bump version number.
60702
60703 2007-12-03  Bruno Haible  <bruno@clisp.org>
60704
60705         * doc/functions/mprotect.texi: Mention the mingw problem.
60706
60707 2007-12-03  Eric Blake  <ebb9@byu.net>
60708
60709         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60710         REPLACE_STRERROR is initialized before this macro.
60711
60712 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60713
60714         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60715         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60716         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60717         put -lsec in even for programs other than 'ls'.  This fixes a problem
60718         for gettext reported by Bruno Haible in
60719         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60720         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60721         Add support for Solaris 10.  This isn't efficient, but should get the
60722         job done for now.
60723
60724 2007-12-03  James Youngman  <jay@gnu.org>
60725
60726         * doc/regexprops-generic.texi: change "an close-group" to "a
60727         close-group" and "illegal" to "not allowed".
60728
60729 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60730
60731         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60732         pr_byname.h. Needed for the rare case when the maintainer has done
60733         "make maintainer-clean" in the source directory and then attempts a
60734         build outside the source directory.
60735         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60736         scripts_byname.h.
60737
60738 2007-12-02  Martin Lambers <marlam@marlam.de>
60739             Bruno Haible  <bruno@clisp.org>
60740
60741         * lib/getpagesize.h: Remove file.
60742         * lib/unistd.in.h: Include declaration of getpagesize here.
60743         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60744         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60745         HAVE_SYS_PARAM_H.
60746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60747         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60748         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60749         (Depends-on): Add unistd.
60750         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60751         (Include): Use <unistd.h> instead of getpagesize.h.
60752         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60753         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60754         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60755         gl_GETPAGESIZE invocation, already handled by module dependency.
60756         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60757
60758 2007-12-02  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/strings-tests: New file.
60761         * tests/test-strings.c: New file.
60762
60763         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60764         * lib/strings.in.h: New file.
60765         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60766         * m4/strings_h.m4: New file.
60767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60768         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60769         * modules/strings: New file.
60770         * modules/string (Makefile.am): Update.
60771         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60772         Reported by Karl Berry.
60773
60774 2007-12-01  Eric Blake  <ebb9@byu.net>
60775
60776         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60777         accommodate fix in cygwin 1.5.25.
60778
60779 2007-12-01  Jim Meyering  <meyering@redhat.com>
60780
60781         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60782         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60783         that would inhibit utf8-optimization of a regexp containing line-
60784         or buffer-anchors, e.g., `^', `$'.
60785
60786 2007-11-30  Bruno Haible  <bruno@clisp.org>
60787
60788         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60789         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60790         glthread_recursive_lock_init.
60791         * lib/lock.c (glthread_recursive_lock_init)
60792         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60793         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60794
60795 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60796
60797         New function qset_acl, like set_acl but with syscall semantics.
60798         * lib/acl.h (qset_acl): New decl.
60799         * lib/acl.c (qset_acl): New function.
60800         (set_acl): Use new function.  Use more-consistent diagnostics.
60801
60802 2007-11-28  Jim Meyering  <meyering@redhat.com>
60803
60804         * modules/physmem (License): Change from GPL to LGPLv2+.
60805
60806 2007-11-26  Bruno Haible  <bruno@clisp.org>
60807
60808         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60809         'long double' type has excess precision.
60810         Reported by Jim Meyering in
60811         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60812
60813 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60814
60815         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60816         Sync from <http://gnu.org/licenses>.
60817         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60818         with license text from same location.
60819         * doc/maintain.texi, doc/standards.texi:  Sync from
60820         <http://savannah.gnu.org/projects/gnustandards>.
60821
60822 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60823         and Jim Meyering  <meyering@redhat.com>
60824
60825         Adjust getdate' grammar to accept a slightly more regular language.
60826         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60827         Before, the former was rejected.
60828         * lib/getdate.y (digits_to_date_time): New function, factored
60829         out of ...
60830         (number): ...here.  Just call digits_to_date_time.
60831         (hybrid): New non-terminal to handle an <unsigned number,
60832         signed relative offset> sequence consistently.
60833
60834 2007-11-18  Jim Meyering  <meyering@redhat.com>
60835
60836         Pull my changes from coreutils:
60837         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60838         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60839         use of $gnulib_tool_option_extras, so that it's separated from the
60840         preceding argument.
60841
60842         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60843         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60844         parent destination directories before copying a file into place.
60845
60846 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60847
60848         bootstrap: work also with 4-argument variant of AC_INIT
60849         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60850
60851 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60852
60853         Port test-getaddrinfo to Solaris.
60854         Problem reported by Bruno Haible in
60855         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60856         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60857         explanation of setting 'hints'.
60858         Don't reject an implementation merely because it returns EAI_SERVICE.
60859         (EAI_SERVICE): Define to 0 if not defined.
60860
60861 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60862
60863         The license of gnu-make and posix-shell is now "GPLed build tool".
60864         * modules/gnu-make (License): Likewise.
60865         * modules/posix-shell (License): Likewise.
60866
60867         New module posix-shell, for determining a POSIX shell
60868         or perhaps something that is close enough to a POSIX shell.
60869         * m4/posix-shell.m4: New file.
60870         * modules/posix-shell: New file.
60871
60872         * MODULES.html.sh: Mention new module.
60873
60874         New module gnu-make, for determining whether we're using GNU Make.
60875         * m4/gnu-make.m4: New file.
60876         * modules/gnu-make: New file.
60877         * MODULES.html.sh: Mention new module.
60878
60879 2007-11-14  Jim Meyering  <meyering@redhat.com>
60880
60881         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60882         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60883         use this macro to create a function _definition_.
60884         Remove useless "#undef ARGMATCH_DIE".
60885
60886 2007-11-14  Bruno Haible  <bruno@clisp.org>
60887
60888         * lib/config.charset: Update for OpenBSD 4.1.
60889         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60890
60891 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60892
60893         Document 64-bit #if problems in stdint.texi.
60894         * doc/headers/stdint.texi (stdint.h): Mention problems with
60895         64-bit-#if, and how to work around them.
60896
60897         Don't insist on 'long long int' support in the preprocessor.  It
60898         breaks too many things.  For example, PRIdMAX still uses a 'long
60899         long int' format with the latest Sun compiler, even though
60900         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60901         preprocessor problem.  This causes the latest coreutils to dump
60902         core on Solaris 10 sparc with the Sun C compiler.
60903         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60904         the troublesome expressions at configure-time, not at #if-time.
60905         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60906         preprocessor.
60907         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60908         compile-time C checks, done at 'configure'-time.
60909         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60910         * modules/inttypes (Makefile): Substitute the new symbols that
60911         gl_INTTYPES_H now generates.
60912         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60913
60914 2007-11-12  Bruno Haible  <bruno@clisp.org>
60915
60916         Tests for Unicode character classification functions.
60917
60918         * modules/unictype/bidicategory-byname-tests: New file.
60919         * modules/unictype/bidicategory-name-tests: New file.
60920         * modules/unictype/bidicategory-of-tests: New file.
60921         * modules/unictype/bidicategory-test-tests: New file.
60922         * modules/unictype/block-list-tests: New file.
60923         * modules/unictype/block-of-tests: New file.
60924         * modules/unictype/block-test-tests: New file.
60925         * modules/unictype/category-C-tests: New file.
60926         * modules/unictype/category-Cc-tests: New file.
60927         * modules/unictype/category-Cf-tests: New file.
60928         * modules/unictype/category-Cn-tests: New file.
60929         * modules/unictype/category-Co-tests: New file.
60930         * modules/unictype/category-Cs-tests: New file.
60931         * modules/unictype/category-L-tests: New file.
60932         * modules/unictype/category-Ll-tests: New file.
60933         * modules/unictype/category-Lm-tests: New file.
60934         * modules/unictype/category-Lo-tests: New file.
60935         * modules/unictype/category-Lt-tests: New file.
60936         * modules/unictype/category-Lu-tests: New file.
60937         * modules/unictype/category-M-tests: New file.
60938         * modules/unictype/category-Mc-tests: New file.
60939         * modules/unictype/category-Me-tests: New file.
60940         * modules/unictype/category-Mn-tests: New file.
60941         * modules/unictype/category-N-tests: New file.
60942         * modules/unictype/category-Nd-tests: New file.
60943         * modules/unictype/category-Nl-tests: New file.
60944         * modules/unictype/category-No-tests: New file.
60945         * modules/unictype/category-P-tests: New file.
60946         * modules/unictype/category-Pc-tests: New file.
60947         * modules/unictype/category-Pd-tests: New file.
60948         * modules/unictype/category-Pe-tests: New file.
60949         * modules/unictype/category-Pf-tests: New file.
60950         * modules/unictype/category-Pi-tests: New file.
60951         * modules/unictype/category-Po-tests: New file.
60952         * modules/unictype/category-Ps-tests: New file.
60953         * modules/unictype/category-S-tests: New file.
60954         * modules/unictype/category-Sc-tests: New file.
60955         * modules/unictype/category-Sk-tests: New file.
60956         * modules/unictype/category-Sm-tests: New file.
60957         * modules/unictype/category-So-tests: New file.
60958         * modules/unictype/category-Z-tests: New file.
60959         * modules/unictype/category-Zl-tests: New file.
60960         * modules/unictype/category-Zp-tests: New file.
60961         * modules/unictype/category-Zs-tests: New file.
60962         * modules/unictype/category-and-not-tests: New file.
60963         * modules/unictype/category-and-tests: New file.
60964         * modules/unictype/category-byname-tests: New file.
60965         * modules/unictype/category-name-tests: New file.
60966         * modules/unictype/category-none-tests: New file.
60967         * modules/unictype/category-of-tests: New file.
60968         * modules/unictype/category-or-tests: New file.
60969         * modules/unictype/category-test-withtable-tests: New file.
60970         * modules/unictype/combining-class-tests: New file.
60971         * modules/unictype/ctype-alnum-tests: New file.
60972         * modules/unictype/ctype-alpha-tests: New file.
60973         * modules/unictype/ctype-blank-tests: New file.
60974         * modules/unictype/ctype-cntrl-tests: New file.
60975         * modules/unictype/ctype-digit-tests: New file.
60976         * modules/unictype/ctype-graph-tests: New file.
60977         * modules/unictype/ctype-lower-tests: New file.
60978         * modules/unictype/ctype-print-tests: New file.
60979         * modules/unictype/ctype-punct-tests: New file.
60980         * modules/unictype/ctype-space-tests: New file.
60981         * modules/unictype/ctype-upper-tests: New file.
60982         * modules/unictype/ctype-xdigit-tests: New file.
60983         * modules/unictype/decimal-digit-tests: New file.
60984         * modules/unictype/digit-tests: New file.
60985         * modules/unictype/mirror-tests: New file.
60986         * modules/unictype/numeric-tests: New file.
60987         * modules/unictype/property-alphabetic-tests: New file.
60988         * modules/unictype/property-ascii-hex-digit-tests: New file.
60989         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60990         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60991         * modules/unictype/property-bidi-block-separator-tests: New file.
60992         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60993         * modules/unictype/property-bidi-common-separator-tests: New file.
60994         * modules/unictype/property-bidi-control-tests: New file.
60995         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60996         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60997         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60998         * modules/unictype/property-bidi-european-digit-tests: New file.
60999         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
61000         * modules/unictype/property-bidi-left-to-right-tests: New file.
61001         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
61002         * modules/unictype/property-bidi-other-neutral-tests: New file.
61003         * modules/unictype/property-bidi-pdf-tests: New file.
61004         * modules/unictype/property-bidi-segment-separator-tests: New file.
61005         * modules/unictype/property-bidi-whitespace-tests: New file.
61006         * modules/unictype/property-byname-tests: New file.
61007         * modules/unictype/property-combining-tests: New file.
61008         * modules/unictype/property-composite-tests: New file.
61009         * modules/unictype/property-currency-symbol-tests: New file.
61010         * modules/unictype/property-dash-tests: New file.
61011         * modules/unictype/property-decimal-digit-tests: New file.
61012         * modules/unictype/property-default-ignorable-code-point-tests: New file.
61013         * modules/unictype/property-deprecated-tests: New file.
61014         * modules/unictype/property-diacritic-tests: New file.
61015         * modules/unictype/property-extender-tests: New file.
61016         * modules/unictype/property-format-control-tests: New file.
61017         * modules/unictype/property-grapheme-base-tests: New file.
61018         * modules/unictype/property-grapheme-extend-tests: New file.
61019         * modules/unictype/property-grapheme-link-tests: New file.
61020         * modules/unictype/property-hex-digit-tests: New file.
61021         * modules/unictype/property-hyphen-tests: New file.
61022         * modules/unictype/property-id-continue-tests: New file.
61023         * modules/unictype/property-id-start-tests: New file.
61024         * modules/unictype/property-ideographic-tests: New file.
61025         * modules/unictype/property-ids-binary-operator-tests: New file.
61026         * modules/unictype/property-ids-trinary-operator-tests: New file.
61027         * modules/unictype/property-ignorable-control-tests: New file.
61028         * modules/unictype/property-iso-control-tests: New file.
61029         * modules/unictype/property-join-control-tests: New file.
61030         * modules/unictype/property-left-of-pair-tests: New file.
61031         * modules/unictype/property-line-separator-tests: New file.
61032         * modules/unictype/property-logical-order-exception-tests: New file.
61033         * modules/unictype/property-lowercase-tests: New file.
61034         * modules/unictype/property-math-tests: New file.
61035         * modules/unictype/property-non-break-tests: New file.
61036         * modules/unictype/property-not-a-character-tests: New file.
61037         * modules/unictype/property-numeric-tests: New file.
61038         * modules/unictype/property-other-alphabetic-tests: New file.
61039         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
61040         * modules/unictype/property-other-grapheme-extend-tests: New file.
61041         * modules/unictype/property-other-id-continue-tests: New file.
61042         * modules/unictype/property-other-id-start-tests: New file.
61043         * modules/unictype/property-other-lowercase-tests: New file.
61044         * modules/unictype/property-other-math-tests: New file.
61045         * modules/unictype/property-other-uppercase-tests: New file.
61046         * modules/unictype/property-paired-punctuation-tests: New file.
61047         * modules/unictype/property-paragraph-separator-tests: New file.
61048         * modules/unictype/property-pattern-syntax-tests: New file.
61049         * modules/unictype/property-pattern-white-space-tests: New file.
61050         * modules/unictype/property-private-use-tests: New file.
61051         * modules/unictype/property-punctuation-tests: New file.
61052         * modules/unictype/property-quotation-mark-tests: New file.
61053         * modules/unictype/property-radical-tests: New file.
61054         * modules/unictype/property-sentence-terminal-tests: New file.
61055         * modules/unictype/property-soft-dotted-tests: New file.
61056         * modules/unictype/property-space-tests: New file.
61057         * modules/unictype/property-terminal-punctuation-tests: New file.
61058         * modules/unictype/property-test-tests: New file.
61059         * modules/unictype/property-titlecase-tests: New file.
61060         * modules/unictype/property-unassigned-code-value-tests: New file.
61061         * modules/unictype/property-unified-ideograph-tests: New file.
61062         * modules/unictype/property-uppercase-tests: New file.
61063         * modules/unictype/property-variation-selector-tests: New file.
61064         * modules/unictype/property-white-space-tests: New file.
61065         * modules/unictype/property-xid-continue-tests: New file.
61066         * modules/unictype/property-xid-start-tests: New file.
61067         * modules/unictype/property-zero-width-tests: New file.
61068         * modules/unictype/scripts-tests: New file.
61069         * modules/unictype/syntax-c-ident-tests: New file.
61070         * modules/unictype/syntax-c-whitespace-tests: New file.
61071         * modules/unictype/syntax-java-ident-tests: New file.
61072         * modules/unictype/syntax-java-whitespace-tests: New file.
61073         * tests/unictype/test-bidi_byname.c: New file.
61074         * tests/unictype/test-bidi_name.c: New file.
61075         * tests/unictype/test-bidi_of.c: New file.
61076         * tests/unictype/test-bidi_test.c: New file.
61077         * tests/unictype/test-block_list.c: New file.
61078         * tests/unictype/test-block_of.c: New file.
61079         * tests/unictype/test-block_test.c: New file.
61080         * tests/unictype/test-categ_and.c: New file.
61081         * tests/unictype/test-categ_and_not.c: New file.
61082         * tests/unictype/test-categ_byname.c: New file.
61083         * tests/unictype/test-categ_name.c: New file.
61084         * tests/unictype/test-categ_none.c: New file.
61085         * tests/unictype/test-categ_of.c: New file.
61086         * tests/unictype/test-categ_or.c: New file.
61087         * tests/unictype/test-categ_test_withtable.c: New file.
61088         * tests/unictype/test-combining.c: New file.
61089         * tests/unictype/test-decdigit.c: New file.
61090         * tests/unictype/test-digit.c: New file.
61091         * tests/unictype/test-mirror.c: New file.
61092         * tests/unictype/test-numeric.c: New file.
61093         * tests/unictype/test-pr_byname.c: New file.
61094         * tests/unictype/test-pr_test.c: New file.
61095         * tests/unictype/test-predicate-part1.h: New file.
61096         * tests/unictype/test-predicate-part2.h: New file.
61097         * tests/unictype/test-scripts.c: New file.
61098         * tests/unictype/test-sy_c_ident.c: New file.
61099         * tests/unictype/test-sy_java_ident.c: New file.
61100
61101         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
61102         for Unicode 5.0.0.
61103         * tests/unictype/test-categ_Cc.c: Likewise.
61104         * tests/unictype/test-categ_Cf.c: Likewise.
61105         * tests/unictype/test-categ_Cn.c: Likewise.
61106         * tests/unictype/test-categ_Co.c: Likewise.
61107         * tests/unictype/test-categ_Cs.c: Likewise.
61108         * tests/unictype/test-categ_L.c: Likewise.
61109         * tests/unictype/test-categ_Ll.c: Likewise.
61110         * tests/unictype/test-categ_Lm.c: Likewise.
61111         * tests/unictype/test-categ_Lo.c: Likewise.
61112         * tests/unictype/test-categ_Lt.c: Likewise.
61113         * tests/unictype/test-categ_Lu.c: Likewise.
61114         * tests/unictype/test-categ_M.c: Likewise.
61115         * tests/unictype/test-categ_Mc.c: Likewise.
61116         * tests/unictype/test-categ_Me.c: Likewise.
61117         * tests/unictype/test-categ_Mn.c: Likewise.
61118         * tests/unictype/test-categ_N.c: Likewise.
61119         * tests/unictype/test-categ_Nd.c: Likewise.
61120         * tests/unictype/test-categ_Nl.c: Likewise.
61121         * tests/unictype/test-categ_No.c: Likewise.
61122         * tests/unictype/test-categ_P.c: Likewise.
61123         * tests/unictype/test-categ_Pc.c: Likewise.
61124         * tests/unictype/test-categ_Pd.c: Likewise.
61125         * tests/unictype/test-categ_Pe.c: Likewise.
61126         * tests/unictype/test-categ_Pf.c: Likewise.
61127         * tests/unictype/test-categ_Pi.c: Likewise.
61128         * tests/unictype/test-categ_Po.c: Likewise.
61129         * tests/unictype/test-categ_Ps.c: Likewise.
61130         * tests/unictype/test-categ_S.c: Likewise.
61131         * tests/unictype/test-categ_Sc.c: Likewise.
61132         * tests/unictype/test-categ_Sk.c: Likewise.
61133         * tests/unictype/test-categ_Sm.c: Likewise.
61134         * tests/unictype/test-categ_So.c: Likewise.
61135         * tests/unictype/test-categ_Z.c: Likewise.
61136         * tests/unictype/test-categ_Zl.c: Likewise.
61137         * tests/unictype/test-categ_Zp.c: Likewise.
61138         * tests/unictype/test-categ_Zs.c: Likewise.
61139         * tests/unictype/test-ctype_alnum.c: Likewise.
61140         * tests/unictype/test-ctype_alpha.c: Likewise.
61141         * tests/unictype/test-ctype_blank.c: Likewise.
61142         * tests/unictype/test-ctype_cntrl.c: Likewise.
61143         * tests/unictype/test-ctype_digit.c: Likewise.
61144         * tests/unictype/test-ctype_graph.c: Likewise.
61145         * tests/unictype/test-ctype_lower.c: Likewise.
61146         * tests/unictype/test-ctype_print.c: Likewise.
61147         * tests/unictype/test-ctype_punct.c: Likewise.
61148         * tests/unictype/test-ctype_space.c: Likewise.
61149         * tests/unictype/test-ctype_upper.c: Likewise.
61150         * tests/unictype/test-ctype_xdigit.c: Likewise.
61151         * tests/unictype/test-decdigit.h: Likewise.
61152         * tests/unictype/test-digit.h: Likewise.
61153         * tests/unictype/test-numeric.h: Likewise.
61154         * tests/unictype/test-pr_alphabetic.c: Likewise.
61155         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61156         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61157         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61158         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61159         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61160         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61161         * tests/unictype/test-pr_bidi_control.c: Likewise.
61162         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61163         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61164         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61165         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61166         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61167         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61168         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61169         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61170         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61171         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61172         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61173         * tests/unictype/test-pr_combining.c: Likewise.
61174         * tests/unictype/test-pr_composite.c: Likewise.
61175         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61176         * tests/unictype/test-pr_dash.c: Likewise.
61177         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61178         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61179         * tests/unictype/test-pr_deprecated.c: Likewise.
61180         * tests/unictype/test-pr_diacritic.c: Likewise.
61181         * tests/unictype/test-pr_extender.c: Likewise.
61182         * tests/unictype/test-pr_format_control.c: Likewise.
61183         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61184         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61185         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61186         * tests/unictype/test-pr_hex_digit.c: Likewise.
61187         * tests/unictype/test-pr_hyphen.c: Likewise.
61188         * tests/unictype/test-pr_id_continue.c: Likewise.
61189         * tests/unictype/test-pr_id_start.c: Likewise.
61190         * tests/unictype/test-pr_ideographic.c: Likewise.
61191         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61192         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61193         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61194         * tests/unictype/test-pr_iso_control.c: Likewise.
61195         * tests/unictype/test-pr_join_control.c: Likewise.
61196         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61197         * tests/unictype/test-pr_line_separator.c: Likewise.
61198         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61199         * tests/unictype/test-pr_lowercase.c: Likewise.
61200         * tests/unictype/test-pr_math.c: Likewise.
61201         * tests/unictype/test-pr_non_break.c: Likewise.
61202         * tests/unictype/test-pr_not_a_character.c: Likewise.
61203         * tests/unictype/test-pr_numeric.c: Likewise.
61204         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61205         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61206         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61207         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61208         * tests/unictype/test-pr_other_id_start.c: Likewise.
61209         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61210         * tests/unictype/test-pr_other_math.c: Likewise.
61211         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61212         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61213         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61214         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61215         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61216         * tests/unictype/test-pr_private_use.c: Likewise.
61217         * tests/unictype/test-pr_punctuation.c: Likewise.
61218         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61219         * tests/unictype/test-pr_radical.c: Likewise.
61220         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61221         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61222         * tests/unictype/test-pr_space.c: Likewise.
61223         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61224         * tests/unictype/test-pr_titlecase.c: Likewise.
61225         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61226         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61227         * tests/unictype/test-pr_uppercase.c: Likewise.
61228         * tests/unictype/test-pr_variation_selector.c: Likewise.
61229         * tests/unictype/test-pr_white_space.c: Likewise.
61230         * tests/unictype/test-pr_xid_continue.c: Likewise.
61231         * tests/unictype/test-pr_xid_start.c: Likewise.
61232         * tests/unictype/test-pr_zero_width.c: Likewise.
61233         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61234         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61235
61236 2007-11-12  Bruno Haible  <bruno@clisp.org>
61237
61238         Unicode character classification functions.
61239         * lib/unictype.h: New file.
61240         * modules/unictype/base: New file.
61241         * modules/unictype/category-L: New file.
61242         * modules/unictype/category-Lu: New file.
61243         * modules/unictype/category-Ll: New file.
61244         * modules/unictype/category-Lt: New file.
61245         * modules/unictype/category-Lm: New file.
61246         * modules/unictype/category-Lo: New file.
61247         * modules/unictype/category-M: New file.
61248         * modules/unictype/category-Mn: New file.
61249         * modules/unictype/category-Mc: New file.
61250         * modules/unictype/category-Me: New file.
61251         * modules/unictype/category-N: New file.
61252         * modules/unictype/category-Nd: New file.
61253         * modules/unictype/category-Nl: New file.
61254         * modules/unictype/category-No: New file.
61255         * modules/unictype/category-P: New file.
61256         * modules/unictype/category-Pc: New file.
61257         * modules/unictype/category-Pd: New file.
61258         * modules/unictype/category-Ps: New file.
61259         * modules/unictype/category-Pe: New file.
61260         * modules/unictype/category-Pi: New file.
61261         * modules/unictype/category-Pf: New file.
61262         * modules/unictype/category-Po: New file.
61263         * modules/unictype/category-S: New file.
61264         * modules/unictype/category-Sm: New file.
61265         * modules/unictype/category-Sc: New file.
61266         * modules/unictype/category-Sk: New file.
61267         * modules/unictype/category-So: New file.
61268         * modules/unictype/category-Z: New file.
61269         * modules/unictype/category-Zs: New file.
61270         * modules/unictype/category-Zl: New file.
61271         * modules/unictype/category-Zp: New file.
61272         * modules/unictype/category-C: New file.
61273         * modules/unictype/category-Cc: New file.
61274         * modules/unictype/category-Cf: New file.
61275         * modules/unictype/category-Cs: New file.
61276         * modules/unictype/category-Co: New file.
61277         * modules/unictype/category-Cn: New file.
61278         * modules/unictype/category-or: New file.
61279         * modules/unictype/category-of: New file.
61280         * modules/unictype/category-test: New file.
61281         * modules/unictype/category-test-withtable: New file.
61282         * modules/unictype/category-byname: New file.
61283         * modules/unictype/category-none: New file.
61284         * modules/unictype/category-and: New file.
61285         * modules/unictype/category-and-not: New file.
61286         * modules/unictype/category-name: New file.
61287         * modules/unictype/combining-class: New file.
61288         * modules/unictype/category-all: New file.
61289         * modules/unictype/bidicategory-all: New file.
61290         * modules/unictype/bidicategory-byname: New file.
61291         * modules/unictype/bidicategory-name: New file.
61292         * modules/unictype/bidicategory-of: New file.
61293         * modules/unictype/bidicategory-test: New file.
61294         * modules/unictype/decimal-digit: New file.
61295         * modules/unictype/digit: New file.
61296         * modules/unictype/numeric: New file.
61297         * modules/unictype/mirror: New file.
61298         * modules/unictype/property-white-space: New file.
61299         * modules/unictype/property-alphabetic: New file.
61300         * modules/unictype/property-other-alphabetic: New file.
61301         * modules/unictype/property-not-a-character: New file.
61302         * modules/unictype/property-default-ignorable-code-point: New file.
61303         * modules/unictype/property-other-default-ignorable-code-point: New
61304         file.
61305         * modules/unictype/property-deprecated: New file.
61306         * modules/unictype/property-logical-order-exception: New file.
61307         * modules/unictype/property-variation-selector: New file.
61308         * modules/unictype/property-private-use: New file.
61309         * modules/unictype/property-unassigned-code-value: New file.
61310         * modules/unictype/property-uppercase: New file.
61311         * modules/unictype/property-other-uppercase: New file.
61312         * modules/unictype/property-lowercase: New file.
61313         * modules/unictype/property-other-lowercase: New file.
61314         * modules/unictype/property-titlecase: New file.
61315         * modules/unictype/property-soft-dotted: New file.
61316         * modules/unictype/property-id-start: New file.
61317         * modules/unictype/property-other-id-start: New file.
61318         * modules/unictype/property-id-continue: New file.
61319         * modules/unictype/property-other-id-continue: New file.
61320         * modules/unictype/property-xid-start: New file.
61321         * modules/unictype/property-xid-continue: New file.
61322         * modules/unictype/property-pattern-white-space: New file.
61323         * modules/unictype/property-pattern-syntax: New file.
61324         * modules/unictype/property-join-control: New file.
61325         * modules/unictype/property-grapheme-base: New file.
61326         * modules/unictype/property-grapheme-extend: New file.
61327         * modules/unictype/property-other-grapheme-extend: New file.
61328         * modules/unictype/property-grapheme-link: New file.
61329         * modules/unictype/property-bidi-control: New file.
61330         * modules/unictype/property-bidi-left-to-right: New file.
61331         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61332         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61333         * modules/unictype/property-bidi-european-digit: New file.
61334         * modules/unictype/property-bidi-eur-num-separator: New file.
61335         * modules/unictype/property-bidi-eur-num-terminator: New file.
61336         * modules/unictype/property-bidi-arabic-digit: New file.
61337         * modules/unictype/property-bidi-common-separator: New file.
61338         * modules/unictype/property-bidi-block-separator: New file.
61339         * modules/unictype/property-bidi-segment-separator: New file.
61340         * modules/unictype/property-bidi-whitespace: New file.
61341         * modules/unictype/property-bidi-non-spacing-mark: New file.
61342         * modules/unictype/property-bidi-boundary-neutral: New file.
61343         * modules/unictype/property-bidi-pdf: New file.
61344         * modules/unictype/property-bidi-embedding-or-override: New file.
61345         * modules/unictype/property-bidi-other-neutral: New file.
61346         * modules/unictype/property-hex-digit: New file.
61347         * modules/unictype/property-ascii-hex-digit: New file.
61348         * modules/unictype/property-ideographic: New file.
61349         * modules/unictype/property-unified-ideograph: New file.
61350         * modules/unictype/property-radical: New file.
61351         * modules/unictype/property-ids-binary-operator: New file.
61352         * modules/unictype/property-ids-trinary-operator: New file.
61353         * modules/unictype/property-zero-width: New file.
61354         * modules/unictype/property-space: New file.
61355         * modules/unictype/property-non-break: New file.
61356         * modules/unictype/property-iso-control: New file.
61357         * modules/unictype/property-format-control: New file.
61358         * modules/unictype/property-dash: New file.
61359         * modules/unictype/property-hyphen: New file.
61360         * modules/unictype/property-punctuation: New file.
61361         * modules/unictype/property-line-separator: New file.
61362         * modules/unictype/property-paragraph-separator: New file.
61363         * modules/unictype/property-quotation-mark: New file.
61364         * modules/unictype/property-sentence-terminal: New file.
61365         * modules/unictype/property-terminal-punctuation: New file.
61366         * modules/unictype/property-currency-symbol: New file.
61367         * modules/unictype/property-math: New file.
61368         * modules/unictype/property-other-math: New file.
61369         * modules/unictype/property-paired-punctuation: New file.
61370         * modules/unictype/property-left-of-pair: New file.
61371         * modules/unictype/property-combining: New file.
61372         * modules/unictype/property-composite: New file.
61373         * modules/unictype/property-decimal-digit: New file.
61374         * modules/unictype/property-numeric: New file.
61375         * modules/unictype/property-diacritic: New file.
61376         * modules/unictype/property-extender: New file.
61377         * modules/unictype/property-ignorable-control: New file.
61378         * modules/unictype/property-test: New file.
61379         * modules/unictype/property-byname: New file.
61380         * modules/unictype/property-all: New file.
61381         * modules/unictype/scripts: New file.
61382         * modules/unictype/scripts-all: New file.
61383         * modules/unictype/block-of: New file.
61384         * modules/unictype/block-test: New file.
61385         * modules/unictype/block-list: New file.
61386         * modules/unictype/block-all: New file.
61387         * modules/unictype/syntax-c-whitespace: New file.
61388         * modules/unictype/syntax-java-whitespace: New file.
61389         * modules/unictype/syntax-c-ident: New file.
61390         * modules/unictype/syntax-java-ident: New file.
61391         * modules/unictype/ctype-alnum: New file.
61392         * modules/unictype/ctype-alpha: New file.
61393         * modules/unictype/ctype-cntrl: New file.
61394         * modules/unictype/ctype-digit: New file.
61395         * modules/unictype/ctype-graph: New file.
61396         * modules/unictype/ctype-lower: New file.
61397         * modules/unictype/ctype-print: New file.
61398         * modules/unictype/ctype-punct: New file.
61399         * modules/unictype/ctype-space: New file.
61400         * modules/unictype/ctype-upper: New file.
61401         * modules/unictype/ctype-xdigit: New file.
61402         * modules/unictype/ctype-blank: New file.
61403         * lib/unictype/bidi_byname.c: New file.
61404         * lib/unictype/bidi_name.c: New file.
61405         * lib/unictype/bidi_of.c: New file.
61406         * lib/unictype/bidi_test.c: New file.
61407         * lib/unictype/bitmap.h: New file.
61408         * lib/unictype/block_test.c: New file.
61409         * lib/unictype/blocks.c: New file.
61410         * lib/unictype/categ_C.c: New file.
61411         * lib/unictype/categ_Cc.c: New file.
61412         * lib/unictype/categ_Cf.c: New file.
61413         * lib/unictype/categ_Cn.c: New file.
61414         * lib/unictype/categ_Co.c: New file.
61415         * lib/unictype/categ_Cs.c: New file.
61416         * lib/unictype/categ_L.c: New file.
61417         * lib/unictype/categ_Ll.c: New file.
61418         * lib/unictype/categ_Lm.c: New file.
61419         * lib/unictype/categ_Lo.c: New file.
61420         * lib/unictype/categ_Lt.c: New file.
61421         * lib/unictype/categ_Lu.c: New file.
61422         * lib/unictype/categ_M.c: New file.
61423         * lib/unictype/categ_Mc.c: New file.
61424         * lib/unictype/categ_Me.c: New file.
61425         * lib/unictype/categ_Mn.c: New file.
61426         * lib/unictype/categ_N.c: New file.
61427         * lib/unictype/categ_Nd.c: New file.
61428         * lib/unictype/categ_Nl.c: New file.
61429         * lib/unictype/categ_No.c: New file.
61430         * lib/unictype/categ_P.c: New file.
61431         * lib/unictype/categ_Pc.c: New file.
61432         * lib/unictype/categ_Pd.c: New file.
61433         * lib/unictype/categ_Pe.c: New file.
61434         * lib/unictype/categ_Pf.c: New file.
61435         * lib/unictype/categ_Pi.c: New file.
61436         * lib/unictype/categ_Po.c: New file.
61437         * lib/unictype/categ_Ps.c: New file.
61438         * lib/unictype/categ_S.c: New file.
61439         * lib/unictype/categ_Sc.c: New file.
61440         * lib/unictype/categ_Sk.c: New file.
61441         * lib/unictype/categ_Sm.c: New file.
61442         * lib/unictype/categ_So.c: New file.
61443         * lib/unictype/categ_Z.c: New file.
61444         * lib/unictype/categ_Zl.c: New file.
61445         * lib/unictype/categ_Zp.c: New file.
61446         * lib/unictype/categ_Zs.c: New file.
61447         * lib/unictype/categ_and.c: New file.
61448         * lib/unictype/categ_and_not.c: New file.
61449         * lib/unictype/categ_byname.c: New file.
61450         * lib/unictype/categ_name.c: New file.
61451         * lib/unictype/categ_none.c: New file.
61452         * lib/unictype/categ_of.c: New file.
61453         * lib/unictype/categ_or.c: New file.
61454         * lib/unictype/categ_test.c: New file.
61455         * lib/unictype/combining.c: New file.
61456         * lib/unictype/ctype_alnum.c: New file.
61457         * lib/unictype/ctype_alpha.c: New file.
61458         * lib/unictype/ctype_blank.c: New file.
61459         * lib/unictype/ctype_cntrl.c: New file.
61460         * lib/unictype/ctype_digit.c: New file.
61461         * lib/unictype/ctype_graph.c: New file.
61462         * lib/unictype/ctype_lower.c: New file.
61463         * lib/unictype/ctype_print.c: New file.
61464         * lib/unictype/ctype_punct.c: New file.
61465         * lib/unictype/ctype_space.c: New file.
61466         * lib/unictype/ctype_upper.c: New file.
61467         * lib/unictype/ctype_xdigit.c: New file.
61468         * lib/unictype/decdigit.c: New file.
61469         * lib/unictype/digit.c: New file.
61470         * lib/unictype/identsyntaxmap.h: New file.
61471         * lib/unictype/mirror.c: New file.
61472         * lib/unictype/numeric.c: New file.
61473         * lib/unictype/pr_alphabetic.c: New file.
61474         * lib/unictype/pr_ascii_hex_digit.c: New file.
61475         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61476         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61477         * lib/unictype/pr_bidi_block_separator.c: New file.
61478         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61479         * lib/unictype/pr_bidi_common_separator.c: New file.
61480         * lib/unictype/pr_bidi_control.c: New file.
61481         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61482         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61483         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61484         * lib/unictype/pr_bidi_european_digit.c: New file.
61485         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61486         * lib/unictype/pr_bidi_left_to_right.c: New file.
61487         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61488         * lib/unictype/pr_bidi_other_neutral.c: New file.
61489         * lib/unictype/pr_bidi_pdf.c: New file.
61490         * lib/unictype/pr_bidi_segment_separator.c: New file.
61491         * lib/unictype/pr_bidi_whitespace.c: New file.
61492         * lib/unictype/pr_byname.c: New file.
61493         * lib/unictype/pr_byname.gperf: New file.
61494         * lib/unictype/pr_combining.c: New file.
61495         * lib/unictype/pr_composite.c: New file.
61496         * lib/unictype/pr_currency_symbol.c: New file.
61497         * lib/unictype/pr_dash.c: New file.
61498         * lib/unictype/pr_decimal_digit.c: New file.
61499         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61500         * lib/unictype/pr_deprecated.c: New file.
61501         * lib/unictype/pr_diacritic.c: New file.
61502         * lib/unictype/pr_extender.c: New file.
61503         * lib/unictype/pr_format_control.c: New file.
61504         * lib/unictype/pr_grapheme_base.c: New file.
61505         * lib/unictype/pr_grapheme_extend.c: New file.
61506         * lib/unictype/pr_grapheme_link.c: New file.
61507         * lib/unictype/pr_hex_digit.c: New file.
61508         * lib/unictype/pr_hyphen.c: New file.
61509         * lib/unictype/pr_id_continue.c: New file.
61510         * lib/unictype/pr_id_start.c: New file.
61511         * lib/unictype/pr_ideographic.c: New file.
61512         * lib/unictype/pr_ids_binary_operator.c: New file.
61513         * lib/unictype/pr_ids_trinary_operator.c: New file.
61514         * lib/unictype/pr_ignorable_control.c: New file.
61515         * lib/unictype/pr_iso_control.c: New file.
61516         * lib/unictype/pr_join_control.c: New file.
61517         * lib/unictype/pr_left_of_pair.c: New file.
61518         * lib/unictype/pr_line_separator.c: New file.
61519         * lib/unictype/pr_logical_order_exception.c: New file.
61520         * lib/unictype/pr_lowercase.c: New file.
61521         * lib/unictype/pr_math.c: New file.
61522         * lib/unictype/pr_non_break.c: New file.
61523         * lib/unictype/pr_not_a_character.c: New file.
61524         * lib/unictype/pr_numeric.c: New file.
61525         * lib/unictype/pr_other_alphabetic.c: New file.
61526         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61527         * lib/unictype/pr_other_grapheme_extend.c: New file.
61528         * lib/unictype/pr_other_id_continue.c: New file.
61529         * lib/unictype/pr_other_id_start.c: New file.
61530         * lib/unictype/pr_other_lowercase.c: New file.
61531         * lib/unictype/pr_other_math.c: New file.
61532         * lib/unictype/pr_other_uppercase.c: New file.
61533         * lib/unictype/pr_paired_punctuation.c: New file.
61534         * lib/unictype/pr_paragraph_separator.c: New file.
61535         * lib/unictype/pr_pattern_syntax.c: New file.
61536         * lib/unictype/pr_pattern_white_space.c: New file.
61537         * lib/unictype/pr_private_use.c: New file.
61538         * lib/unictype/pr_punctuation.c: New file.
61539         * lib/unictype/pr_quotation_mark.c: New file.
61540         * lib/unictype/pr_radical.c: New file.
61541         * lib/unictype/pr_sentence_terminal.c: New file.
61542         * lib/unictype/pr_soft_dotted.c: New file.
61543         * lib/unictype/pr_space.c: New file.
61544         * lib/unictype/pr_terminal_punctuation.c: New file.
61545         * lib/unictype/pr_test.c: New file.
61546         * lib/unictype/pr_titlecase.c: New file.
61547         * lib/unictype/pr_unassigned_code_value.c: New file.
61548         * lib/unictype/pr_unified_ideograph.c: New file.
61549         * lib/unictype/pr_uppercase.c: New file.
61550         * lib/unictype/pr_variation_selector.c: New file.
61551         * lib/unictype/pr_white_space.c: New file.
61552         * lib/unictype/pr_xid_continue.c: New file.
61553         * lib/unictype/pr_xid_start.c: New file.
61554         * lib/unictype/pr_zero_width.c: New file.
61555         * lib/unictype/scripts.c: New file.
61556         * lib/unictype/sy_c_ident.c: New file.
61557         * lib/unictype/sy_c_whitespace.c: New file.
61558         * lib/unictype/sy_java_ident.c: New file.
61559         * lib/unictype/sy_java_whitespace.c: New file.
61560
61561         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61562         Unicode 5.0.0.
61563         * lib/unictype/blocks.h: Likewise.
61564         * lib/unictype/categ_C.h: Likewise.
61565         * lib/unictype/categ_Cc.h: Likewise.
61566         * lib/unictype/categ_Cf.h: Likewise.
61567         * lib/unictype/categ_Cn.h: Likewise.
61568         * lib/unictype/categ_Co.h: Likewise.
61569         * lib/unictype/categ_Cs.h: Likewise.
61570         * lib/unictype/categ_L.h: Likewise.
61571         * lib/unictype/categ_Ll.h: Likewise.
61572         * lib/unictype/categ_Lm.h: Likewise.
61573         * lib/unictype/categ_Lo.h: Likewise.
61574         * lib/unictype/categ_Lt.h: Likewise.
61575         * lib/unictype/categ_Lu.h: Likewise.
61576         * lib/unictype/categ_M.h: Likewise.
61577         * lib/unictype/categ_Mc.h: Likewise.
61578         * lib/unictype/categ_Me.h: Likewise.
61579         * lib/unictype/categ_Mn.h: Likewise.
61580         * lib/unictype/categ_N.h: Likewise.
61581         * lib/unictype/categ_Nd.h: Likewise.
61582         * lib/unictype/categ_Nl.h: Likewise.
61583         * lib/unictype/categ_No.h: Likewise.
61584         * lib/unictype/categ_P.h: Likewise.
61585         * lib/unictype/categ_Pc.h: Likewise.
61586         * lib/unictype/categ_Pd.h: Likewise.
61587         * lib/unictype/categ_Pe.h: Likewise.
61588         * lib/unictype/categ_Pf.h: Likewise.
61589         * lib/unictype/categ_Pi.h: Likewise.
61590         * lib/unictype/categ_Po.h: Likewise.
61591         * lib/unictype/categ_Ps.h: Likewise.
61592         * lib/unictype/categ_S.h: Likewise.
61593         * lib/unictype/categ_Sc.h: Likewise.
61594         * lib/unictype/categ_Sk.h: Likewise.
61595         * lib/unictype/categ_Sm.h: Likewise.
61596         * lib/unictype/categ_So.h: Likewise.
61597         * lib/unictype/categ_Z.h: Likewise.
61598         * lib/unictype/categ_Zl.h: Likewise.
61599         * lib/unictype/categ_Zp.h: Likewise.
61600         * lib/unictype/categ_Zs.h: Likewise.
61601         * lib/unictype/categ_of.h: Likewise.
61602         * lib/unictype/combining.h: Likewise.
61603         * lib/unictype/ctype_alnum.h: Likewise.
61604         * lib/unictype/ctype_alpha.h: Likewise.
61605         * lib/unictype/ctype_blank.h: Likewise.
61606         * lib/unictype/ctype_cntrl.h: Likewise.
61607         * lib/unictype/ctype_digit.h: Likewise.
61608         * lib/unictype/ctype_graph.h: Likewise.
61609         * lib/unictype/ctype_lower.h: Likewise.
61610         * lib/unictype/ctype_print.h: Likewise.
61611         * lib/unictype/ctype_punct.h: Likewise.
61612         * lib/unictype/ctype_space.h: Likewise.
61613         * lib/unictype/ctype_upper.h: Likewise.
61614         * lib/unictype/ctype_xdigit.h: Likewise.
61615         * lib/unictype/decdigit.h: Likewise.
61616         * lib/unictype/digit.h: Likewise.
61617         * lib/unictype/mirror.h: Likewise.
61618         * lib/unictype/numeric.h: Likewise.
61619         * lib/unictype/pr_alphabetic.h: Likewise.
61620         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61621         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61622         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61623         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61624         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61625         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61626         * lib/unictype/pr_bidi_control.h: Likewise.
61627         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61628         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61629         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61630         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61631         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61632         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61633         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61634         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61635         * lib/unictype/pr_bidi_pdf.h: Likewise.
61636         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61637         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61638         * lib/unictype/pr_combining.h: Likewise.
61639         * lib/unictype/pr_composite.h: Likewise.
61640         * lib/unictype/pr_currency_symbol.h: Likewise.
61641         * lib/unictype/pr_dash.h: Likewise.
61642         * lib/unictype/pr_decimal_digit.h: Likewise.
61643         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61644         * lib/unictype/pr_deprecated.h: Likewise.
61645         * lib/unictype/pr_diacritic.h: Likewise.
61646         * lib/unictype/pr_extender.h: Likewise.
61647         * lib/unictype/pr_format_control.h: Likewise.
61648         * lib/unictype/pr_grapheme_base.h: Likewise.
61649         * lib/unictype/pr_grapheme_extend.h: Likewise.
61650         * lib/unictype/pr_grapheme_link.h: Likewise.
61651         * lib/unictype/pr_hex_digit.h: Likewise.
61652         * lib/unictype/pr_hyphen.h: Likewise.
61653         * lib/unictype/pr_id_continue.h: Likewise.
61654         * lib/unictype/pr_id_start.h: Likewise.
61655         * lib/unictype/pr_ideographic.h: Likewise.
61656         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61657         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61658         * lib/unictype/pr_ignorable_control.h: Likewise.
61659         * lib/unictype/pr_iso_control.h: Likewise.
61660         * lib/unictype/pr_join_control.h: Likewise.
61661         * lib/unictype/pr_left_of_pair.h: Likewise.
61662         * lib/unictype/pr_line_separator.h: Likewise.
61663         * lib/unictype/pr_logical_order_exception.h: Likewise.
61664         * lib/unictype/pr_lowercase.h: Likewise.
61665         * lib/unictype/pr_math.h: Likewise.
61666         * lib/unictype/pr_non_break.h: Likewise.
61667         * lib/unictype/pr_not_a_character.h: Likewise.
61668         * lib/unictype/pr_numeric.h: Likewise.
61669         * lib/unictype/pr_other_alphabetic.h: Likewise.
61670         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61671         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61672         * lib/unictype/pr_other_id_continue.h: Likewise.
61673         * lib/unictype/pr_other_id_start.h: Likewise.
61674         * lib/unictype/pr_other_lowercase.h: Likewise.
61675         * lib/unictype/pr_other_math.h: Likewise.
61676         * lib/unictype/pr_other_uppercase.h: Likewise.
61677         * lib/unictype/pr_paired_punctuation.h: Likewise.
61678         * lib/unictype/pr_paragraph_separator.h: Likewise.
61679         * lib/unictype/pr_pattern_syntax.h: Likewise.
61680         * lib/unictype/pr_pattern_white_space.h: Likewise.
61681         * lib/unictype/pr_private_use.h: Likewise.
61682         * lib/unictype/pr_punctuation.h: Likewise.
61683         * lib/unictype/pr_quotation_mark.h: Likewise.
61684         * lib/unictype/pr_radical.h: Likewise.
61685         * lib/unictype/pr_sentence_terminal.h: Likewise.
61686         * lib/unictype/pr_soft_dotted.h: Likewise.
61687         * lib/unictype/pr_space.h: Likewise.
61688         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61689         * lib/unictype/pr_titlecase.h: Likewise.
61690         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61691         * lib/unictype/pr_unified_ideograph.h: Likewise.
61692         * lib/unictype/pr_uppercase.h: Likewise.
61693         * lib/unictype/pr_variation_selector.h: Likewise.
61694         * lib/unictype/pr_white_space.h: Likewise.
61695         * lib/unictype/pr_xid_continue.h: Likewise.
61696         * lib/unictype/pr_xid_start.h: Likewise.
61697         * lib/unictype/pr_zero_width.h: Likewise.
61698         * lib/unictype/scripts.h: Likewise.
61699         * lib/unictype/scripts_byname.gperf: Likewise.
61700         * lib/unictype/sy_c_ident.h: Likewise.
61701         * lib/unictype/sy_c_whitespace.h: Likewise.
61702         * lib/unictype/sy_java_ident.h: Likewise.
61703         * lib/unictype/sy_java_whitespace.h: Likewise.
61704
61705         * lib/unictype/Makefile: New file.
61706         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61707         glibc.
61708         * lib/unictype/3level.h: New file, copied from glibc.
61709         * lib/unictype/3levelbit.h: New file.
61710
61711 2007-11-11  Bruno Haible  <bruno@clisp.org>
61712
61713         * modules/gperf: New file.
61714         * modules/iconv_open (Depends-on): Add it.
61715         (Makefile.am): Remove the GPERF definition.
61716
61717 2007-11-11  Bruno Haible  <bruno@clisp.org>
61718
61719         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61720         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61721
61722 2007-11-11  Bruno Haible  <bruno@clisp.org>
61723
61724         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61725         (usage): Remove function.
61726
61727 2007-11-11  Bruno Haible  <bruno@clisp.org>
61728
61729         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61730         gl_FUNC_CEILF_LIBS.
61731         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61732         gl_FUNC_CEIL_LIBS.
61733         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61734         gl_FUNC_CEILL_LIBS.
61735         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61736         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61737         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61738
61739 2007-11-11  Bruno Haible  <bruno@clisp.org>
61740
61741         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61742         roundf were declared but do not exist on functions.
61743         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61744         roundl were declared but do not exist on functions.
61745         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61746         HAVE_FLOORL_AND_CEILL, respectively.
61747         Needed for Sun C on Solaris 10.
61748
61749 2007-11-11  Bruno Haible  <bruno@clisp.org>
61750
61751         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61752         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61753         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61754         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61755         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61756         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61757         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61758         HAVE_DECL_ROUNDF.
61759         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61760         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61762         of HAVE_DECL_ROUND*.
61763         * modules/math (Makefile.am): Update.
61764
61765 2007-11-10  Bruno Haible  <bruno@clisp.org>
61766
61767         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61768         ptrdiff_t as m4/intl.m4.
61769
61770 2007-11-10  Jim Meyering  <meyering@redhat.com>
61771
61772         Avoid link failure for the argmatch test.
61773         * tests/test-argmatch.c (usage): Define function to avoid a link
61774         failure: argmatch_die requires a usage function.
61775
61776 2007-11-09  Bruno Haible  <bruno@clisp.org>
61777
61778         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61779         * doc/functions/vsnprintf.texi: Likewise.
61780         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61781         with a size argument < 2.
61782
61783 2007-11-09  Bruno Haible  <bruno@clisp.org>
61784
61785         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61786         buffer. Fixes an inefficiency introduced on 2007-11-03.
61787
61788 2007-11-09  Bruno Haible  <bruno@clisp.org>
61789
61790         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61791         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61792
61793 2007-11-08  Jim Meyering  <meyering@redhat.com>
61794
61795         Change cache variable name prefix "jm_" to "gl_" everywhere.
61796         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61797         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61798         * m4/uptime.m4: s/gl_/jm_/
61799
61800 2007-11-07  Bruno Haible  <bruno@clisp.org>
61801
61802         Update to GNU gettext 0.17.
61803         * m4/intl.m4: Update to GNU gettext 0.17.
61804         * m4/po.m4: Likewise.
61805         * modules/gettext (Files): Remove m4/ulonglong.m4.
61806         (configure.ac): Require gettext infrastructure from version 0.17.
61807
61808 2007-11-06  Bruno Haible  <bruno@clisp.org>
61809
61810         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61811         symbolic values are not defined in a public header.
61812         * lib/freadable.c (freadable) [QNX]: Likewise.
61813         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61814         * lib/freading.c (freading) [QNX]: Likewise.
61815         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61816         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61817         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61818         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61819         Reported by Alain Magloire.
61820
61821         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61822
61823 2007-11-05  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61826         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61827         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61828         Reported by Eric Blake.
61829
61830 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61831             Bruno Haible  <bruno@clisp.org>
61832
61833         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61834         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61835         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61836         (malloc): Undefine also before including <stdlib.h>.
61837         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61838         Needed on OSF/1 4.0.
61839
61840 2007-11-05  Jim Meyering  <meyering@redhat.com>
61841
61842         git-version-gen: sync from coreutils.
61843         * build-aux/git-version-gen: Add comments.
61844         Change the first '-' to '.' in the snapshot version string,
61845         e.g., 6.9-377-08144 -> 6.9.377-08144
61846         Remove first parameter.
61847         Don't declare a version "-dirty" merely because a time
61848         stamp has changed.
61849
61850 2007-11-04  Bruno Haible  <bruno@clisp.org>
61851
61852         * lib/lock.h: Protect all macro definitions containing an 'if'
61853         statement through a "do { ... } while (0)".
61854         * lib/tls.h: Likewise.
61855
61856 2007-11-04  Bruno Haible  <bruno@clisp.org>
61857
61858         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61859
61860 2007-11-04  Bruno Haible  <bruno@clisp.org>
61861
61862         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61863         * modules/fprintf-posix (Depends-on): Add nocrash.
61864         * modules/snprintf-posix (Depends-on): Likewise.
61865         * modules/sprintf-posix (Depends-on): Likewise.
61866         * modules/vasnprintf-posix (Depends-on): Likewise.
61867         * modules/vasprintf-posix (Depends-on): Likewise.
61868         * modules/vfprintf-posix (Depends-on): Likewise.
61869         * modules/vsnprintf-posix (Depends-on): Likewise.
61870         * modules/vsprintf-posix (Depends-on): Likewise.
61871         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61872         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61873         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61874         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61875         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61876         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61877         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61878
61879 2007-11-04  Bruno Haible  <bruno@clisp.org>
61880
61881         * modules/nocrash: New file.
61882         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61883         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61884
61885 2007-11-04  Bruno Haible  <bruno@clisp.org>
61886
61887         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61888         precision handling.
61889         * tests/test-vasprintf-posix.c (test_function): Likewise.
61890         * tests/test-snprintf-posix.h (test_function): Likewise.
61891         * tests/test-sprintf-posix.h (test_function): Likewise.
61892
61893         Fix *printf behaviour for large precisions on mingw and BeOS.
61894         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61895         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61897         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61898         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61899         gl_PRINTF_PRECISION and test its result. Invoke
61900         gl_PREREQ_VASNPRINTF_PRECISION.
61901         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61902         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61903         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61904         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61905         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61906         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61907         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61908         * doc/functions/fprintf.texi: Update.
61909         * doc/functions/printf.texi: Update.
61910         * doc/functions/snprintf.texi: Update.
61911         * doc/functions/sprintf.texi: Update.
61912         * doc/functions/vfprintf.texi: Update.
61913         * doc/functions/vprintf.texi: Update.
61914         * doc/functions/vsnprintf.texi: Update.
61915         * doc/functions/vsprintf.texi: Update.
61916
61917 2007-11-04  Bruno Haible  <bruno@clisp.org>
61918
61919         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61920
61921 2007-11-04  Bruno Haible  <bruno@clisp.org>
61922
61923         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61924         Reported by Sylvain Beucler <beuc@gnu.org>.
61925
61926 2007-11-03  Bruno Haible  <bruno@clisp.org>
61927
61928         * tests/test-fprintf-posix2.sh: New file.
61929         * tests/test-fprintf-posix2.c: New file.
61930         * modules/fprintf-posix-tests (Files): Add them.
61931         (TESTS): Add test-fprintf-posix2.sh.
61932         (configure.ac): Check for getrlimit and setrlimit.
61933         (check_PROGRAMS): Add test-fprintf-posix2.
61934
61935         * tests/test-printf-posix2.sh: New file.
61936         * tests/test-printf-posix2.c: New file.
61937         * modules/printf-posix-tests (Files): Add them.
61938         (TESTS): Add test-printf-posix2.sh.
61939         (configure.ac): Check for getrlimit and setrlimit.
61940         (check_PROGRAMS): Add test-printf-posix2.
61941
61942         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61943         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61944         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61945         (decode_double): New function, copied from decode_long_double.
61946         (scale10_round_decimal_decoded): New function, extracted from
61947         scale10_round_decimal_long_double.
61948         (scale10_round_decimal_long_double): Use it.
61949         (scale10_round_decimal_double): New function.
61950         (floorlog10): New function.
61951         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61952         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61953         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61954         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61955         gl_PRINTF_ENOMEM and test its result. Invoke
61956         gl_PREREQ_VASNPRINTF_ENOMEM.
61957         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61958         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61960         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61961         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61962         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61963         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61964         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61965         * modules/snprintf-posix (Depends-on): Likewise.
61966         * modules/sprintf-posix (Depends-on): Likewise.
61967         * modules/vasnprintf-posix (Depends-on): Likewise.
61968         * modules/vasprintf-posix (Depends-on): Likewise.
61969         * modules/vfprintf-posix (Depends-on): Likewise.
61970         * modules/vsnprintf-posix (Depends-on): Likewise.
61971         * modules/vsprintf-posix (Depends-on): Likewise.
61972         * doc/functions/fprintf.texi: Update.
61973         * doc/functions/printf.texi: Update.
61974         * doc/functions/snprintf.texi: Update.
61975         * doc/functions/sprintf.texi: Update.
61976         * doc/functions/vfprintf.texi: Update.
61977         * doc/functions/vprintf.texi: Update.
61978         * doc/functions/vsnprintf.texi: Update.
61979         * doc/functions/vsprintf.texi: Update.
61980
61981 2007-11-03  Bruno Haible  <bruno@clisp.org>
61982
61983         * modules/frexp-nolibm-tests: New file.
61984
61985         * modules/frexp-nolibm: New file.
61986         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61987
61988 2007-11-03  Bruno Haible  <bruno@clisp.org>
61989
61990         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61991         value is C99 compliant.
61992         Needed for OSF/1 5.1.
61993
61994 2007-11-03  Bruno Haible  <bruno@clisp.org>
61995
61996         Fix out-of-memory handling of vasnprintf.
61997         * lib/printf-parse.c: Include <errno.h>.
61998         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61999         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
62000         is already set.
62001
62002 2007-11-02  Eric Blake  <ebb9@byu.net>
62003
62004         Fix tests on cygwin.
62005         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
62006
62007 2007-11-01  Bruno Haible  <bruno@clisp.org>
62008
62009         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
62010         warning.
62011         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
62012         needed for POSIX compatibility.
62013
62014 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62015
62016         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
62017         for compatibility with GNU.
62018
62019 2007-11-01  Bruno Haible  <bruno@clisp.org>
62020
62021         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
62022         (putenv): Renamed from rpl_putenv. Change argument type from
62023         'const char *' to 'char *'.
62024         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
62025         of defining putenv in config.h, just set REPLACE_PUTENV.
62026         * modules/putenv (Depends-on): Add stdlib.
62027         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62028         (Include): Use <stdlib.h>.
62029         * lib/stdlib.in.h (putenv): New declaration.
62030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
62031         REPLACE_PUTENV.
62032         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
62033         REPLACE_PUTENV.
62034         Needed for MacOS X 10.5.0.
62035         Reported by Peter O'Gorman <peter@pogma.com>.
62036
62037 2007-11-01  Jim Meyering  <meyering@redhat.com>
62038
62039         Treat an empty date string exactly like "0".
62040         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
62041         if the remaining date string (to be parsed) is empty, use "0".
62042         Reported by Mischa Molhoek and discussed in this thread:
62043         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
62044
62045 2007-10-31  Bruno Haible  <bruno@clisp.org>
62046
62047         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
62048         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
62049         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
62050         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
62051         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
62052         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
62053
62054 2007-10-31  Bruno Haible  <bruno@clisp.org>
62055
62056         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
62057         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
62058         (AC_TYPE_LONG_LONG_INT): Use it.
62059         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
62060         it as well.
62061         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
62062         to m4/longlong.m4.
62063         * modules/stdint (Files): Remove m4/ulonglong.m4.
62064         * modules/strtoull (Files): Use m4/longlong.m4 instead of
62065         m4/ulonglong.m4.
62066         * modules/strtoumax (Files): Likewise.
62067
62068 2007-10-30  Bruno Haible  <bruno@clisp.org>
62069
62070         * modules/xvasprintf-posix: New file.
62071         Suggested by Eric Blake.
62072
62073 2007-10-30  Bruno Haible  <bruno@clisp.org>
62074
62075         * modules/xprintf-posix-tests: New file.
62076         * tests/test-xprintf-posix.sh: New file.
62077         * tests/test-xprintf-posix.c: New file.
62078         * tests/test-xfprintf-posix.c: New file.
62079
62080         * modules/xprintf-posix: New file.
62081
62082 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62083
62084         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
62085         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
62086         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
62087
62088 2007-10-29  Bruno Haible  <bruno@clisp.org>
62089
62090         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
62091         contain the special marker '_cv_'.
62092         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
62093         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
62094         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
62095         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
62096         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
62097         Reported by Ralf Wildenhues.
62098
62099 2007-10-29  Bruno Haible  <bruno@clisp.org>
62100
62101         * gnulib-tool (func_import): When --lgpl is not specified, set
62102         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
62103         GPLv3.
62104         Reported by Simon Josefsson.
62105
62106 2007-10-28  Bruno Haible  <bruno@clisp.org>
62107
62108         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
62109         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
62110         HAVE_DECL_ISFINITE.
62111         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62112         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
62113         HAVE_DECL_ISFINITE.
62114
62115 2007-10-28  Bruno Haible  <bruno@clisp.org>
62116
62117         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
62118         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
62119
62120 2007-10-28  Bruno Haible  <bruno@clisp.org>
62121
62122         Fix link errors with Sun C 5.0 on Solaris 10.
62123         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
62124         function is declared but not present in the compiler's libm.
62125         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
62126         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62127         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62128         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62129         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62130         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62131         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62132         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62133         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62134         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62135         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62136         HAVE_DECL_FLOORL.
62137
62138 2007-10-28  Bruno Haible  <bruno@clisp.org>
62139
62140         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62141         gl_FUNC_FLOORL. Cache the result.
62142         (gl_FUNC_FLOORL): Use it.
62143         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62144         gl_FUNC_CEILL. Cache the result.
62145         (gl_FUNC_CEILL): Use it.
62146
62147         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62148         gl_FUNC_FLOOR. Cache the result.
62149         (gl_FUNC_FLOOR): Use it.
62150         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62151         gl_FUNC_CEIL. Cache the result.
62152         (gl_FUNC_CEIL): Use it.
62153
62154         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62155         gl_FUNC_FLOORF. Cache the result.
62156         (gl_FUNC_FLOORF): Use it.
62157         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62158         gl_FUNC_CEILF. Cache the result.
62159         (gl_FUNC_CEILF): Use it.
62160
62161 2007-10-28  Bruno Haible  <bruno@clisp.org>
62162
62163         * gnulib-tool: Allow specifying the LGPL version number through
62164         --lgpl=2 or --lgpl=3.
62165         (func_usage): Document --lgpl with argument.
62166         Handle --lgpl=... arguments.
62167         (func_import): Recognize also gl_LGPL calls with an argument. When
62168         --lgpl=2 is used and the module's license is just LGPL, report an
62169         error. Set sed_transform_lib_file according to the lgpl variable. In
62170         the generated files, use --lgpl or gl_LGPL invocations with argument,
62171         if necessary.
62172         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62173         an LGPv2+ license.
62174         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62175         gl_LGPL macro.
62176
62177 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62178             Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62181         (u16_uctomb_aux): Likewise.
62182         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62183         !HAVE_INLINE.
62184         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62185
62186 2007-10-28  Bruno Haible  <bruno@clisp.org>
62187
62188         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62189         Invoke AM_GETTEXT_OPTION if it exists.
62190         * modules/vasprintf: Likewise.
62191         * modules/verror: Likewise.
62192         * modules/xprintf: Likewise.
62193         * modules/xvasprintf: Likewise.
62194
62195 2007-10-27  Ben Pfaff  <blp@gnu.org>
62196
62197         * lib/math.in.h: Define isfinite macro and prototypes for
62198         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62199         implementations.
62200         * m4/math_h.m4: New substitutions for isfinite module.
62201         * lib/isfinite.c: New file.
62202         * m4/isfinite.m4: New file.
62203         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62204         * modules/isfinite: New file.
62205         * modules/isfinite-tests: New file.
62206         * tests/tests-isfinite.c: New file.
62207         * doc/functions/isfinite.texi: Mention isfinite module.
62208         * MODULES.html.sh: Mention new module.
62209
62210 2007-10-27  Ben Pfaff  <blp@gnu.org>
62211
62212         Ralf Wildenhues reported that Tru64 4.0D declares the round
62213         functions but does not have definitions.
62214         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62215         cannot be found in any library, set the output variable to
62216         "missing" instead of "".
62217         * m4/round.m4: Also use our substitute if we cannot find round in
62218         any library, even if it is declared.
62219         * m4/roundf.m4: Likewise for roundf.
62220         * m4/roundl.m4: Likewise for roundl.
62221         * lib/math.in.h: Undefine roundf, round, roundl before defining
62222         their replacements, to allow for hypothetical systems where these
62223         may be defined as macros but not available in libraries.
62224
62225 2007-10-27  Bruno Haible  <bruno@clisp.org>
62226
62227         * doc/gnulib.texi: Invoke @firstparagraphindent.
62228         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62229         changes in gnulib.
62230         (Source changes): New section.
62231
62232 2007-10-26  Bruno Haible  <bruno@clisp.org>
62233
62234         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62235         borrowed from autoconf.
62236
62237 2007-10-26  Bruno Haible  <bruno@clisp.org>
62238
62239         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62240         strerror returned the empty string. Needed on HP-UX 11.00.
62241
62242 2007-10-24  Micah Cowan  <micah@cowan.name>
62243
62244         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62245         * build-aux/bootstrap: Remove support for now-unnecessary option,
62246         --cvs-user, and envvars CVS_USER, CVS_RSH.
62247
62248 2007-10-24  Jim Meyering  <meyering@redhat.com>
62249
62250         Avoid diagnostics from sha1sum when there is no cached checksum.
62251         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62252         if the po.s1 file hasn't been created yet.
62253
62254         * build-aux/bootstrap: Sync from coreutils:
62255         2007-10-24  Jim Meyering  <meyering@redhat.com>
62256         Get gnulib from the git repository, not from an obsolete cvs one.
62257         * build-aux/bootstrap: Suggestion from Micah Cowan.
62258         2007-10-04  Jim Meyering  <jim@meyering.net>
62259         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62260         (update_po_files): Work also when there are no .po files in po/.
62261
62262 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62263
62264         * README: Append ".git" to git and cg examples.
62265         Problem reported by Benoit Sigoure.
62266
62267 2007-10-23  Micah Cowan  <micah@cowan.name>
62268
62269         * users.txt: Add wget.
62270
62271 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62272
62273         Fix linking of some unistdio tests on FreeBSD.
62274         * modules/unistdio/u16-vsnprintf-tests
62275         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62276         * modules/unistdio/u16-vsprintf-tests
62277         (test_u16_vsnprintf1_LDADD): Likewise.
62278         * modules/unistdio/u32-vsnprintf-tests
62279         (test_u32_vsnprintf1_LDADD): Likewise.
62280         * modules/unistdio/u32-vsprintf-tests
62281         (test_u32_vsprintf1_LDADD): Likewise.
62282         * modules/unistdio/u8-vsnprintf-tests
62283         (test_u8_vsnprintf1_LDADD): Likewise.
62284         * modules/unistdio/u8-vsprintf-tests
62285         (test_u8_vsprintf1_LDADD): Likewise.
62286         * modules/unistdio/ulc-vsnprintf-tests
62287         (test_ulc_vsnprintf1_LDADD): Likewise.
62288         * modules/unistdio/ulc-vsprintf-tests
62289         (test_ulc_vsprintf1_LDADD): Likewise.
62290
62291         Fix linking of some uniconv tests on FreeBSD.
62292         * modules/uniconv/u16-conv-from-enc-tests
62293         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62294         * modules/uniconv/u16-conv-to-enc-tests
62295         (test_u16_conv_to_enc_LDADD): Likewise.
62296         * modules/uniconv/u16-strconv-from-enc-tests
62297         (test_u16_strconv_from_enc_LDADD): Likewise.
62298         * modules/uniconv/u16-strconv-to-enc-tests
62299         (test_u16_strconv_to_enc_LDADD): Likewise.
62300         * modules/uniconv/u32-conv-from-enc-tests
62301         (test_u32_conv_from_enc_LDADD): Likewise.
62302         * modules/uniconv/u32-conv-to-enc-tests
62303         (test_u32_conv_to_enc_LDADD): Likewise.
62304         * modules/uniconv/u32-strconv-from-enc-tests
62305         (test_u32_strconv_from_enc_LDADD): Likewise.
62306         * modules/uniconv/u32-strconv-to-enc-tests
62307         (test_u32_strconv_to_enc_LDADD): Likewise.
62308         * modules/uniconv/u8-conv-from-enc-tests
62309         (test_u8_conv_from_enc_LDADD): Likewise.
62310         * modules/uniconv/u8-conv-to-enc-tests
62311         (test_u8_conv_to_enc_LDADD): Likewise.
62312         * modules/uniconv/u8-strconv-from-enc-tests
62313         (test_u8_strconv_from_enc_LDADD): Likewise.
62314         * modules/uniconv/u8-strconv-to-enc-tests
62315         (test_u8_strconv_to_enc_LDADD): Likewise.
62316
62317 2007-10-22  Bruno Haible  <bruno@clisp.org>
62318
62319         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62320         size.
62321
62322 2007-10-22  Eric Blake  <ebb9@byu.net>
62323
62324         Tweak x*printf documentation.
62325         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62326         variable name and comments.
62327         Suggested by Bruno Haible.
62328
62329 2007-10-22  Bruno Haible  <bruno@clisp.org>
62330
62331         * lib/acl.c (copy_acl): Fix file name in comment.
62332
62333 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62334
62335         Fix Tru64 problem with stdbool.h.
62336         * lib/stdbool.in.h (false, true):
62337         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62338         Don't declare as an enum in this situation; it runs afoul of Tru64.
62339         Problem reported by Steven M. Schweda in
62340         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62341
62342 2007-10-22  Eric Blake  <ebb9@byu.net>
62343
62344         Also wrap vf?printf.
62345         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62346         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62347         (xvprintf, xvfprintf): New functions.
62348
62349 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62350
62351         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62352         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62353
62354         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62355         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62356
62357 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62358
62359         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62360         by Bruno Haible.
62361
62362 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62363
62364         * lib/getloadavg.c
62365         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62366         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62367
62368         * tests/test-i-ring.c: Work for C89.
62369
62370 2007-10-22  Bruno Haible  <bruno@clisp.org>
62371
62372         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62373         -1u, in preprocessor expression, so that we don't test for the bug
62374         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62375         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62376
62377 2007-10-22  Eric Blake  <ebb9@byu.net>
62378
62379         * tests/test-yesno.sh: Silence stderr during test.
62380
62381 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62382
62383         * modules/crypto/gc-camellia: New file.
62384
62385         * m4/gc-camellia.m4: New file.
62386
62387         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62388
62389         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62390
62391 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62392
62393         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62394         --help to stdout.  Reported by sms@antinode.org (Steven
62395         M. Schweda).
62396
62397 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62398
62399         * users.txt: Fix link to libksba.
62400
62401 2007-10-21  Ben Pfaff  <blp@gnu.org>
62402
62403         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62404         round.c roundf implementation that depends on floorf and ceilf to
62405         be tested unconditionally.
62406
62407 2007-10-21  Ben Pfaff  <blp@gnu.org>
62408
62409         * m4/check-libm-func.m4: Removed.
62410         * m4/check-math-lib.m4: New file.
62411         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62412         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62413         definition and lack of AC_LIBOBJ([roundf]).
62414         * m4/roundl.m4: Ditto, and similarly for roundl.
62415         * modules/round: Reference new m4 file.
62416         * modules/roundf: Ditto.
62417         * modules/roundl: Ditto.
62418         * tests/test-round2.c (main): Use ROUND instead of round.
62419         Bug report from Bruno Haible.
62420
62421 2007-10-21  Bruno Haible  <bruno@clisp.org>
62422
62423         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
62424         context.
62425
62426 2007-10-21  Bruno Haible  <bruno@clisp.org>
62427
62428         * tests/test-wcwidth.c (main): Allow negative result for some control
62429         characters.
62430
62431         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
62432         Needed on OSF/1 5.1.
62433
62434 2007-10-21  Bruno Haible  <bruno@clisp.org>
62435
62436         * tests/test-floorf1.c: Include isnanf.h.
62437         (main): Use isnanf() instead of isnan().
62438         * tests/test-ceilf1.c: Include isnanf.h.
62439         (main): Use isnanf() instead of isnan().
62440         * tests/test-truncf1.c: Include isnanf.h.
62441         (main): Use isnanf() instead of isnan().
62442         * tests/test-roundf1.c: Include isnanf.h.
62443         (main): Use isnanf() instead of isnan().
62444
62445 2007-10-21  Eric Blake  <ebb9@byu.net>
62446
62447         * users.txt: Update URL for m4.
62448
62449 2007-10-21  Bruno Haible  <bruno@clisp.org>
62450
62451         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
62452
62453 2007-10-21  Bruno Haible  <bruno@clisp.org>
62454
62455         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
62456         Git's management files if the CVS files are not present.
62457
62458 2007-10-20  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62461         gcc-3.4.x.
62462
62463 2007-10-20  Ben Pfaff  <blp@gnu.org>
62464
62465         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62466         implementations.
62467         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62468         * lib/round.c: New file.
62469         * lib/roundf.c: New file.
62470         * lib/roundl.c: New file.
62471         * m4/round.m4: New file.
62472         * m4/roundf.m4: New file.
62473         * m4/roundl.m4: New file.
62474         * m4/check-libm-func-m4: New file.
62475         * modules/math: Replace round, roundf, roundl related @VARS@ in
62476         math.in.h.
62477         * modules/round: New file.
62478         * modules/round-tests: New file.
62479         * modules/roundf: New file.
62480         * modules/roundf-tests: New file.
62481         * modules/roundl: New file.
62482         * modules/roundl-tests: New file.
62483         * tests/test-round1.c: New file.
62484         * tests/test-round2.c: New file.
62485         * tests/test-roundf1.c: New file.
62486         * tests/test-roundf2.c: New file.
62487         * tests/test-roundl.c: New file.
62488         * doc/functions/round.texi: Mention round module.
62489         * doc/functions/roundf.texi: Mention roundf module.
62490         * doc/functions/roundl.texi: Mention roundl module.
62491         * MODULES.html.sh: Mention new modules.
62492         Thanks to Bruno Haible for suggestions.
62493
62494 2007-10-20  Jim Meyering  <meyering@redhat.com>
62495
62496         * lib/xprintf.c: Include <config.h> unconditionally.
62497
62498         Change xprintf's license to GPL.
62499         * modules/xprintf (License): s/LGPL/GPL/, since this module
62500         depends on modules (exit and exitfail) which are GPL.
62501         Suggestion from Bruno Haible.
62502
62503         xprintf fixes.
62504         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62505         Use a clearer diagnostic.
62506         Patch from Bruno Haible.
62507
62508 2007-10-20  Bruno Haible  <bruno@clisp.org>
62509
62510         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62511         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62513
62514 2007-10-20  Bruno Haible  <bruno@clisp.org>
62515
62516         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62517         precision in the comparison result > x - 1 or similar.
62518         * tests/test-ceilf2.c (correct_result_p): Likewise.
62519         * tests/test-truncf2.c (correct_result_p): Likewise.
62520         * tests/test-trunc2.c (correct_result_p): Likewise.
62521         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62522
62523 2007-10-20  Bruno Haible  <bruno@clisp.org>
62524
62525         * modules/ceil: New file.
62526         * m4/ceil.m4: New file.
62527         * doc/functions/ceil.texi: Mention the 'ceil' module.
62528
62529 2007-10-20  Bruno Haible  <bruno@clisp.org>
62530
62531         * modules/floor: New file.
62532         * m4/floor.m4: New file.
62533         * doc/functions/floor.texi: Mention the 'floor' module.
62534
62535 2007-10-20  Bruno Haible  <bruno@clisp.org>
62536
62537         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62538         of %a.
62539         * modules/floorf-tests (Depends-on): Likewise.
62540         * modules/truncf-tests (Depends-on): Likewise.
62541         * modules/trunc-tests (Depends-on): Likewise.
62542         Reported by Ben Pfaff.
62543
62544 2007-10-19  Jim Meyering  <meyering@redhat.com>
62545
62546         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62547         Don't bother testing specific errno values.  Just test ferror.
62548
62549         New module: xprintf
62550         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62551
62552 2007-10-19  Bruno Haible  <bruno@clisp.org>
62553
62554         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62555         syntax.
62556         * modules/javaexec (Makefile.am): Likewise.
62557         * modules/relocatable-prog (Makefile.am): Likewise.
62558         Suggested by Jim Meyering.
62559
62560 2007-10-18  Bruno Haible  <bruno@clisp.org>
62561
62562         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62563         Reported by Jim Meyering.
62564
62565 2007-10-18  Eric Blake  <ebb9@byu.net>
62566
62567         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62568
62569 2007-10-18  Bruno Haible  <bruno@clisp.org>
62570
62571         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62572         the format string into writable memory. Needed in Fortify conditions.
62573
62574 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62575             Bruno Haible  <bruno@clisp.org>
62576
62577         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62578         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62579         * modules/trim (Depends-on): Add mbchar.
62580         (configure.ac): Add gl_FUNC_MBRTOWC.
62581         (Makefile.am): Augment lib_SOURCES.
62582
62583 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62584
62585         Modify glob.c to use fstatat and dirfd, to simplify it.
62586         Suggested by Eric Blake.
62587         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62588         Don't include <stdbool.h>; not used.
62589         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62590         (link_exists_p): Simplify implementation, since we can now assume
62591         dirfd and fstatat.
62592         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62593
62594 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62595
62596         * gnulib-tool (func_get_dependencies): Fix sed script to
62597         match only tests.
62598
62599 2007-10-17  Bruno Haible  <bruno@clisp.org>
62600
62601         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62602         allow locale names without encoding suffix.
62603         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62604         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62605
62606 2007-10-16  Bruno Haible  <bruno@clisp.org>
62607
62608         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62609         * lib/getgroups.c (getgroups): Likewise.
62610         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62611
62612 2007-10-16  Bruno Haible  <bruno@clisp.org>
62613
62614         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62615         * modules/malloc-posix (License): Likewise.
62616         * modules/realloc-posix (License): Likewise.
62617         * modules/calloc-posix (License): Likewise.
62618         * modules/intprops (License): Change from GPL to LGPL, with
62619         Paul Eggert's approval.
62620
62621 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62622
62623         Merge glibc changes into lib/glob.c.
62624
62625         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62626         2007-10-15 04:59:03 UTC.  Here are the changes:
62627
62628         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62629
62630         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62631
62632         * lib/glob.c: Add some branch prediction throughout.
62633
62634         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62635
62636         [BZ #5103]
62637         * lib/glob.c (glob): Recognize patterns starting \/.
62638
62639         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62640
62641         [BZ #3996]
62642         * lib/glob.c (attribute_hidden): Define if not defined.
62643         (glob): Unescape dirname, filename or username when needed and not
62644         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62645         is NULL.  Handle unescaped [ in pattern without closing ].
62646         Don't pass GLOB_CHECK down to recursive glob for directories.
62647         (__glob_pattern_type): New function.
62648         (__glob_pattern_p): Implement using __glob_pattern_type.
62649         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62650         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62651         Remove unreachable code.
62652
62653         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62654
62655         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62656         explain why there are no leaks.
62657
62658         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62659
62660         [BZ #3253]
62661         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62662         time, rather allocate increasingly bigger arrays of pointers, if
62663         possible with alloca, if too large with malloc.
62664
62665 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62666
62667         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62668         Problem reported by H.Merijn Brand in
62669         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62670         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62671         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62672
62673 2007-10-15  Bruno Haible  <bruno@clisp.org>
62674
62675         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62676         with explicit rpl_ prefix.
62677         * lib/fopen.c (fopen): Likewise.
62678         * lib/freopen.c (freopen): Likewise.
62679         * lib/iconv.c (iconv): Likewise.
62680         * lib/iconv_close.c (iconv_close): Likewise.
62681
62682 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62683
62684         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62685
62686 2007-10-15  Bruno Haible  <bruno@clisp.org>
62687
62688         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62689         <stddef.h> instead of <stdlib.h> since we only need NULL.
62690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62691
62692 2007-10-15  Bruno Haible  <bruno@clisp.org>
62693
62694         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62695         Replace paragraph talking about LIBOBJS.
62696         Reported by Colin Watson <cjwatson@debian.org>.
62697
62698 2007-10-15  Bruno Haible  <bruno@clisp.org>
62699
62700         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62701         <stdlib.h> before using NULL.
62702
62703 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62704
62705         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62706         Reported by Albert Chin <china@thewrittenword.com>.
62707
62708 2007-10-14  Bruno Haible  <bruno@clisp.org>
62709
62710         * modules/iconv_open-utf-tests: New file.
62711         * tests/test-iconv-utf.c: New file.
62712
62713         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62714         * modules/iconv_open-utf: New file.
62715         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62716         (iconv, iconv_close): New declarations.
62717         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62718         be defined.
62719         (iconv_open): Add special handling of conversion between UTF-8 and
62720         UTF-{16,32}{BE,LE}.
62721         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62722         * lib/iconv_close.c: New file.
62723         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62724         gl_FUNC_ICONV_OPEN.
62725         (gl_FUNC_ICONV_OPEN): Use it.
62726         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62727         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62728         and REPLACE_ICONV_UTF.
62729         * modules/iconv_open (Depends-on): Add c-strcase.
62730         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62731         ICONV_CONST.
62732         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62733
62734 2007-10-13  Albert Chin  <china@thewrittenword.com>
62735             Bruno Haible  <bruno@clisp.org>
62736
62737         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62738         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62739
62740 2007-10-13  Bruno Haible  <bruno@clisp.org>
62741
62742         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62743         defined, use the ISO C99 inline semantics.
62744         * lib/argp.h (ARGP_EI): Likewise.
62745
62746 2007-10-13  Bruno Haible  <bruno@clisp.org>
62747
62748         Handle 'inline' change in gcc 4.3.0.
62749         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62750         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62751         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62752         argp_fmtstream_point): Disable 'extern' declaration if the function
62753         definition is going to be provided inline.
62754         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62755         semantics, not the ISO C99 inline semantics.
62756         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62757         'extern' declaration if the function definition is going to be provided
62758         inline.
62759         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62760         the GNU C inline semantics, not the ISO C99 inline semantics. With
62761         GCC 4.2, avoid a warning.
62762
62763 2007-10-13  Bruno Haible  <bruno@clisp.org>
62764
62765         * lib/freading.h (freading): Enable the use of __freading for
62766         glibc >= 2.7.
62767         * lib/freading.c (freading): Likewise.
62768
62769 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62770
62771         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62772         "warning: C99 inline functions are not supported; using GNU89".
62773
62774 2007-10-12  Bruno Haible  <bruno@clisp.org>
62775
62776         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62777         of 2.
62778         * tests/test-ceilf2.c: New file.
62779         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62780
62781         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62782         * modules/ceilf-tests: Update.
62783
62784 2007-10-12  Bruno Haible  <bruno@clisp.org>
62785
62786         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62787         of 2.
62788         * tests/test-floorf2.c: New file.
62789         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62790
62791         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62792         * modules/floorf-tests: Update.
62793
62794 2007-10-12  Bruno Haible  <bruno@clisp.org>
62795
62796         * tests/test-trunc2.c: New file.
62797         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62798
62799         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62800         * modules/trunc-tests: Update.
62801
62802 2007-10-12  Bruno Haible  <bruno@clisp.org>
62803
62804         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62805         of 2.
62806         * tests/test-truncf2.c: New file.
62807         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62808
62809         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62810         * modules/truncf-tests: Update.
62811
62812 2007-10-11  Eric Blake  <ebb9@byu.net>
62813
62814         Don't claim strerror is broken on Interix.
62815         * doc/functions/strerror.texi (strerror): Known broken systems are
62816         now Solaris 8, and not Interix.
62817         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62818         Interix on cross-compile.
62819         Reported by Martin Koeppe in
62820         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62821
62822 2007-10-11  Bruno Haible  <bruno@clisp.org>
62823
62824         * modules/i-ring-tests: New file.
62825         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62826         instead of assert.
62827
62828 2007-10-11  Bruno Haible  <bruno@clisp.org>
62829
62830         * modules/filenamecat-tests: New file.
62831         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62832         * lib/filenamecat.c: Remove test code.
62833
62834 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62835
62836         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62837
62838         * lib/strerror.c: Include <string.h> always, to test interface,
62839         and to remove the need for the dummy.
62840         Include intprops.h to compute width instead of doing it ourselves
62841         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62842         (strerror): Define it to return NULL if there's no system strerror.
62843         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62844         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62845         ancient pre-strerror Unix systems well any more.  Saying "unknown
62846         system error" is enough.
62847         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62848         simpler strerror.c implementation.
62849         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62850         Simplify the tests to reflect the simpler strerror implementation.
62851         * modules/strerror (Depends-on): Add intprops.
62852
62853 2007-10-09  Eric Blake  <ebb9@byu.net>
62854
62855         Silence test-fpending.
62856         * modules/fpending-tests (Files): Add wrapper script.
62857         * tests/test-fpending.sh: New file.
62858
62859 2007-10-09  Bruno Haible  <bruno@clisp.org>
62860
62861         * MODULES.html.sh (func_module): Don't create a hyperlink for
62862         function names like 'printf_frexp'.
62863         (Misc): Add crc, memxor.
62864         (Characteristics of floating types): New section.
62865         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62866         isnanf-nolibm, signbit, trunc, truncf, truncl.
62867         (Enhancements for ISO C 99 functions): New subsection Input/output.
62868         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62869         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62870         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62871         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62872         (Enhancements for POSIX:2001 functions): Add chdir-long.
62873         (File system functions): Add areadlink, chdir-safer, read-file.
62874         Remove cycle-check.
62875         (File system as inode set): New section.
62876         (Date and time): Add gethrxtime.
62877         (Multithreading): Add openmp.
62878         (Internationalization functions): Add localename.
62879         (Unicode string functions): Add unistr/u*-mbsnlen.
62880         (Support for maintaining and releasing projects): Add git-version-gen.
62881         (Lone files): Remove directories.
62882
62883 2007-10-08  Ben Pfaff  <blp@gnu.org>
62884
62885         * lib/xmalloca.h: Fix typo in comment.
62886
62887 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62888
62889         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62890         when avoiding problems with integer overflow.  Use a portable test
62891         instead.
62892
62893 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62894
62895         * modules/dummy (License): Change to LGPLv2+.
62896         * modules/float (License): Likewise
62897         * modules/realloc (License): Likewise
62898         * modules/stdlib (License): Likewise
62899
62900 2007-10-07  Bruno Haible  <bruno@clisp.org>
62901
62902         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62903         * floor.c (TWO_MANT_DIG): Likewise.
62904         * ceil.c (TWO_MANT_DIG): Likewise.
62905         Reported by Ben Pfaff.
62906
62907 2007-10-07  Bruno Haible  <bruno@clisp.org>
62908
62909         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62910         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62911         * lib/frexp.c (FUNC): Likewise.
62912         * lib/printf-frexp.h (printf_frexp): Likewise.
62913         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62914         * lib/printf-frexp.c (FUNC): Likewise.
62915         Suggested by Jim Meyering.
62916
62917 2007-10-07  Jim Meyering  <meyering@redhat.com>
62918
62919         Make xnanosleep's integer overflow test more robust.
62920         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62921         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62922
62923 2007-10-07  Bruno Haible  <bruno@clisp.org>
62924
62925         * NEWS: Mention the license change.
62926
62927         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62928         abbreviations in the modules files.
62929
62930         Change copyright notice from GPLv2+ to GPLv3+.
62931         * README: Change copyright notice.
62932         * MODULES.html.sh: Likewise.
62933         * build-aux/bootstrap.conf: Likewise.
62934         * build-aux/config.libpath: Likewise.
62935         * build-aux/csharpcomp.sh.in: Likewise.
62936         * build-aux/csharpexec.sh.in: Likewise.
62937         * build-aux/install-reloc: Likewise.
62938         * build-aux/javacomp.sh.in: Likewise.
62939         * build-aux/javaexec.sh.in: Likewise.
62940         * build-aux/ldd.sh.in: Likewise.
62941         * build-aux/reloc-ldflags: Likewise.
62942         * build-aux/relocatable.sh.in: Likewise.
62943         * build-aux/x-to-1.in: Likewise.
62944         * check-module: Likewise.
62945         * config/srclistvars.sh: Likewise.
62946         * gnulib-tool: Likewise.
62947         * lib/acl-internal.h: Likewise.
62948         * lib/acl.c: Likewise.
62949         * lib/acl.h: Likewise.
62950         * lib/acl_entries.c: Likewise.
62951         * lib/areadlink-with-size.c: Likewise.
62952         * lib/areadlink.c: Likewise.
62953         * lib/areadlink.h: Likewise.
62954         * lib/argmatch.c: Likewise.
62955         * lib/argmatch.h: Likewise.
62956         * lib/argp-ba.c: Likewise.
62957         * lib/argp-eexst.c: Likewise.
62958         * lib/argp-fmtstream.c: Likewise.
62959         * lib/argp-fmtstream.h: Likewise.
62960         * lib/argp-fs-xinl.c: Likewise.
62961         * lib/argp-help.c: Likewise.
62962         * lib/argp-namefrob.h: Likewise.
62963         * lib/argp-parse.c: Likewise.
62964         * lib/argp-pin.c: Likewise.
62965         * lib/argp-pv.c: Likewise.
62966         * lib/argp-pvh.c: Likewise.
62967         * lib/argp-xinl.c: Likewise.
62968         * lib/argp.h: Likewise.
62969         * lib/at-func.c: Likewise.
62970         * lib/atanl.c: Likewise.
62971         * lib/backupfile.c: Likewise.
62972         * lib/backupfile.h: Likewise.
62973         * lib/basename.c: Likewise.
62974         * lib/binary-io.h: Likewise.
62975         * lib/byteswap.in.h: Likewise.
62976         * lib/c-stack.c: Likewise.
62977         * lib/c-stack.h: Likewise.
62978         * lib/c-strcasestr.c: Likewise.
62979         * lib/c-strcasestr.h: Likewise.
62980         * lib/c-strstr.c: Likewise.
62981         * lib/c-strstr.h: Likewise.
62982         * lib/c-strtod.c: Likewise.
62983         * lib/calloc.c: Likewise.
62984         * lib/canon-host.c: Likewise.
62985         * lib/canon-host.h: Likewise.
62986         * lib/canonicalize-lgpl.c: Likewise.
62987         * lib/canonicalize.c: Likewise.
62988         * lib/canonicalize.h: Likewise.
62989         * lib/ceil.c: Likewise.
62990         * lib/ceilf.c: Likewise.
62991         * lib/ceill.c: Likewise.
62992         * lib/chdir-long.c: Likewise.
62993         * lib/chdir-long.h: Likewise.
62994         * lib/chdir-safer.c: Likewise.
62995         * lib/chdir-safer.h: Likewise.
62996         * lib/chown.c: Likewise.
62997         * lib/classpath.c: Likewise.
62998         * lib/classpath.h: Likewise.
62999         * lib/clean-temp.c: Likewise.
63000         * lib/clean-temp.h: Likewise.
63001         * lib/cloexec.c: Likewise.
63002         * lib/close-stream.c: Likewise.
63003         * lib/closein.c: Likewise.
63004         * lib/closein.h: Likewise.
63005         * lib/closeout.c: Likewise.
63006         * lib/closeout.h: Likewise.
63007         * lib/concat-filename.c: Likewise.
63008         * lib/copy-file.c: Likewise.
63009         * lib/copy-file.h: Likewise.
63010         * lib/count-one-bits.h: Likewise.
63011         * lib/crc.c: Likewise.
63012         * lib/crc.h: Likewise.
63013         * lib/creat-safer.c: Likewise.
63014         * lib/csharpcomp.c: Likewise.
63015         * lib/csharpcomp.h: Likewise.
63016         * lib/csharpexec.c: Likewise.
63017         * lib/csharpexec.h: Likewise.
63018         * lib/cycle-check.c: Likewise.
63019         * lib/cycle-check.h: Likewise.
63020         * lib/diacrit.c: Likewise.
63021         * lib/diacrit.h: Likewise.
63022         * lib/diffseq.h: Likewise.
63023         * lib/dirchownmod.c: Likewise.
63024         * lib/dirent.in.h: Likewise.
63025         * lib/dirfd.c: Likewise.
63026         * lib/dirfd.h: Likewise.
63027         * lib/dirname.c: Likewise.
63028         * lib/dirname.h: Likewise.
63029         * lib/dummy.c: Likewise.
63030         * lib/dup-safer.c: Likewise.
63031         * lib/dup2.c: Likewise.
63032         * lib/eealloc.h: Likewise.
63033         * lib/error.c: Likewise.
63034         * lib/error.h: Likewise.
63035         * lib/euidaccess.c: Likewise.
63036         * lib/exclude.c: Likewise.
63037         * lib/exclude.h: Likewise.
63038         * lib/execute.c: Likewise.
63039         * lib/execute.h: Likewise.
63040         * lib/exitfail.c: Likewise.
63041         * lib/exitfail.h: Likewise.
63042         * lib/expl.c: Likewise.
63043         * lib/fatal-signal.c: Likewise.
63044         * lib/fatal-signal.h: Likewise.
63045         * lib/fbufmode.c: Likewise.
63046         * lib/fbufmode.h: Likewise.
63047         * lib/fchdir.c: Likewise.
63048         * lib/fchmodat.c: Likewise.
63049         * lib/fchownat.c: Likewise.
63050         * lib/fcntl--.h: Likewise.
63051         * lib/fcntl-safer.h: Likewise.
63052         * lib/fcntl.in.h: Likewise.
63053         * lib/fd-safer.c: Likewise.
63054         * lib/fflush.c: Likewise.
63055         * lib/file-has-acl.c: Likewise.
63056         * lib/file-set.c: Likewise.
63057         * lib/file-type.c: Likewise.
63058         * lib/file-type.h: Likewise.
63059         * lib/fileblocks.c: Likewise.
63060         * lib/filemode.c: Likewise.
63061         * lib/filemode.h: Likewise.
63062         * lib/filename.h: Likewise.
63063         * lib/filenamecat.c: Likewise.
63064         * lib/filenamecat.h: Likewise.
63065         * lib/findprog.c: Likewise.
63066         * lib/findprog.h: Likewise.
63067         * lib/float.in.h: Likewise.
63068         * lib/floor.c: Likewise.
63069         * lib/floorf.c: Likewise.
63070         * lib/floorl.c: Likewise.
63071         * lib/fopen-safer.c: Likewise.
63072         * lib/fopen.c: Likewise.
63073         * lib/fpending.c: Likewise.
63074         * lib/fpending.h: Likewise.
63075         * lib/fprintf.c: Likewise.
63076         * lib/fprintftime.h: Likewise.
63077         * lib/fpucw.h: Likewise.
63078         * lib/fpurge.c: Likewise.
63079         * lib/fpurge.h: Likewise.
63080         * lib/freadable.c: Likewise.
63081         * lib/freadable.h: Likewise.
63082         * lib/freadahead.c: Likewise.
63083         * lib/freadahead.h: Likewise.
63084         * lib/freading.c: Likewise.
63085         * lib/freading.h: Likewise.
63086         * lib/free.c: Likewise.
63087         * lib/freopen.c: Likewise.
63088         * lib/frexp.c: Likewise.
63089         * lib/frexpl.c: Likewise.
63090         * lib/fseek.c: Likewise.
63091         * lib/fseterr.c: Likewise.
63092         * lib/fseterr.h: Likewise.
63093         * lib/fstatat.c: Likewise.
63094         * lib/fstrcmp.c: Likewise.
63095         * lib/fstrcmp.h: Likewise.
63096         * lib/fsusage.c: Likewise.
63097         * lib/fsusage.h: Likewise.
63098         * lib/ftell.c: Likewise.
63099         * lib/ftello.c: Likewise.
63100         * lib/fts-cycle.c: Likewise.
63101         * lib/fts.c: Likewise.
63102         * lib/fts_.h: Likewise.
63103         * lib/full-read.c: Likewise.
63104         * lib/full-read.h: Likewise.
63105         * lib/full-write.c: Likewise.
63106         * lib/full-write.h: Likewise.
63107         * lib/fwritable.c: Likewise.
63108         * lib/fwritable.h: Likewise.
63109         * lib/fwriteerror.c: Likewise.
63110         * lib/fwriteerror.h: Likewise.
63111         * lib/fwriting.c: Likewise.
63112         * lib/fwriting.h: Likewise.
63113         * lib/gcd.c: Likewise.
63114         * lib/gcd.h: Likewise.
63115         * lib/getcwd.c: Likewise.
63116         * lib/getdate.h: Likewise.
63117         * lib/getdate.y: Likewise.
63118         * lib/getdomainname.c: Likewise.
63119         * lib/getdomainname.h: Likewise.
63120         * lib/getgroups.c: Likewise.
63121         * lib/gethostname.c: Likewise.
63122         * lib/gethrxtime.c: Likewise.
63123         * lib/gethrxtime.h: Likewise.
63124         * lib/getloadavg.c: Likewise.
63125         * lib/getndelim2.c: Likewise.
63126         * lib/getndelim2.h: Likewise.
63127         * lib/getnline.c: Likewise.
63128         * lib/getnline.h: Likewise.
63129         * lib/getopt.c: Likewise.
63130         * lib/getopt.in.h: Likewise.
63131         * lib/getopt1.c: Likewise.
63132         * lib/getopt_int.h: Likewise.
63133         * lib/getpagesize.h: Likewise.
63134         * lib/getsubopt.c: Likewise.
63135         * lib/gettime.c: Likewise.
63136         * lib/getugroups.c: Likewise.
63137         * lib/getugroups.h: Likewise.
63138         * lib/getusershell.c: Likewise.
63139         * lib/gl_anyavltree_list1.h: Likewise.
63140         * lib/gl_anyavltree_list2.h: Likewise.
63141         * lib/gl_anyhash_list1.h: Likewise.
63142         * lib/gl_anyhash_list2.h: Likewise.
63143         * lib/gl_anylinked_list1.h: Likewise.
63144         * lib/gl_anylinked_list2.h: Likewise.
63145         * lib/gl_anyrbtree_list1.h: Likewise.
63146         * lib/gl_anyrbtree_list2.h: Likewise.
63147         * lib/gl_anytree_list1.h: Likewise.
63148         * lib/gl_anytree_list2.h: Likewise.
63149         * lib/gl_anytree_oset.h: Likewise.
63150         * lib/gl_anytreehash_list1.h: Likewise.
63151         * lib/gl_anytreehash_list2.h: Likewise.
63152         * lib/gl_array_list.c: Likewise.
63153         * lib/gl_array_list.h: Likewise.
63154         * lib/gl_array_oset.c: Likewise.
63155         * lib/gl_array_oset.h: Likewise.
63156         * lib/gl_avltree_list.c: Likewise.
63157         * lib/gl_avltree_list.h: Likewise.
63158         * lib/gl_avltree_oset.c: Likewise.
63159         * lib/gl_avltree_oset.h: Likewise.
63160         * lib/gl_avltreehash_list.c: Likewise.
63161         * lib/gl_avltreehash_list.h: Likewise.
63162         * lib/gl_carray_list.c: Likewise.
63163         * lib/gl_carray_list.h: Likewise.
63164         * lib/gl_linked_list.c: Likewise.
63165         * lib/gl_linked_list.h: Likewise.
63166         * lib/gl_linkedhash_list.c: Likewise.
63167         * lib/gl_linkedhash_list.h: Likewise.
63168         * lib/gl_list.c: Likewise.
63169         * lib/gl_list.h: Likewise.
63170         * lib/gl_oset.c: Likewise.
63171         * lib/gl_oset.h: Likewise.
63172         * lib/gl_rbtree_list.c: Likewise.
63173         * lib/gl_rbtree_list.h: Likewise.
63174         * lib/gl_rbtree_oset.c: Likewise.
63175         * lib/gl_rbtree_oset.h: Likewise.
63176         * lib/gl_rbtreehash_list.c: Likewise.
63177         * lib/gl_rbtreehash_list.h: Likewise.
63178         * lib/gl_sublist.c: Likewise.
63179         * lib/gl_sublist.h: Likewise.
63180         * lib/group-member.c: Likewise.
63181         * lib/group-member.h: Likewise.
63182         * lib/hard-locale.c: Likewise.
63183         * lib/hard-locale.h: Likewise.
63184         * lib/hash-pjw.c: Likewise.
63185         * lib/hash-pjw.h: Likewise.
63186         * lib/hash-triple.c: Likewise.
63187         * lib/hash.c: Likewise.
63188         * lib/hash.h: Likewise.
63189         * lib/human.c: Likewise.
63190         * lib/human.h: Likewise.
63191         * lib/i-ring.c: Likewise.
63192         * lib/i-ring.h: Likewise.
63193         * lib/idcache.c: Likewise.
63194         * lib/imaxabs.c: Likewise.
63195         * lib/imaxdiv.c: Likewise.
63196         * lib/inet_pton.c: Likewise.
63197         * lib/inet_pton.h: Likewise.
63198         * lib/intprops.h: Likewise.
63199         * lib/inttostr.c: Likewise.
63200         * lib/inttostr.h: Likewise.
63201         * lib/inttypes.in.h: Likewise.
63202         * lib/isapipe.c: Likewise.
63203         * lib/isdir.c: Likewise.
63204         * lib/isnan.c: Likewise.
63205         * lib/isnan.h: Likewise.
63206         * lib/isnanf.c: Likewise.
63207         * lib/isnanf.h: Likewise.
63208         * lib/isnanl-nolibm.h: Likewise.
63209         * lib/isnanl.c: Likewise.
63210         * lib/isnanl.h: Likewise.
63211         * lib/javacomp.c: Likewise.
63212         * lib/javacomp.h: Likewise.
63213         * lib/javaexec.c: Likewise.
63214         * lib/javaexec.h: Likewise.
63215         * lib/javaversion.c: Likewise.
63216         * lib/javaversion.h: Likewise.
63217         * lib/javaversion.java: Likewise.
63218         * lib/lbrkprop.h: Likewise.
63219         * lib/lchmod.h: Likewise.
63220         * lib/lchown.c: Likewise.
63221         * lib/ldexpl.c: Likewise.
63222         * lib/linebreak.c: Likewise.
63223         * lib/linebreak.h: Likewise.
63224         * lib/linebuffer.c: Likewise.
63225         * lib/linebuffer.h: Likewise.
63226         * lib/locale.in.h: Likewise.
63227         * lib/logl.c: Likewise.
63228         * lib/long-options.c: Likewise.
63229         * lib/long-options.h: Likewise.
63230         * lib/lstat.c: Likewise.
63231         * lib/lstat.h: Likewise.
63232         * lib/math.in.h: Likewise.
63233         * lib/mbchar.c: Likewise.
63234         * lib/mbchar.h: Likewise.
63235         * lib/mbfile.h: Likewise.
63236         * lib/mbiter.h: Likewise.
63237         * lib/mbscasecmp.c: Likewise.
63238         * lib/mbscasestr.c: Likewise.
63239         * lib/mbschr.c: Likewise.
63240         * lib/mbscspn.c: Likewise.
63241         * lib/mbslen.c: Likewise.
63242         * lib/mbsncasecmp.c: Likewise.
63243         * lib/mbsnlen.c: Likewise.
63244         * lib/mbspbrk.c: Likewise.
63245         * lib/mbspcasecmp.c: Likewise.
63246         * lib/mbsrchr.c: Likewise.
63247         * lib/mbssep.c: Likewise.
63248         * lib/mbsspn.c: Likewise.
63249         * lib/mbsstr.c: Likewise.
63250         * lib/mbstok_r.c: Likewise.
63251         * lib/mbswidth.c: Likewise.
63252         * lib/mbswidth.h: Likewise.
63253         * lib/mbuiter.h: Likewise.
63254         * lib/memcasecmp.c: Likewise.
63255         * lib/memcasecmp.h: Likewise.
63256         * lib/memchr.c: Likewise.
63257         * lib/memcmp.c: Likewise.
63258         * lib/memcoll.c: Likewise.
63259         * lib/memcoll.h: Likewise.
63260         * lib/memcpy.c: Likewise.
63261         * lib/memrchr.c: Likewise.
63262         * lib/mkancesdirs.c: Likewise.
63263         * lib/mkdir-p.c: Likewise.
63264         * lib/mkdir-p.h: Likewise.
63265         * lib/mkdir.c: Likewise.
63266         * lib/mkdirat.c: Likewise.
63267         * lib/mkdtemp.c: Likewise.
63268         * lib/mkstemp-safer.c: Likewise.
63269         * lib/mkstemp.c: Likewise.
63270         * lib/modechange.c: Likewise.
63271         * lib/modechange.h: Likewise.
63272         * lib/mountlist.c: Likewise.
63273         * lib/mountlist.h: Likewise.
63274         * lib/mpsort.c: Likewise.
63275         * lib/nanosleep.c: Likewise.
63276         * lib/obstack.c: Likewise.
63277         * lib/obstack.h: Likewise.
63278         * lib/open-safer.c: Likewise.
63279         * lib/open.c: Likewise.
63280         * lib/openat-die.c: Likewise.
63281         * lib/openat-priv.h: Likewise.
63282         * lib/openat-proc.c: Likewise.
63283         * lib/openat.c: Likewise.
63284         * lib/openat.h: Likewise.
63285         * lib/pagealign_alloc.c: Likewise.
63286         * lib/pagealign_alloc.h: Likewise.
63287         * lib/physmem.c: Likewise.
63288         * lib/physmem.h: Likewise.
63289         * lib/pipe-safer.c: Likewise.
63290         * lib/pipe.c: Likewise.
63291         * lib/pipe.h: Likewise.
63292         * lib/posixtm.c: Likewise.
63293         * lib/posixtm.h: Likewise.
63294         * lib/posixver.c: Likewise.
63295         * lib/printf-frexp.c: Likewise.
63296         * lib/printf-frexp.h: Likewise.
63297         * lib/printf-frexpl.c: Likewise.
63298         * lib/printf-frexpl.h: Likewise.
63299         * lib/printf.c: Likewise.
63300         * lib/progname.c: Likewise.
63301         * lib/progname.h: Likewise.
63302         * lib/progreloc.c: Likewise.
63303         * lib/putenv.c: Likewise.
63304         * lib/quote.c: Likewise.
63305         * lib/quote.h: Likewise.
63306         * lib/quotearg.c: Likewise.
63307         * lib/quotearg.h: Likewise.
63308         * lib/raise.c: Likewise.
63309         * lib/readline.c: Likewise.
63310         * lib/readline.h: Likewise.
63311         * lib/readlink.c: Likewise.
63312         * lib/readtokens.c: Likewise.
63313         * lib/readtokens.h: Likewise.
63314         * lib/readtokens0.c: Likewise.
63315         * lib/readtokens0.h: Likewise.
63316         * lib/readutmp.c: Likewise.
63317         * lib/readutmp.h: Likewise.
63318         * lib/realloc.c: Likewise.
63319         * lib/relocwrapper.c: Likewise.
63320         * lib/rename-dest-slash.c: Likewise.
63321         * lib/rename.c: Likewise.
63322         * lib/rmdir.c: Likewise.
63323         * lib/rpmatch.c: Likewise.
63324         * lib/safe-read.c: Likewise.
63325         * lib/safe-read.h: Likewise.
63326         * lib/safe-write.c: Likewise.
63327         * lib/safe-write.h: Likewise.
63328         * lib/same-inode.h: Likewise.
63329         * lib/same.c: Likewise.
63330         * lib/same.h: Likewise.
63331         * lib/save-cwd.c: Likewise.
63332         * lib/save-cwd.h: Likewise.
63333         * lib/savedir.c: Likewise.
63334         * lib/savedir.h: Likewise.
63335         * lib/savewd.c: Likewise.
63336         * lib/savewd.h: Likewise.
63337         * lib/search.in.h: Likewise.
63338         * lib/setenv.c: Likewise.
63339         * lib/setenv.h: Likewise.
63340         * lib/settime.c: Likewise.
63341         * lib/sh-quote.c: Likewise.
63342         * lib/sh-quote.h: Likewise.
63343         * lib/sig2str.c: Likewise.
63344         * lib/sig2str.h: Likewise.
63345         * lib/signal.in.h: Likewise.
63346         * lib/signbitd.c: Likewise.
63347         * lib/signbitf.c: Likewise.
63348         * lib/signbitl.c: Likewise.
63349         * lib/sigprocmask.c: Likewise.
63350         * lib/sincosl.c: Likewise.
63351         * lib/sleep.c: Likewise.
63352         * lib/sprintf.c: Likewise.
63353         * lib/sqrtl.c: Likewise.
63354         * lib/stat-time.h: Likewise.
63355         * lib/stdio--.h: Likewise.
63356         * lib/stdio-safer.h: Likewise.
63357         * lib/stdlib--.h: Likewise.
63358         * lib/stdlib-safer.h: Likewise.
63359         * lib/stdlib.in.h: Likewise.
63360         * lib/stpcpy.c: Likewise.
63361         * lib/stpncpy.c: Likewise.
63362         * lib/strchrnul.c: Likewise.
63363         * lib/strcspn.c: Likewise.
63364         * lib/strerror.c: Likewise.
63365         * lib/strftime.c: Likewise.
63366         * lib/strftime.h: Likewise.
63367         * lib/striconveh.c: Likewise.
63368         * lib/striconveh.h: Likewise.
63369         * lib/striconveha.c: Likewise.
63370         * lib/striconveha.h: Likewise.
63371         * lib/stripslash.c: Likewise.
63372         * lib/strnlen1.c: Likewise.
63373         * lib/strnlen1.h: Likewise.
63374         * lib/strtod.c: Likewise.
63375         * lib/strtoimax.c: Likewise.
63376         * lib/strtok_r.c: Likewise.
63377         * lib/strtol.c: Likewise.
63378         * lib/strtoll.c: Likewise.
63379         * lib/strtoul.c: Likewise.
63380         * lib/strtoull.c: Likewise.
63381         * lib/sysexits.in.h: Likewise.
63382         * lib/tempname.c: Likewise.
63383         * lib/tempname.h: Likewise.
63384         * lib/timespec.h: Likewise.
63385         * lib/tls.c: Likewise.
63386         * lib/tls.h: Likewise.
63387         * lib/tmpdir.c: Likewise.
63388         * lib/tmpdir.h: Likewise.
63389         * lib/tmpfile-safer.c: Likewise.
63390         * lib/tmpfile.c: Likewise.
63391         * lib/trigl.c: Likewise.
63392         * lib/trigl.h: Likewise.
63393         * lib/trim.c: Likewise.
63394         * lib/trim.h: Likewise.
63395         * lib/trunc.c: Likewise.
63396         * lib/truncf.c: Likewise.
63397         * lib/truncl.c: Likewise.
63398         * lib/tsearch.c: Likewise.
63399         * lib/unicodeio.c: Likewise.
63400         * lib/unicodeio.h: Likewise.
63401         * lib/unistd--.h: Likewise.
63402         * lib/unistd-safer.h: Likewise.
63403         * lib/unistdio/ulc-fprintf.c: Likewise.
63404         * lib/unistdio/ulc-vfprintf.c: Likewise.
63405         * lib/unlinkdir.c: Likewise.
63406         * lib/unlinkdir.h: Likewise.
63407         * lib/unlocked-io.h: Likewise.
63408         * lib/unsetenv.c: Likewise.
63409         * lib/userspec.c: Likewise.
63410         * lib/utime.c: Likewise.
63411         * lib/utimecmp.c: Likewise.
63412         * lib/utimecmp.h: Likewise.
63413         * lib/utimens.c: Likewise.
63414         * lib/verify.h: Likewise.
63415         * lib/verror.c: Likewise.
63416         * lib/verror.h: Likewise.
63417         * lib/version-etc-fsf.c: Likewise.
63418         * lib/version-etc.c: Likewise.
63419         * lib/version-etc.h: Likewise.
63420         * lib/vfprintf.c: Likewise.
63421         * lib/vprintf.c: Likewise.
63422         * lib/vsprintf.c: Likewise.
63423         * lib/w32spawn.h: Likewise.
63424         * lib/wait-process.c: Likewise.
63425         * lib/wait-process.h: Likewise.
63426         * lib/wcwidth.c: Likewise.
63427         * lib/write-any-file.c: Likewise.
63428         * lib/xalloc-die.c: Likewise.
63429         * lib/xalloc.h: Likewise.
63430         * lib/xasprintf.c: Likewise.
63431         * lib/xgetcwd.c: Likewise.
63432         * lib/xgetcwd.h: Likewise.
63433         * lib/xgetdomainname.c: Likewise.
63434         * lib/xgetdomainname.h: Likewise.
63435         * lib/xgethostname.c: Likewise.
63436         * lib/xmalloc.c: Likewise.
63437         * lib/xmalloca.c: Likewise.
63438         * lib/xmalloca.h: Likewise.
63439         * lib/xmemcoll.c: Likewise.
63440         * lib/xnanosleep.c: Likewise.
63441         * lib/xreadlink.c: Likewise.
63442         * lib/xreadlink.h: Likewise.
63443         * lib/xsetenv.c: Likewise.
63444         * lib/xsetenv.h: Likewise.
63445         * lib/xstriconv.c: Likewise.
63446         * lib/xstriconv.h: Likewise.
63447         * lib/xstrndup.c: Likewise.
63448         * lib/xstrndup.h: Likewise.
63449         * lib/xstrtod.c: Likewise.
63450         * lib/xstrtod.h: Likewise.
63451         * lib/xstrtol-error.c: Likewise.
63452         * lib/xstrtol.c: Likewise.
63453         * lib/xstrtol.h: Likewise.
63454         * lib/xtime.h: Likewise.
63455         * lib/xvasprintf.c: Likewise.
63456         * lib/xvasprintf.h: Likewise.
63457         * lib/yesno.c: Likewise.
63458         * lib/yesno.h: Likewise.
63459         * posix-modules: Likewise.
63460         * tests/test-alloca-opt.c: Likewise.
63461         * tests/test-arcfour.c: Likewise.
63462         * tests/test-arctwo.c: Likewise.
63463         * tests/test-argmatch.c: Likewise.
63464         * tests/test-argp-2.sh: Likewise.
63465         * tests/test-argp.c: Likewise.
63466         * tests/test-arpa_inet.c: Likewise.
63467         * tests/test-array_list.c: Likewise.
63468         * tests/test-array_oset.c: Likewise.
63469         * tests/test-atexit.c: Likewise.
63470         * tests/test-avltree_list.c: Likewise.
63471         * tests/test-avltree_oset.c: Likewise.
63472         * tests/test-avltreehash_list.c: Likewise.
63473         * tests/test-base64.c: Likewise.
63474         * tests/test-binary-io.c: Likewise.
63475         * tests/test-byteswap.c: Likewise.
63476         * tests/test-c-ctype.c: Likewise.
63477         * tests/test-c-strcasecmp.c: Likewise.
63478         * tests/test-c-strcasestr.c: Likewise.
63479         * tests/test-c-strncasecmp.c: Likewise.
63480         * tests/test-c-strstr.c: Likewise.
63481         * tests/test-canonicalize-lgpl.c: Likewise.
63482         * tests/test-canonicalize.c: Likewise.
63483         * tests/test-carray_list.c: Likewise.
63484         * tests/test-ceilf.c: Likewise.
63485         * tests/test-ceill.c: Likewise.
63486         * tests/test-count-one-bits.c: Likewise.
63487         * tests/test-crc.c: Likewise.
63488         * tests/test-dirname.c: Likewise.
63489         * tests/test-fbufmode.c: Likewise.
63490         * tests/test-fcntl.c: Likewise.
63491         * tests/test-fflush.c: Likewise.
63492         * tests/test-floorf.c: Likewise.
63493         * tests/test-floorl.c: Likewise.
63494         * tests/test-fopen.c: Likewise.
63495         * tests/test-fprintf-posix.c: Likewise.
63496         * tests/test-fprintf-posix.h: Likewise.
63497         * tests/test-fpurge.c: Likewise.
63498         * tests/test-freadable.c: Likewise.
63499         * tests/test-freadahead.c: Likewise.
63500         * tests/test-freading.c: Likewise.
63501         * tests/test-freopen.c: Likewise.
63502         * tests/test-frexp.c: Likewise.
63503         * tests/test-frexpl.c: Likewise.
63504         * tests/test-fseek.c: Likewise.
63505         * tests/test-fseeko.c: Likewise.
63506         * tests/test-fseterr.c: Likewise.
63507         * tests/test-fstrcmp.c: Likewise.
63508         * tests/test-ftell.c: Likewise.
63509         * tests/test-ftello.c: Likewise.
63510         * tests/test-fwritable.c: Likewise.
63511         * tests/test-fwriting.c: Likewise.
63512         * tests/test-getaddrinfo.c: Likewise.
63513         * tests/test-getpass.c: Likewise.
63514         * tests/test-gettimeofday.c: Likewise.
63515         * tests/test-hmac-md5.c: Likewise.
63516         * tests/test-hmac-sha1.c: Likewise.
63517         * tests/test-iconv.c: Likewise.
63518         * tests/test-iconvme.c: Likewise.
63519         * tests/test-inttypes.c: Likewise.
63520         * tests/test-isnan.c: Likewise.
63521         * tests/test-isnanf.c: Likewise.
63522         * tests/test-isnanl-nolibm.c: Likewise.
63523         * tests/test-isnanl.c: Likewise.
63524         * tests/test-isnanl.h: Likewise.
63525         * tests/test-ldexpl.c: Likewise.
63526         * tests/test-linked_list.c: Likewise.
63527         * tests/test-linkedhash_list.c: Likewise.
63528         * tests/test-locale.c: Likewise.
63529         * tests/test-localename.c: Likewise.
63530         * tests/test-lock.c: Likewise.
63531         * tests/test-lseek.c: Likewise.
63532         * tests/test-malloca.c: Likewise.
63533         * tests/test-math.c: Likewise.
63534         * tests/test-mbscasecmp.c: Likewise.
63535         * tests/test-mbscasestr1.c: Likewise.
63536         * tests/test-mbscasestr2.c: Likewise.
63537         * tests/test-mbscasestr3.c: Likewise.
63538         * tests/test-mbscasestr4.c: Likewise.
63539         * tests/test-mbschr.c: Likewise.
63540         * tests/test-mbscspn.c: Likewise.
63541         * tests/test-mbsncasecmp.c: Likewise.
63542         * tests/test-mbspbrk.c: Likewise.
63543         * tests/test-mbspcasecmp.c: Likewise.
63544         * tests/test-mbsrchr.c: Likewise.
63545         * tests/test-mbsspn.c: Likewise.
63546         * tests/test-mbsstr1.c: Likewise.
63547         * tests/test-mbsstr2.c: Likewise.
63548         * tests/test-mbsstr3.c: Likewise.
63549         * tests/test-md5.c: Likewise.
63550         * tests/test-memmem.c: Likewise.
63551         * tests/test-netinet_in.c: Likewise.
63552         * tests/test-open.c: Likewise.
63553         * tests/test-printf-frexp.c: Likewise.
63554         * tests/test-printf-frexpl.c: Likewise.
63555         * tests/test-printf-posix.c: Likewise.
63556         * tests/test-printf-posix.h: Likewise.
63557         * tests/test-rbtree_list.c: Likewise.
63558         * tests/test-rbtree_oset.c: Likewise.
63559         * tests/test-rbtreehash_list.c: Likewise.
63560         * tests/test-read-file.c: Likewise.
63561         * tests/test-rijndael.c: Likewise.
63562         * tests/test-search.c: Likewise.
63563         * tests/test-signbit.c: Likewise.
63564         * tests/test-sleep.c: Likewise.
63565         * tests/test-snprintf-posix.c: Likewise.
63566         * tests/test-snprintf-posix.h: Likewise.
63567         * tests/test-snprintf.c: Likewise.
63568         * tests/test-sprintf-posix.c: Likewise.
63569         * tests/test-sprintf-posix.h: Likewise.
63570         * tests/test-stat-time.c: Likewise.
63571         * tests/test-stdbool.c: Likewise.
63572         * tests/test-stdint.c: Likewise.
63573         * tests/test-stdio.c: Likewise.
63574         * tests/test-stdlib.c: Likewise.
63575         * tests/test-stpncpy.c: Likewise.
63576         * tests/test-strcasestr.c: Likewise.
63577         * tests/test-striconv.c: Likewise.
63578         * tests/test-striconveh.c: Likewise.
63579         * tests/test-striconveha.c: Likewise.
63580         * tests/test-string.c: Likewise.
63581         * tests/test-sys_select.c: Likewise.
63582         * tests/test-sys_socket.c: Likewise.
63583         * tests/test-sys_stat.c: Likewise.
63584         * tests/test-sys_time.c: Likewise.
63585         * tests/test-sysexits.c: Likewise.
63586         * tests/test-time.c: Likewise.
63587         * tests/test-tls.c: Likewise.
63588         * tests/test-trunc.c: Likewise.
63589         * tests/test-truncf.c: Likewise.
63590         * tests/test-truncl.c: Likewise.
63591         * tests/test-unistd.c: Likewise.
63592         * tests/test-vasnprintf-posix.c: Likewise.
63593         * tests/test-vasnprintf-posix2.c: Likewise.
63594         * tests/test-vasnprintf.c: Likewise.
63595         * tests/test-vasprintf-posix.c: Likewise.
63596         * tests/test-vasprintf.c: Likewise.
63597         * tests/test-verify.c: Likewise.
63598         * tests/test-vfprintf-posix.c: Likewise.
63599         * tests/test-vprintf-posix.c: Likewise.
63600         * tests/test-vsnprintf-posix.c: Likewise.
63601         * tests/test-vsnprintf.c: Likewise.
63602         * tests/test-vsprintf-posix.c: Likewise.
63603         * tests/test-wchar.c: Likewise.
63604         * tests/test-wctype.c: Likewise.
63605         * tests/test-wcwidth.c: Likewise.
63606         * tests/test-xstrtol.c: Likewise.
63607         * tests/test-xvasprintf.c: Likewise.
63608         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63609         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63610         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63611         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63612         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63613         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63614         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63615         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63616         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63617         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63618         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63619         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63620         * tests/uniname/test-uninames.c: Likewise.
63621         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63622         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63623         * tests/unistdio/test-u16-printf1.h: Likewise.
63624         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63625         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63626         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63627         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63628         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63629         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63630         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63631         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63632         * tests/unistdio/test-u32-printf1.h: Likewise.
63633         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63634         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63635         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63636         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63637         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63638         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63639         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63640         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63641         * tests/unistdio/test-u8-printf1.h: Likewise.
63642         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63643         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63644         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63645         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63646         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63647         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63648         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63649         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63650         * tests/unistdio/test-ulc-printf1.h: Likewise.
63651         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63652         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63653         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63654         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63655         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63656         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63657         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63658         * tests/uniwidth/test-u16-width.c: Likewise.
63659         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63660         * tests/uniwidth/test-u32-width.c: Likewise.
63661         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63662         * tests/uniwidth/test-u8-width.c: Likewise.
63663         * tests/uniwidth/test-uc_width.c: Likewise.
63664         * config/srclist-update: Likewise.
63665         (fixlicense): Update to GPLv3+.
63666
63667         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63668         * tests/test-tsearch.c: Change copyright notice.
63669
63670         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63671         * lib/c-strcaseeq.h: Change copyright notice.
63672         * lib/streq.h: Likewise.
63673         * lib/uniconv.h: Likewise.
63674         * lib/uniconv/u-conv-from-enc.h: Likewise.
63675         * lib/uniconv/u-conv-to-enc.h: Likewise.
63676         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63677         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63678         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63679         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63680         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63681         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63682         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63683         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63684         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63685         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63686         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63687         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63688         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63689         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63690         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63691         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63692         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63693         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63694         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63695         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63696         * lib/uniname.h: Likewise.
63697         * lib/uniname/uniname.c: Likewise.
63698         * lib/unistdio.h: Likewise.
63699         * lib/unistdio/u-asnprintf.h: Likewise.
63700         * lib/unistdio/u-asprintf.h: Likewise.
63701         * lib/unistdio/u-printf-args.c: Likewise.
63702         * lib/unistdio/u-printf-args.h: Likewise.
63703         * lib/unistdio/u-printf-parse.h: Likewise.
63704         * lib/unistdio/u-snprintf.h: Likewise.
63705         * lib/unistdio/u-sprintf.h: Likewise.
63706         * lib/unistdio/u-vasprintf.h: Likewise.
63707         * lib/unistdio/u-vsnprintf.h: Likewise.
63708         * lib/unistdio/u-vsprintf.h: Likewise.
63709         * lib/unistdio/u16-asnprintf.c: Likewise.
63710         * lib/unistdio/u16-asprintf.c: Likewise.
63711         * lib/unistdio/u16-printf-parse.c: Likewise.
63712         * lib/unistdio/u16-snprintf.c: Likewise.
63713         * lib/unistdio/u16-sprintf.c: Likewise.
63714         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63715         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63716         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63717         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63718         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63719         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63720         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63721         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63722         * lib/unistdio/u16-vasnprintf.c: Likewise.
63723         * lib/unistdio/u16-vasprintf.c: Likewise.
63724         * lib/unistdio/u16-vsnprintf.c: Likewise.
63725         * lib/unistdio/u16-vsprintf.c: Likewise.
63726         * lib/unistdio/u32-asnprintf.c: Likewise.
63727         * lib/unistdio/u32-asprintf.c: Likewise.
63728         * lib/unistdio/u32-printf-parse.c: Likewise.
63729         * lib/unistdio/u32-snprintf.c: Likewise.
63730         * lib/unistdio/u32-sprintf.c: Likewise.
63731         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63732         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63733         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63734         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63735         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63736         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63737         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63738         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63739         * lib/unistdio/u32-vasnprintf.c: Likewise.
63740         * lib/unistdio/u32-vasprintf.c: Likewise.
63741         * lib/unistdio/u32-vsnprintf.c: Likewise.
63742         * lib/unistdio/u32-vsprintf.c: Likewise.
63743         * lib/unistdio/u8-asnprintf.c: Likewise.
63744         * lib/unistdio/u8-asprintf.c: Likewise.
63745         * lib/unistdio/u8-printf-parse.c: Likewise.
63746         * lib/unistdio/u8-snprintf.c: Likewise.
63747         * lib/unistdio/u8-sprintf.c: Likewise.
63748         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63749         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63750         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63751         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63752         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63753         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63754         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63755         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63756         * lib/unistdio/u8-vasnprintf.c: Likewise.
63757         * lib/unistdio/u8-vasprintf.c: Likewise.
63758         * lib/unistdio/u8-vsnprintf.c: Likewise.
63759         * lib/unistdio/u8-vsprintf.c: Likewise.
63760         * lib/unistdio/ulc-asnprintf.c: Likewise.
63761         * lib/unistdio/ulc-asprintf.c: Likewise.
63762         * lib/unistdio/ulc-printf-parse.c: Likewise.
63763         * lib/unistdio/ulc-snprintf.c: Likewise.
63764         * lib/unistdio/ulc-sprintf.c: Likewise.
63765         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63766         * lib/unistdio/ulc-vasprintf.c: Likewise.
63767         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63768         * lib/unistdio/ulc-vsprintf.c: Likewise.
63769         * lib/unistr.h: Likewise.
63770         * lib/unistr/u-cpy-alloc.h: Likewise.
63771         * lib/unistr/u-cpy.h: Likewise.
63772         * lib/unistr/u-endswith.h: Likewise.
63773         * lib/unistr/u-move.h: Likewise.
63774         * lib/unistr/u-set.h: Likewise.
63775         * lib/unistr/u-startswith.h: Likewise.
63776         * lib/unistr/u-stpcpy.h: Likewise.
63777         * lib/unistr/u-stpncpy.h: Likewise.
63778         * lib/unistr/u-strcat.h: Likewise.
63779         * lib/unistr/u-strcpy.h: Likewise.
63780         * lib/unistr/u-strcspn.h: Likewise.
63781         * lib/unistr/u-strdup.h: Likewise.
63782         * lib/unistr/u-strlen.h: Likewise.
63783         * lib/unistr/u-strncat.h: Likewise.
63784         * lib/unistr/u-strncpy.h: Likewise.
63785         * lib/unistr/u-strnlen.h: Likewise.
63786         * lib/unistr/u-strpbrk.h: Likewise.
63787         * lib/unistr/u-strspn.h: Likewise.
63788         * lib/unistr/u-strstr.h: Likewise.
63789         * lib/unistr/u-strtok.h: Likewise.
63790         * lib/unistr/u16-check.c: Likewise.
63791         * lib/unistr/u16-chr.c: Likewise.
63792         * lib/unistr/u16-cmp.c: Likewise.
63793         * lib/unistr/u16-cpy-alloc.c: Likewise.
63794         * lib/unistr/u16-cpy.c: Likewise.
63795         * lib/unistr/u16-endswith.c: Likewise.
63796         * lib/unistr/u16-mblen.c: Likewise.
63797         * lib/unistr/u16-mbsnlen.c: Likewise.
63798         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63799         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63800         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63801         * lib/unistr/u16-mbtouc.c: Likewise.
63802         * lib/unistr/u16-mbtoucr.c: Likewise.
63803         * lib/unistr/u16-move.c: Likewise.
63804         * lib/unistr/u16-next.c: Likewise.
63805         * lib/unistr/u16-prev.c: Likewise.
63806         * lib/unistr/u16-set.c: Likewise.
63807         * lib/unistr/u16-startswith.c: Likewise.
63808         * lib/unistr/u16-stpcpy.c: Likewise.
63809         * lib/unistr/u16-stpncpy.c: Likewise.
63810         * lib/unistr/u16-strcat.c: Likewise.
63811         * lib/unistr/u16-strchr.c: Likewise.
63812         * lib/unistr/u16-strcmp.c: Likewise.
63813         * lib/unistr/u16-strcpy.c: Likewise.
63814         * lib/unistr/u16-strcspn.c: Likewise.
63815         * lib/unistr/u16-strdup.c: Likewise.
63816         * lib/unistr/u16-strlen.c: Likewise.
63817         * lib/unistr/u16-strmblen.c: Likewise.
63818         * lib/unistr/u16-strmbtouc.c: Likewise.
63819         * lib/unistr/u16-strncat.c: Likewise.
63820         * lib/unistr/u16-strncmp.c: Likewise.
63821         * lib/unistr/u16-strncpy.c: Likewise.
63822         * lib/unistr/u16-strnlen.c: Likewise.
63823         * lib/unistr/u16-strpbrk.c: Likewise.
63824         * lib/unistr/u16-strrchr.c: Likewise.
63825         * lib/unistr/u16-strspn.c: Likewise.
63826         * lib/unistr/u16-strstr.c: Likewise.
63827         * lib/unistr/u16-strtok.c: Likewise.
63828         * lib/unistr/u16-to-u32.c: Likewise.
63829         * lib/unistr/u16-to-u8.c: Likewise.
63830         * lib/unistr/u16-uctomb-aux.c: Likewise.
63831         * lib/unistr/u16-uctomb.c: Likewise.
63832         * lib/unistr/u32-check.c: Likewise.
63833         * lib/unistr/u32-chr.c: Likewise.
63834         * lib/unistr/u32-cmp.c: Likewise.
63835         * lib/unistr/u32-cpy-alloc.c: Likewise.
63836         * lib/unistr/u32-cpy.c: Likewise.
63837         * lib/unistr/u32-endswith.c: Likewise.
63838         * lib/unistr/u32-mblen.c: Likewise.
63839         * lib/unistr/u32-mbsnlen.c: Likewise.
63840         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63841         * lib/unistr/u32-mbtouc.c: Likewise.
63842         * lib/unistr/u32-mbtoucr.c: Likewise.
63843         * lib/unistr/u32-move.c: Likewise.
63844         * lib/unistr/u32-next.c: Likewise.
63845         * lib/unistr/u32-prev.c: Likewise.
63846         * lib/unistr/u32-set.c: Likewise.
63847         * lib/unistr/u32-startswith.c: Likewise.
63848         * lib/unistr/u32-stpcpy.c: Likewise.
63849         * lib/unistr/u32-stpncpy.c: Likewise.
63850         * lib/unistr/u32-strcat.c: Likewise.
63851         * lib/unistr/u32-strchr.c: Likewise.
63852         * lib/unistr/u32-strcmp.c: Likewise.
63853         * lib/unistr/u32-strcpy.c: Likewise.
63854         * lib/unistr/u32-strcspn.c: Likewise.
63855         * lib/unistr/u32-strdup.c: Likewise.
63856         * lib/unistr/u32-strlen.c: Likewise.
63857         * lib/unistr/u32-strmblen.c: Likewise.
63858         * lib/unistr/u32-strmbtouc.c: Likewise.
63859         * lib/unistr/u32-strncat.c: Likewise.
63860         * lib/unistr/u32-strncmp.c: Likewise.
63861         * lib/unistr/u32-strncpy.c: Likewise.
63862         * lib/unistr/u32-strnlen.c: Likewise.
63863         * lib/unistr/u32-strpbrk.c: Likewise.
63864         * lib/unistr/u32-strrchr.c: Likewise.
63865         * lib/unistr/u32-strspn.c: Likewise.
63866         * lib/unistr/u32-strstr.c: Likewise.
63867         * lib/unistr/u32-strtok.c: Likewise.
63868         * lib/unistr/u32-to-u16.c: Likewise.
63869         * lib/unistr/u32-to-u8.c: Likewise.
63870         * lib/unistr/u32-uctomb.c: Likewise.
63871         * lib/unistr/u8-check.c: Likewise.
63872         * lib/unistr/u8-chr.c: Likewise.
63873         * lib/unistr/u8-cmp.c: Likewise.
63874         * lib/unistr/u8-cpy-alloc.c: Likewise.
63875         * lib/unistr/u8-cpy.c: Likewise.
63876         * lib/unistr/u8-endswith.c: Likewise.
63877         * lib/unistr/u8-mblen.c: Likewise.
63878         * lib/unistr/u8-mbsnlen.c: Likewise.
63879         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63880         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63881         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63882         * lib/unistr/u8-mbtouc.c: Likewise.
63883         * lib/unistr/u8-mbtoucr.c: Likewise.
63884         * lib/unistr/u8-move.c: Likewise.
63885         * lib/unistr/u8-next.c: Likewise.
63886         * lib/unistr/u8-prev.c: Likewise.
63887         * lib/unistr/u8-set.c: Likewise.
63888         * lib/unistr/u8-startswith.c: Likewise.
63889         * lib/unistr/u8-stpcpy.c: Likewise.
63890         * lib/unistr/u8-stpncpy.c: Likewise.
63891         * lib/unistr/u8-strcat.c: Likewise.
63892         * lib/unistr/u8-strchr.c: Likewise.
63893         * lib/unistr/u8-strcmp.c: Likewise.
63894         * lib/unistr/u8-strcpy.c: Likewise.
63895         * lib/unistr/u8-strcspn.c: Likewise.
63896         * lib/unistr/u8-strdup.c: Likewise.
63897         * lib/unistr/u8-strlen.c: Likewise.
63898         * lib/unistr/u8-strmblen.c: Likewise.
63899         * lib/unistr/u8-strmbtouc.c: Likewise.
63900         * lib/unistr/u8-strncat.c: Likewise.
63901         * lib/unistr/u8-strncmp.c: Likewise.
63902         * lib/unistr/u8-strncpy.c: Likewise.
63903         * lib/unistr/u8-strnlen.c: Likewise.
63904         * lib/unistr/u8-strpbrk.c: Likewise.
63905         * lib/unistr/u8-strrchr.c: Likewise.
63906         * lib/unistr/u8-strspn.c: Likewise.
63907         * lib/unistr/u8-strstr.c: Likewise.
63908         * lib/unistr/u8-strtok.c: Likewise.
63909         * lib/unistr/u8-to-u16.c: Likewise.
63910         * lib/unistr/u8-to-u32.c: Likewise.
63911         * lib/unistr/u8-uctomb-aux.c: Likewise.
63912         * lib/unistr/u8-uctomb.c: Likewise.
63913         * lib/unitypes.h: Likewise.
63914         * lib/uniwidth.h: Likewise.
63915         * lib/uniwidth/cjk.h: Likewise.
63916         * lib/uniwidth/u16-strwidth.c: Likewise.
63917         * lib/uniwidth/u16-width.c: Likewise.
63918         * lib/uniwidth/u32-strwidth.c: Likewise.
63919         * lib/uniwidth/u32-width.c: Likewise.
63920         * lib/uniwidth/u8-strwidth.c: Likewise.
63921         * lib/uniwidth/u8-width.c: Likewise.
63922         * lib/uniwidth/width.c: Likewise.
63923
63924 2007-10-07  Bruno Haible  <bruno@clisp.org>
63925
63926         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63927         The file is still under LGPL (see modules/inttypes).
63928
63929 2007-10-06  Bruno Haible  <bruno@clisp.org>
63930
63931         * modules/trunc (Dependencies): Add 'extensions'.
63932         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63933         Reported by Ben Pfaff <blp@gnu.org>.
63934
63935 2007-10-06  Bruno Haible  <bruno@clisp.org>
63936
63937         * modules/freopen-tests: New file.
63938         * tests/test-freopen.c: New file.
63939
63940         * modules/fopen-tests: New file.
63941         * tests/test-fopen.c: New file.
63942
63943         * modules/fopen: New file.
63944         * lib/fopen.c: New file.
63945         * m4/fopen.m4: New file.
63946         * modules/freopen: New file.
63947         * lib/freopen.c: New file.
63948         * m4/freopen.m4: New file.
63949         * lib/stdio.in.h (fopen, freopen): New declarations.
63950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63951         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63952         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63953         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63954         * doc/functions/fopen.texi: Mention the 'fopen' module.
63955         * doc/functions/freopen.texi: Mention the 'freopen' module.
63956
63957 2007-10-06  Bruno Haible  <bruno@clisp.org>
63958
63959         * modules/open-tests: New file.
63960         * tests/test-open.c: New file.
63961
63962         * modules/open: New file.
63963         * lib/open.c: New file.
63964         * m4/open.m4: New file.
63965         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63966         lib/open.c does.
63967         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63968         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63969         macros.
63970         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63971         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63972         REPLACE_OPEN.
63973         * doc/functions/open.texi: Mention the 'open' module.
63974
63975 2007-10-04  Bruno Haible  <bruno@clisp.org>
63976
63977         * modules/ceill-tests: New file.
63978         * tests/test-ceill.c: New file.
63979
63980         * modules/ceill: New file.
63981         * lib/ceill.c: Replace entire file.
63982         * m4/ceill.m4: New file.
63983         * lib/math.in.h (ceill): Replace declaration.
63984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63985         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63986         * doc/functions/ceill.texi: Mention the 'ceill' module.
63987         * modules/mathl (Files): Remove lib/ceill.c.
63988         (Depends-on): Add ceill.
63989
63990 2007-10-04  Bruno Haible  <bruno@clisp.org>
63991
63992         * modules/ceilf-tests: New file.
63993         * tests/test-ceilf.c: New file.
63994
63995         * modules/ceilf: New file.
63996         * lib/ceil.c: New file.
63997         * lib/ceilf.c: New file.
63998         * m4/ceilf.m4: New file.
63999         * lib/math.in.h (ceilf): New declaration.
64000         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
64001         HAVE_DECL_CEILF.
64002         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
64003         HAVE_DECL_CEILF.
64004         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
64005
64006 2007-10-04  Bruno Haible  <bruno@clisp.org>
64007
64008         * modules/floorl-tests: New file.
64009         * tests/test-floorl.c: New file.
64010
64011         * modules/floorl: New file.
64012         * lib/floorl.c: Replace entire file.
64013         * m4/floorl.m4: New file.
64014         * lib/math.in.h (floorl): Replace declaration.
64015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
64016         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
64017         * doc/functions/floorl.texi: Mention the 'floorl' module.
64018         * modules/mathl (Files): Remove lib/floorl.c.
64019         (Depends-on): Add floorl.
64020
64021 2007-10-04  Bruno Haible  <bruno@clisp.org>
64022
64023         * modules/floorf-tests: New file.
64024         * tests/test-floorf.c: New file.
64025
64026         * modules/floorf: New file.
64027         * lib/floor.c: New file.
64028         * lib/floorf.c: New file.
64029         * m4/floorf.m4: New file.
64030         * lib/math.in.h (floorf): New declaration.
64031         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
64032         HAVE_DECL_FLOORF.
64033         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
64034         HAVE_DECL_FLOORF.
64035         * doc/functions/floorf.texi: Mention the 'floorf' module.
64036
64037 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
64038             Bruno Haible  <bruno@clisp.org>
64039
64040         Advertise for the Git server instead of the CVS server.
64041         * doc/gnulib-intro.texi (Steady Development): Mention the Git
64042         repository instead of the CVS one.
64043         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
64044         about all VCS systems generically.
64045         * doc/gnulib.texi (Introduction): Capitalize `Git'.
64046
64047 2007-10-04  Bruno Haible  <bruno@clisp.org>
64048
64049         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
64050         means.
64051         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
64052
64053 2007-10-04  Bruno Haible  <bruno@clisp.org>
64054
64055         * modules/truncl-tests: New file.
64056         * tests/test-truncl.c: New file.
64057
64058         * modules/truncl: New file.
64059         * lib/truncl.c: New file.
64060         * m4/truncl.m4: New file.
64061         * lib/math.in.h (truncl): New declaration.
64062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
64063         HAVE_DECL_TRUNCL.
64064         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
64065         HAVE_DECL_TRUNCL.
64066         * doc/functions/truncl.texi: Mention the 'truncl' module.
64067
64068 2007-10-04  Bruno Haible  <bruno@clisp.org>
64069
64070         * modules/truncf-tests: New file.
64071         * tests/test-truncf.c: New file.
64072
64073         * modules/truncf: New file.
64074         * lib/trunc.c: Make paramerizable through USE_* macros.
64075         * lib/truncf.c: New file.
64076         * m4/truncf.m4: New file.
64077         * lib/math.in.h (truncf): New declaration.
64078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
64079         HAVE_DECL_TRUNCF.
64080         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
64081         HAVE_DECL_TRUNCF.
64082         * doc/functions/truncf.texi: Mention the 'truncf' module.
64083
64084 2007-10-03  Bruno Haible  <bruno@clisp.org>
64085
64086         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
64087         augmentation also for tests modules.
64088         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
64089         * modules/atexit-tests (Makefile.am): Likewise.
64090         * modules/binary-io-tests (Makefile.am): Likewise.
64091         * modules/c-strcase-tests (Makefile.am): Likewise.
64092         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
64093         * modules/canonicalize-tests (Makefile.am): Likewise.
64094         * modules/closein-tests (Makefile.am): Likewise.
64095         * modules/fprintf-posix-tests (Makefile.am): Likewise.
64096         * modules/freadahead-tests (Makefile.am): Likewise.
64097         * modules/fseek-tests (Makefile.am): Likewise.
64098         * modules/fseeko-tests (Makefile.am): Likewise.
64099         * modules/ftell-tests (Makefile.am): Likewise.
64100         * modules/ftello-tests (Makefile.am): Likewise.
64101         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
64102         * modules/isnanl-tests (Makefile.am): Likewise.
64103         * modules/lseek-tests (Makefile.am): Likewise.
64104         * modules/mbscasecmp-tests (Makefile.am): Likewise.
64105         * modules/mbscasestr-tests (Makefile.am): Likewise.
64106         * modules/mbschr-tests (Makefile.am): Likewise.
64107         * modules/mbscspn-tests (Makefile.am): Likewise.
64108         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
64109         * modules/mbspbrk-tests (Makefile.am): Likewise.
64110         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
64111         * modules/mbsrchr-tests (Makefile.am): Likewise.
64112         * modules/mbsspn-tests (Makefile.am): Likewise.
64113         * modules/mbsstr-tests (Makefile.am): Likewise.
64114         * modules/printf-posix-tests (Makefile.am): Likewise.
64115         * modules/snprintf-posix-tests (Makefile.am): Likewise.
64116         * modules/sprintf-posix-tests (Makefile.am): Likewise.
64117         * modules/tsearch-tests (Makefile.am): Likewise.
64118         * modules/uniname/uniname-tests (Makefile.am): Likewise.
64119         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
64120         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
64121         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
64122         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
64123         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
64124         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
64125         * modules/vprintf-posix-tests (Makefile.am): Likewise.
64126         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64127         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64128         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64129         * modules/xstrtol-tests (Makefile.am): Likewise.
64130         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64131         * modules/yesno-tests (Makefile.am): Likewise.
64132
64133 2007-10-03  Bruno Haible  <bruno@clisp.org>
64134
64135         * modules/trunc-tests: New file.
64136         * tests/test-trunc.c: New file.
64137
64138         * modules/trunc: New file.
64139         * lib/trunc.c: New file.
64140         * m4/trunc.m4: New file.
64141         * lib/math.in.h (trunc): New declaration.
64142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64143         HAVE_DECL_TRUNC.
64144         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64145         HAVE_DECL_TRUNC.
64146         * doc/functions/trunc.texi: Mention the 'trunc' module.
64147
64148 2007-10-03  Bruno Haible  <bruno@clisp.org>
64149
64150         * tests/test-fpending.c: New file, mostly copied
64151         from coreutils/lib/t-fpending.c.
64152         * modules/fpending-tests: New file.
64153
64154 2007-10-03  Bruno Haible  <bruno@clisp.org>
64155
64156         Port the stdio extensions to QNX (untested).
64157         * lib/fseterr.c (fseterr): Add support for QNX.
64158         * lib/fbufmode.c (fbufmode): Likewise.
64159         * lib/freadable.c (freadable): Likewise.
64160         * lib/fwritable.c (fwritable): Likewise.
64161         * lib/freading.c (freading): Likewise.
64162         * lib/fwriting.c (fwriting): Likewise.
64163         * lib/freadahead.c (freadahed): Likewise.
64164         * lib/fpurge.c (fpurge): Likewise.
64165         * lib/fseeko.c (rpl_fseeko): Likewise.
64166
64167 2007-10-03  Bruno Haible  <bruno@clisp.org>
64168             Jim Meyering  <jim@meyering.net>
64169             Eric Blake  <ebb9@byu.net>
64170
64171         * doc/relocatable.texi: Use @command instead of @program.
64172
64173 2007-10-02  Jim Meyering  <jim@meyering.net>
64174
64175         Perform one more "_.h" -> ".in.h" substitution.
64176         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64177         instead of unistd_.h here, too.
64178
64179 2007-10-01  Bruno Haible  <bruno@clisp.org>
64180
64181         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64182         Needed for the alloca-opt module.
64183
64184 2007-09-30  Bruno Haible  <bruno@clisp.org>
64185
64186         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64187         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64188         alloca_.h.
64189         * lib/argz.in.h: Renamed from lib/argz_.h.
64190         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64191         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64192         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64193         byteswap_.h.
64194         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64195         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64196         dirent_.h.
64197         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64198         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64199         fcntl_.h.
64200         * lib/float.in.h: Renamed from lib/float_.h.
64201         * modules/float (Files, Makefile.am): Use float.in.h instead of
64202         float_.h.
64203         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64204         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64205         fnmatch_.h.
64206         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64207         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64208         getopt_.h.
64209         * lib/glob.in.h: Renamed from lib/glob_.h.
64210         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64211         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64212         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64213         iconv_.h.
64214         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64215         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64216         inttypes_.h.
64217         * lib/locale.in.h: Renamed from lib/locale_.h.
64218         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64219         locale_.h.
64220         * lib/math.in.h: Renamed from lib/math_.h.
64221         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64222         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64223         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64224         of netinet_in_.h. Add dependency.
64225         * lib/poll.in.h: Renamed from lib/poll_.h.
64226         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64227         * lib/search.in.h: Renamed from lib/search_.h.
64228         * modules/search (Files, Makefile.am): Use search.in.h instead of
64229         search_.h.
64230         * lib/signal.in.h: Renamed from lib/signal_.h.
64231         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64232         _signal.h.
64233         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64234         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64235         stdbool_.h.
64236         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64237         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64238         stdint_.h.
64239         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64240         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64241         stdio_.h.
64242         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64243         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64244         stdlib_.h.
64245         * lib/string.in.h: Renamed from lib/string_.h.
64246         * modules/string (Files, Makefile.am): Use string.in.h instead of
64247         string_.h.
64248         * doc/gnulib-tool.texi (Initial import): Update.
64249         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64250         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64251         of sys_select_.h. Add dependency.
64252         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64253         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64254         of sys_socket_.h.
64255         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64256         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64257         sys_stat_.h.
64258         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64259         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64260         sys_time_.h.
64261         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64262         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64263         sysexits_.h.
64264         * lib/time.in.h: Renamed from lib/time_.h.
64265         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64266         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64267         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64268         unistd_.h.
64269         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64270         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64271         wchar_.h.
64272         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64273         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64274         wctype_.h.
64275         * build-aux/bootstrap (slurp): Update.
64276         * lib/.cppi-disable: Update.
64277
64278 2007-09-30  Bruno Haible  <bruno@clisp.org>
64279
64280         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64281         Needed on BeOS.
64282
64283 2007-09-30  Bruno Haible  <bruno@clisp.org>
64284
64285         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64286
64287 2007-09-29  Bruno Haible  <bruno@clisp.org>
64288
64289         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64290
64291 2007-09-29  Bruno Haible  <bruno@clisp.org>
64292
64293         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64294         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64295         * build-aux/install-reloc: Compile also areadlink.c.
64296         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64297
64298 2007-09-29  Bruno Haible  <bruno@clisp.org>
64299
64300         * gnulib-tool (func_emit_initmacro_done): Indentation.
64301
64302 2007-09-29  Bruno Haible  <bruno@clisp.org>
64303
64304         * README: Add CVS checkout update instructions.
64305         Info from Bob Proulx <bob@proulx.com>.
64306
64307 2007-09-28  Eric Blake  <ebb9@byu.net>
64308
64309         Provide move-if-change.
64310         * build-aux/move-if-change: New file, based on best practice
64311         rather than any canonical upstream location.
64312
64313 2007-09-28  Jim Meyering  <jim@meyering.net>
64314
64315         Fix canonicalize loop-detection corner case.
64316         Do not attempt to stat the symlink values stored via seen_triple.
64317         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64318         on linux-2.6.18, (but not 2.6.22).
64319         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64320         triple_compare.  The former compares dev,ino,filename, while the latter
64321         would actually stat dirname(filename) when dev and ino were equal.
64322         * lib/hash-triple.c: Install <string.h>.
64323         (STREQ): Define.
64324         (triple_compare_ino_str): New function.
64325         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64326
64327 2007-09-28  Eric Blake  <ebb9@byu.net>
64328
64329         Enforce that AC_REPLACE_FUNCS files exist.
64330         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64331         override check for typos.
64332
64333         Fix test-closein on Solaris 10.
64334         * tests/test-closein.c (main): Don't assume stdin can be inherited
64335         closed on all systems.
64336         * tests/test-closein.sh: Likewise.
64337         Reported by Piotr Tarnowski.
64338
64339 2007-09-28  Jim Meyering  <jim@meyering.net>
64340
64341         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64342
64343 2007-09-27  Jim Meyering  <jim@meyering.net>
64344
64345         canonicalize: Avoid a false-positive cycle failure.
64346         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64347         Sort.  Remove cycle-check.
64348         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64349         not cycle-check.h.
64350         (seen_triple): New function.
64351         (canonicalize_filename_mode): Use it instead of cycle-check.
64352         * tests/test-canonicalize.c: Add a test for this bug.
64353         * tests/test-canonicalize.sh: Set up and run the test.
64354
64355         New module, file-set, from coreutils.
64356         * modules/file-set: Define it.
64357         * lib/file-set.c, lib/file-set.h: Implement.
64358
64359         New module, hash-triple, from coreutils.
64360         * modules/hash-triple: Define it.
64361         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64362
64363 2007-09-25  Eric Blake  <ebb9@byu.net>
64364
64365         Fix strerror on Interix.
64366         * lib/string_.h (strerror): Declare replacement.
64367         * doc/functions/strerror.texi (strerror): Document the Interix
64368         shortcoming.
64369         * modules/string (Makefile.am): Support new hooks.
64370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64371         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64372         gl_FUNC_STRERROR_SEPARATE.
64373         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64374         * lib/strerror.c (rpl_strerror): Provide replacement.
64375         * modules/strerror (Depends-on): Add string.
64376         (configure.ac): Detect use of module.
64377         * tests/test-strerror.c: New file.
64378         * modules/strerror-tests: New test module.
64379         * modules/argp (Depends-on): Add strerror.
64380         * modules/error (Depends-on): Likewise.
64381         Reported by Martin Koeppe.
64382
64383 2007-09-24  Bruno Haible  <bruno@clisp.org>
64384
64385         * README: Update git instructions.
64386
64387 2007-09-24  Eric Blake  <ebb9@byu.net>
64388
64389         Revert fpending breakage from 2007-09-08.
64390         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64391         __fpending.c.
64392
64393 2007-09-24  Jim Meyering  <jim@meyering.net>
64394
64395         filenamecat.c: Add a test.
64396         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64397         showing how the function works when DIR is the empty string.
64398
64399 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64400
64401         * tests/test-canonicalize.sh: Turn on executable bit.
64402
64403 2007-09-19  Eric Blake  <ebb9@byu.net>
64404
64405         * README: Update CVS instructions.
64406
64407 2007-09-18  Bruno Haible  <bruno@clisp.org>
64408
64409         * modules/areadlink: New file.
64410         * lib/areadlink.h (areadlink): New declaration.
64411         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64412
64413 2007-09-17  Jim Meyering  <jim@meyering.net>
64414
64415         * lib/savewd.c (ESTALE) [!defined]: Define.
64416         Reported to be required on Interix by Martin Koeppe.
64417
64418 2007-09-17  Bruno Haible  <bruno@clisp.org>
64419
64420         * gnulib-tool (func_version): Use $version.
64421
64422 2007-09-16  Bruno Haible  <bruno@clisp.org>
64423
64424         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
64425         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
64426         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
64427         Reported by Greg Schafer <gschafer@zip.com.au>.
64428
64429 2007-09-15  Bruno Haible  <bruno@clisp.org>
64430
64431         * gnulib-tool (sed): Try a little harder to make bash understand the
64432         alias.
64433         Reported by Bruce Korb <bruce.korb@gmail.com>.
64434
64435 2007-09-13  Eric Blake  <ebb9@byu.net>
64436
64437         * ChangeLog: Remove conflict markers.
64438
64439 2007-09-13  Simon Josefsson  <simon@josefsson.org>
64440
64441         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
64442         Reported by Bruno Haible <bruno@clisp.org>.
64443
64444 2007-09-12  Bruno Haible  <bruno@clisp.org>
64445
64446         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
64447         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
64448         is not defined.
64449
64450 2007-09-12  Eric Blake  <ebb9@byu.net>
64451
64452         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
64453         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
64454         Autoconf definition.
64455         * modules/euidaccess (Depends-on): Add extensions, for
64456         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
64457         * modules/fnmatch (Depends-on): Likewise.
64458         * modules/getaddrinfo (Depends-on): Likewise.
64459         * modules/getdelim (Depends-on): Likewise.
64460         * modules/getline (Depends-on): Likewise.
64461         * modules/getsubopt (Depends-on): Likewise.
64462         * modules/gettext (Depends-on): Likewise.
64463         * modules/group-member (Depends-on): Likewise.
64464         * modules/mbchar (Depends-on): Likewise.
64465         * modules/memmem (Depends-on): Likewise.
64466         * modules/mempcpy (Depends-on): Likewise.
64467         * modules/memrchr (Depends-on): Likewise.
64468         * modules/pagealign_alloc (Depends-on): Likewise.
64469         * modules/readutmp (Depends-on): Likewise.
64470         * modules/stpcpy (Depends-on): Likewise.
64471         * modules/stpncpy (Depends-on): Likewise.
64472         * modules/strchrnul (Depends-on): Likewise.
64473         * modules/strndup (Depends-on): Likewise.
64474         * modules/strsep (Depends-on): Likewise.
64475         * modules/strverscmp (Depends-on): Likewise.
64476         * modules/vasprintf (Depends-on): Likewise.
64477         * modules/wcwidth (Depends-on): Likewise.
64478         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64479         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64480         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64481         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64482         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64483         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64484         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64485         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64486         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64487         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64488         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64489         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64490         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64491         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64492         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64493         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64494         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64495         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64496         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64497         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64498         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64499         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64500         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64501         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64502         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64503         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64504         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64505         so that lock.m4 can be used in gettext without extensions module.
64506
64507 2007-09-11  Bruno Haible  <bruno@clisp.org>
64508
64509         * m4/isc-posix.m4: Remove file.
64510         Suggested by Eric Blake.
64511
64512 2007-09-11  Eric Blake  <ebb9@byu.net>
64513
64514         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64515
64516 2007-09-10  Bruno Haible  <bruno@clisp.org>
64517
64518         * posix-modules: Fix typo in error message.
64519         Reported by Matt <mkraai@beckman.com>.
64520
64521 2007-09-09  Bruno Haible  <bruno@clisp.org>
64522
64523         * doc/functions/getdelim.texi: Update list of platforms lacking the
64524         function.
64525         * doc/functions/getline.texi: Likewise.
64526
64527 2007-09-09  Jim Meyering  <jim@meyering.net>
64528
64529         * lib/hash.c (hash_initialize): Detect calloc failure.
64530         Reported by Bruno Haible.
64531
64532 2007-09-09  Bruno Haible  <bruno@clisp.org>
64533
64534         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64535         malloc or realloc fails.
64536
64537 2007-09-09  Bruno Haible  <bruno@clisp.org>
64538
64539         * modules/getcwd (Depends-on): Add malloc-posix.
64540         * modules/glob (Depends-on): Likewise.
64541         * modules/putenv (Depends-on): Likewise.
64542         * modules/strdup (Depends-on): Likewise.
64543         * modules/getdelim (Depends-on): Add realloc-posix.
64544         * modules/read-file (Depends-on): Likewise.
64545
64546 2007-09-09  Bruno Haible  <bruno@clisp.org>
64547
64548         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64549         (gl_FUNC_MALLOC_POSIX): Require it.
64550         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64551         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64552         * modules/realloc (Files): Add m4/malloc.m4.
64553         * modules/calloc (Files): Likewise.
64554
64555 2007-09-09  Bruno Haible  <bruno@clisp.org>
64556
64557         * modules/malloc-posix: New file.
64558         * modules/malloc (Depends-on): Add malloc-posix.
64559         * lib/malloc.c: Include errno.h.
64560         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64561         and a POSIX-compatible malloc into a single function. Set ENOMEM
64562         when returning NULL.
64563         * m4/malloc.m4: New file.
64564         * doc/functions/malloc.texi: Mention the malloc-posix module.
64565         * lib/stdlib_.h (malloc): New declaration.
64566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64567         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64568         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64569         and HAVE_MALLOC_POSIX.
64570
64571 2007-09-09  Bruno Haible  <bruno@clisp.org>
64572
64573         * modules/realloc-posix: New file.
64574         * modules/realloc (Depends-on): Add realloc-posix.
64575         * lib/realloc.c: Include errno.h.
64576         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64577         and a POSIX-compatible realloc into a single function. Set ENOMEM
64578         when returning NULL.
64579         * m4/realloc.m4: New file.
64580         * doc/functions/realloc.texi: Mention the realloc-posix module.
64581         * lib/stdlib_.h (realloc): New declaration.
64582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64583         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64584         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64585         and HAVE_REALLOC_POSIX.
64586
64587 2007-09-09  Bruno Haible  <bruno@clisp.org>
64588
64589         * modules/calloc-posix: New file.
64590         * modules/calloc (Depends-on): Add calloc-posix.
64591         * lib/calloc.c: Include errno.h.
64592         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64593         and a POSIX-compatible calloc into a single function. Set ENOMEM
64594         when returning NULL.
64595         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64596         * doc/functions/calloc.texi: Mention the calloc-posix module.
64597         * lib/stdlib_.h (calloc): New declaration.
64598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64599         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64600         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64601         and HAVE_CALLOC_POSIX.
64602
64603 2007-09-09  Bruno Haible  <bruno@clisp.org>
64604
64605         Allow for modules to show an arbitrary notice.
64606         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64607         * gnulib-tool: New option --extract-notice.
64608         (func_usage): Document it.
64609         (sed_extract_prog): Update.
64610         (func_get_notice): New function.
64611         (func_modules_notice): New function.
64612         (func_import, func_create_testdir): Invoke it.
64613         Suggested by Jim Meyering.
64614
64615 2007-09-09  Bruno Haible  <bruno@clisp.org>
64616
64617         * gnulib-tool: New options --verbose, --quiet.
64618         (func_usage): Document them.
64619         (verbose): New variable.
64620         (func_execute_command): New function.
64621         (func_import): Don't show the module list and the file list if
64622         $verbose < 0.
64623         (func_create_testdir): Likewise. Use func_execute_command.
64624         (func_create_megatestdir): Use func_execute_command.
64625
64626 2007-09-08  Bruno Haible  <bruno@clisp.org>
64627
64628         * gnulib-tool (func_import): Prefer rsync over wget when available,
64629         for fetching the PO files.
64630
64631 2007-09-08  Bruno Haible  <bruno@clisp.org>
64632
64633         * posix-modules: New file. Portions copied from gnulib-tool.
64634         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64635
64636 2007-09-08  Jim Meyering  <jim@meyering.net>
64637
64638         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64639         * lib/fpending.h: Rename from __fpending.h.
64640         * lib/fpending.c: Rename from __fpending.c.
64641         Include "fpending.h", not "__fpending.h".
64642         * lib/__fpending.h, lib/__fpending.c: Remove files.
64643         * modules/fpending (Files): Reflect new file names.
64644         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64645
64646 2007-09-08  Bruno Haible  <bruno@clisp.org>
64647
64648         * m4/inttypes-h.m4: Remove stub file.
64649
64650 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64651
64652         * doc/headers/stdint.texi: Discuss #include_next issue.
64653
64654 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64655
64656         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64657
64658 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64659
64660         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64661         in variable name.
64662
64663 2007-09-03  Jim Meyering  <jim@meyering.net>
64664
64665         New module: git-version-gen.
64666         * modules/git-version-gen: New file.
64667
64668         Import changes from coreutils for bootstrap script.
64669
64670         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64671
64672         bootstrap: uses rsync to download the .po files
64673         * build-aux/bootstrap (po_download_command_format): New global.
64674         (download_po_files): Use rsync.
64675         (update_po_files): Don't remove .po files after download,
64676         so future rsync runs can take advantage of the copies.
64677
64678         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64679
64680         Solve the unnecessary-.po-file-regeneration problem once and for all.
64681         * build-aux/bootstrap (download_po_files): New function, renamed from
64682         get_translations.  Now, downloads, but doesn't update LINGUAS.
64683         (update_po_files): New function.
64684
64685         bootstrap: Ignore more.
64686         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64687         uniwidth to e.g., lib/.gitignore.
64688         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64689
64690         * build-aux/bootstrap: New setting: vc_ignore.
64691         (insert_sorted_if_absent): Create $file if absent.
64692         Adapt to new, possibly empty, list: $vc_ignore.
64693
64694         bootstrap: generate more ignorable names
64695         * build-aux/bootstrap (slurp): When generating ignorable names,
64696         also map .sin to .sed, .gperf to .c, and .y to .c.
64697
64698 2007-09-03  Jim Meyering  <jim@meyering.net>
64699
64700         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64701         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64702
64703 2007-09-02  Bruno Haible  <bruno@clisp.org>
64704
64705         Fix mis-recognition of 'mcs' on QNX 6.
64706         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64707         output contains the string "Mono".
64708         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64709         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64710
64711 2007-09-01  Bruno Haible  <bruno@clisp.org>
64712
64713         Fix collision between uniwidth/* and linebreak modules.
64714         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64715         u32_width): Remove declarations.
64716         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64717         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64718         streq3, streq2, streq1, streq0): Remove functions.
64719         (STREQ): Remove macro.
64720         (is_cjk_encoding): Remove function.
64721         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64722         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64723         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64724         * NEWS: Document the change.
64725
64726 2007-09-01  Bruno Haible  <bruno@clisp.org>
64727
64728         * lib/streq.h: Add double-inclusion guard.
64729
64730 2007-09-01  Karl Berry  <karl@gnu.org>
64731
64732         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64733
64734 2007-08-28  Jim Meyering  <jim@meyering.net>
64735
64736         Rename mreadlink_with_size to areadlink_with_size.
64737         * NEWS: Document the change.
64738         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64739         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64740         * lib/mreadlink.h: Rename this to...
64741         * lib/areadlink.h: ...this.
64742         * modules/mreadlink-with-size: Rename this to...
64743         * modules/areadlink-with-size: ...this.
64744         * lib/canonicalize.c: Reflect the renaming.
64745         * modules/canonicalize: Likewise.
64746
64747 2007-08-26  Bruno Haible  <bruno@clisp.org>
64748
64749         * gnulib-tool (func_import): When deciding which files to remove,
64750         consider also dangling symbolic links.
64751         Reported by Eric Blake.
64752
64753 2007-08-26  Bruno Haible  <bruno@clisp.org>
64754
64755         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64756
64757 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64758
64759         * lib/readline.c: Don't include getline.h, the prototype is now
64760         found in stdio.h.
64761
64762 2007-08-23  Jim Meyering  <jim@meyering.net>
64763
64764         Getdelim touchup.
64765         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64766         around the funlockfile call, since funlockfile never sets errno.
64767         Don't set errno upon failed realloc.
64768
64769 2007-08-22  Eric Blake  <ebb9@byu.net>
64770
64771         Getline touchups.
64772         * lib/getdelim.c (getdelim): Revert regression that required *n to
64773         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64774         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64775         getdelim, rather than whether implementation is missing.
64776         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64777         * lib/stdio_.h (getline): Also declare if replacement is
64778         required.
64779         * doc/functions/getdelim.texi: New file.
64780         * doc/functions/getline.texi: Likewise.
64781         * doc/gnulib.texi (Function Substitutes): Add new files.
64782         Reported by Bruno Haible.
64783
64784 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64785
64786         * users.txt: Add Guile.
64787
64788 2007-08-22  Eric Blake  <ebb9@byu.net>
64789
64790         * tests/test-getdelim.c (main): Use remove, not unlink.
64791         * tests/test-getline.c (main): Likewise.
64792
64793         Move getline and getdelim into stdio.h, per POSIX 200x.
64794         * modules/getline (Files): Remove getline.h.
64795         (Depends-on): Add stdio.
64796         (configure.ac): Add module indicator.
64797         * modules/getdelim (Files): Remove getdelim.h.
64798         (Depends-on): Add stdio.
64799         (configure.ac): Add module indicator.
64800         * modules/stdio (Makefile.am): Work with new indicators.
64801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64802         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64803         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64804         * lib/getdelim.h: Delete.
64805         * lib/getline.h: Delete.
64806         * lib/stdio_.h (getdelim, getline): Declare.
64807         * modules/getdelim-tests: New module.
64808         * modules/getline-tests: Likewise.
64809         * tests/test-getdelim.c: New file.
64810         * tests/test-getline.c: Likewise.
64811         * NEWS: Document the change.
64812         * lib/getline.c: Update choice of header.
64813         * lib/csharpcomp.c: Likewise.
64814         * lib/getpass.c: Likewise.
64815         * lib/javacomp.c: Likewise.
64816         * lib/javaversion.c: Likewise.
64817         * lib/yesno.c: Likewise.
64818         * lib/getdelim.c: Likewise.
64819         (getdelim): Set errno on failure, and avoid memory leak.
64820
64821 2007-08-19  Bruno Haible  <bruno@clisp.org>
64822
64823         * modules/closein (Depends-on): Add freadahead.
64824         * lib/closein.c: Include freadahead.h.
64825         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64826         is zero.
64827
64828 2007-08-19  Bruno Haible  <bruno@clisp.org>
64829
64830         * modules/freadahead-tests: New file.
64831         * tests/test-freadahead.sh: New file.
64832         * tests/test-freadahead.c: New file.
64833
64834         * modules/freadahead: New file.
64835         * lib/freadahead.h: New file.
64836         * lib/freadahead.c: New file.
64837         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64838         fbufmode, fpurge, freadable, fwritable.
64839
64840 2007-08-19  Eric Blake  <ebb9@byu.net>
64841
64842         Test yesno in combination with closein.
64843         * lib/yesno.c (yesno): Document use of stdin.
64844         * modules/yesno-tests (Files): New module.
64845         * tests/test-yesno.c (main): New file.
64846         * tests/test-yesno.sh: Likewise.
64847
64848 2007-08-19  Bruno Haible  <bruno@clisp.org>
64849
64850         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64851         * lib/fseeko.c (rpl_fseeko): Likewise.
64852         * lib/fseterr.c (fseterr): Likewise.
64853
64854 2007-08-19  Bruno Haible  <bruno@clisp.org>
64855
64856         * tests/test-lseek.c (main): Disable a test for BeOS.
64857         * doc/functions/lseek.texi: Document the BeOS bug.
64858
64859 2007-08-19  Bruno Haible  <bruno@clisp.org>
64860             Eric Blake  <ebb9@byu.net>
64861
64862         * lib/lseek.c: Include <sys/stat.h>.
64863         (rpl_lseek): Add workaround code also for Unix platforms.
64864         Needed for BeOS.
64865         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64866         * doc/functions/lseek.texi: Document BeOS definiency.
64867
64868 2007-08-18  Bruno Haible  <bruno@clisp.org>
64869
64870         * modules/fstrcmp-tests: New file.
64871         * tests/test-fstrcmp.c: New file.
64872
64873 2007-08-18  Bruno Haible  <bruno@clisp.org>
64874
64875         * modules/fstrcmp: New file, from GNU gettext with modifications.
64876         * lib/fstrcmp.h: New file, from GNU gettext.
64877         * lib/fstrcmp.c: New file, from GNU gettext.
64878         * MODULES.html.sh (String handling): Add fstrcmp.
64879
64880 2007-08-18  Bruno Haible  <bruno@clisp.org>
64881
64882         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64883         'bool'.
64884         (diag, compareseq): Remove const from the ctxt argument.
64885         (USE_HEURISTIC): Undefine at the end.
64886
64887 2007-08-18  Jim Meyering  <jim@meyering.net>
64888
64889         New file: lib/idcache.h
64890         * NEWS: Mention the addition.
64891         * modules/idcache (Files): Add lib/idcache.h
64892         * lib/idcache.c: Include "idcache.h".
64893         Don't include <sys/types.h>.
64894         Add a FIXME comment.
64895         Move file-scoped "static" declarations to the top.
64896         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64897
64898 2007-08-17  Bruno Haible  <bruno@clisp.org>
64899         and Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         * MODULES.html.sh: Add diffseq.
64902         * modules/diffseq: New file.
64903         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64904         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64905
64906 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64907
64908         Import changes from coreutils for bootstrap script.
64909
64910         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64911
64912         * build-aux/bootstrap (slurp): Work even in environments where
64913         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64914         current code does not slurp files whose names start with ".", and
64915         this looks like it might be a troublesome area.
64916
64917         2007-07-11  Jim Meyering  <jim@meyering.net>
64918
64919         If there's a GPL vN copyright comment, require that N == 3.
64920
64921         2007-07-08  Jim Meyering  <jim@meyering.net>
64922
64923         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64924         * build-aux/bootstrap (mam_template): Move definition out of loop.
64925
64926         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64927
64928         * build-aux/bootstrap (symlink_to_dir): Rename function from
64929         symlink_to_gnulib.  Add a directory parameter.  Update all
64930         callers.
64931         (cp_mark_as_generated): Also check for -- and link to -- files in
64932         gl/.
64933
64934         2007-07-08  Jim Meyering  <jim@meyering.net>
64935
64936         Adapt to deeper hierarchy in gnulib.
64937         * build-aux/bootstrap (symlink_to_dir): If the destination
64938         directory doesn't exist, create it. This is required at least for
64939         "lib/uniwidth/cjk.h".
64940
64941         2007-05-15  Jim Meyering  <jim@meyering.net>
64942
64943         * build-aux/bootstrap: Now that generated Makefile.am files
64944         are no longer under version control, they must be created at
64945         bootstrap time.
64946
64947 2007-08-14  Ben Pfaff  <blp@gnu.org>
64948
64949         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64950
64951 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64952
64953         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64954         given the changes below.
64955         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64956         even on hosts that have padding bits beyond the supported 64.
64957
64958 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64959
64960         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64961         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64962         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64963         depends on it.
64964         (xstrtol_error): Remove.
64965         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64966         but with a different signature.
64967         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64968         * lib/xstrtol-error.c: Include exitfail.h.
64969         (xstrtol_fatal): New function, with a different signature from the
64970         old xstrtol_error, so that the caller need not worry about passing
64971         in an exit status, or about storage management of the option argument.
64972         (xstrtol_error): Now a static function.  Redo signature to
64973         implement xstrtol_fatal.  Output the correct number of hyphens in
64974         front of the option so that the caller need not worry about
64975         storage management.
64976         (N_): New macro.
64977         (_): Remove; not used now.
64978         * modules/xstrtol: Depend on getopt.
64979         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64980         of old STRTOL_FATAL_ERROR macro.
64981         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64982         of test program.
64983         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64984         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64985
64986 2007-08-08  Eric Blake  <ebb9@byu.net>
64987
64988         * lib/xstrtol-error.c: Add missing include.
64989
64990         Move xstrtol messages into gnulib domain, when --pobase is used.
64991         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64992         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64993         * modules/xstrtol (Files): Distribute new file.
64994         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64995         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64996         * tests/test-xstrtol.c: ...into new file.
64997         * tests/test-xstrtoul.c: Also test xstrtoul.
64998         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64999         * tests/test-xstrtoumax.c: Also test xstrtoumax.
65000         * tests/test-xstrtol.sh: Drive the tests.
65001         * tests/test-xstrtoimax.sh: Likewise.
65002         * tests/test-xstrtoumax.sh: Likewise.
65003         * modules/xstrtol-tests: New module.
65004         * modules/xstrtoimax-tests: Likewise.
65005         * modules/xstrtoumax-tests: Likewise.
65006
65007 2007-08-08  Jim Meyering  <jim@meyering.net>
65008
65009         New function: mfile_name_concat.
65010         * lib/filenamecat.c (mfile_name_concat): New function, just like
65011         file_name_concat, but return NULL upon failure rather than exiting
65012         with a diagnostic.
65013         * lib/filenamecat.h: Declare it.
65014
65015 2007-08-07  Bruno Haible  <bruno@clisp.org>
65016
65017         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
65018         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
65019         warning from gcc.
65020         Reported by Eric Blake.
65021
65022 2007-08-07  Simon Josefsson  <simon@josefsson.org>
65023
65024         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
65025         * modules/crypto/arcfour (License): Likewise.
65026         * modules/crypto/des-tests (License): Likewise.
65027         * modules/crypto/gc-arctwo-tests (License): Likewise.
65028         * modules/crypto/gc-des-tests (License): Likewise.
65029         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
65030         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
65031         * modules/crypto/gc-md2-tests (License): Likewise.
65032         * modules/crypto/gc-md4-tests (License): Likewise.
65033         * modules/crypto/gc-md5-tests (License): Likewise.
65034         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
65035         * modules/crypto/gc-rijndael-tests (License): Likewise.
65036         * modules/crypto/gc-sha1-tests (License): Likewise.
65037         * modules/crypto/gc-tests (License): Likewise.
65038         * modules/crypto/hmac-md5 (License): Likewise.
65039         * modules/crypto/hmac-sha1 (License): Likewise.
65040         * modules/crypto/md2-tests (License): Likewise.
65041         * modules/crypto/md4-tests (License): Likewise.
65042         * modules/crypto/md5 (License): Likewise.
65043         * modules/crypto/rijndael (License): Likewise.
65044         * modules/crypto/sha1 (License): Likewise.
65045         * modules/memxor (License): Likewise.
65046
65047 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65048         and Bruno Haible  <bruno@clisp.org>
65049
65050         * NEWS: Describe interface changes to human, xstrtol.
65051         * lib/human.h: Include <xstrtol.h>.
65052         (human_options): Return enum strtol_error, not int.  Remove
65053         bool arg; take int * instead.
65054         * lib/human.c: Don't include "gettext.h".
65055         (_): Remove; no longer used.
65056         Don't include <xstrtol.h>, since human.h does it.
65057         (human_options): Adjust to abovementioned interface changes.
65058         Do not report error to stderr; that's now the caller's
65059         responsibility.
65060         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
65061         interface change.
65062         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
65063         Str, Argument_type_string.  All uses changed.  Put " argument"
65064         in diagnostics to make them clearer.  Change wording of suffix
65065         message for clarity.
65066         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
65067         Argument_type_string.
65068         (STRTOL_FATAL_WARN): Remove; no longer used.
65069         * modules/human (Depends-on): Remove gettext-h.
65070
65071 2007-08-06  Simon Josefsson  <simon@josefsson.org>
65072
65073         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
65074
65075 2007-07-31  Bruno Haible  <bruno@clisp.org>
65076
65077         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
65078         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
65079         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
65080
65081 2007-07-31  Bruno Haible  <bruno@clisp.org>
65082
65083         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
65084         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
65085
65086 2007-07-30  Bruno Haible  <bruno@clisp.org>
65087
65088         * modules/base64 (License): Use the synonymous term "LGPLv2+".
65089         * modules/c-ctype (License): Likewise.
65090         * modules/c-strcase (License): Likewise.
65091         * modules/check-version (License): Likewise.
65092         * modules/iconv (License): Likewise.
65093         * modules/iconv_open (License): Likewise.
65094         * modules/read-file (License): Likewise.
65095         * modules/striconv (License): Likewise.
65096         * modules/strverscmp (License): Likewise.
65097         * modules/vasprintf (License): Likewise.
65098         * modules/crypto/des (License): Likewise.
65099         * modules/crypto/gc (License): Likewise.
65100         * modules/crypto/gc-arcfour (License): Likewise.
65101         * modules/crypto/gc-arctwo (License): Likewise.
65102         * modules/crypto/gc-des (License): Likewise.
65103         * modules/crypto/gc-hmac-md5 (License): Likewise.
65104         * modules/crypto/gc-hmac-sha1 (License): Likewise.
65105         * modules/crypto/gc-md2 (License): Likewise.
65106         * modules/crypto/gc-md4 (License): Likewise.
65107         * modules/crypto/gc-md5 (License): Likewise.
65108         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
65109         * modules/crypto/gc-random (License): Likewise.
65110         * modules/crypto/gc-rijndael (License): Likewise.
65111         * modules/crypto/gc-sha1 (License): Likewise.
65112         * modules/crypto/md2 (License): Likewise.
65113         * modules/crypto/md4 (License): Likewise.
65114
65115 2007-07-30  Jim Meyering  <jim@meyering.net>
65116
65117         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
65118         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
65119         it has valid stat data.  This bug would cause du not to count the
65120         sizes of inaccessible directories.
65121         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
65122         in <http://bugzilla.redhat.com/250077>.
65123
65124 2007-07-25  Peter O'Gorman  <peter@pogma.com>
65125             Bruno Haible  <bruno@clisp.org>
65126
65127         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65128         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65129         #include_next, gives a diagnostic about it, but reports no error in
65130         the exit code.
65131         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65132
65133 2007-07-24  Ben Pfaff  <blp@gnu.org>
65134
65135         Improve name: "count-one-bits" is better than "popcount".
65136         * MODULES.html.sh: Update name.
65137         * lib/popcount.h: Renamed lib/count-one-bits.h.
65138         (popcount): Renamed count_one_bits.
65139         (popcountl): Renamed count_one_bits_l.
65140         (popcountll): Renamed count_one_bits_ll.
65141         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65142         * modules/popcount: Renamed module/count-one-bits.
65143         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65144         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65145
65146 2007-07-23  Ben Pfaff  <blp@gnu.org>
65147
65148         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65149         better code generation, and add U to large constants to avoid
65150         warnings, in non-GCC case.
65151         Suggested by Bruno Haible.
65152
65153 2007-07-23  Ben Pfaff  <blp@gnu.org>
65154
65155         * lib/popcount.h: Use verify_true instead of if...abort.
65156         * modules/popcount: Depend on verify module.
65157         Suggested by Jim Meyering.
65158
65159 2007-07-23  Bruno Haible  <bruno@clisp.org>
65160
65161         * gnulib-tool (func_import): Create a .cvsignore file also when the
65162         directory is not yet in CVS but the toplevel directory is. When
65163         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65164         Reported by Karl Berry.
65165
65166 2007-07-22  Ben Pfaff  <blp@gnu.org>
65167
65168         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65169         case.
65170         Suggested by Eric Blake.
65171
65172 2007-07-22  Ben Pfaff  <blp@gnu.org>
65173
65174         New module: popcount.
65175         * MODULES.html.sh: Add popcount.
65176         * modules/popcount: New file.
65177         * modules/popcount-tests: New file.
65178         * tests/test-popcount.c: New file.
65179         * lib/popcount.h: New file.
65180         * m4/popcount.m4: New file.
65181
65182 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65183
65184         * build-aux/announce-gen: Update to GPLv3.
65185
65186         * build-aux/config.guess: Update from config.
65187
65188 2007-07-21  Bruno Haible  <bruno@clisp.org>
65189
65190         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65191         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65192
65193 2007-07-20  Jim Meyering  <jim@meyering.net>
65194
65195         * check-module: Diagnose a self-dependency.
65196
65197 2007-07-19  Bruno Haible  <bruno@clisp.org>
65198
65199         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65200         empty.
65201         Reported by Eric Blake.
65202
65203 2007-07-18  Bruno Haible  <bruno@clisp.org>
65204
65205         * gnulib-tool: New options --po-base, --po-domain.
65206         (func_usage): Document them.
65207         (pobase, po_domain): New variables.
65208         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65209         DEFAULT_TEXT_DOMAIN.
65210         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65211         (func_import): Consider pobase and po_domain. Create a po/ directory.
65212         (func_create_testdir): Set pobase and po_domain to empty.
65213         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65214         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65215
65216 2007-07-18  Bruno Haible  <bruno@clisp.org>
65217
65218         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65219         EXTRA_DIST augmentation for files in build-aux/.
65220
65221 2007-07-16  Bruno Haible  <bruno@clisp.org>
65222
65223         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65224         * modules/getdelim (License): Likewise.
65225
65226 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65227
65228         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65229         * modules/d-type (License): Likewise.
65230         * modules/extensions (License): Likewise.
65231         * modules/fnmatch (License): Likewise.
65232         * modules/fseeko (License): Likewise.
65233         * modules/getaddrinfo (License): Likewise.
65234         * modules/getline (License): Likewise.
65235         * modules/getlogin_r (License): Likewise.
65236         * modules/getpass (License): Likewise.
65237         * modules/gettimeofday (License): Likewise.
65238         * modules/glob (License): Likewise.
65239         * modules/inet_ntop (License): Likewise.
65240         * modules/malloc (License): Likewise.
65241         * modules/malloca (License): Likewise.
65242         * modules/memmem (License): Likewise.
65243         * modules/mempcpy (License): Likewise.
65244         * modules/memset (License): Likewise.
65245         * modules/minmax (License): Likewise.
65246         * modules/mktime (License): Likewise.
65247         * modules/netinet_in (License): Likewise.
65248         * modules/pathmax (License): Likewise.
65249         * modules/poll (License): Likewise.
65250         * modules/regex (License): Likewise.
65251         * modules/snprintf (License): Likewise.
65252         * modules/stdbool (License): Likewise.
65253         * modules/stdint (License): Likewise.
65254         * modules/stdio (License): Likewise.
65255         * modules/strcase (License): Likewise.
65256         * modules/strcasestr (License): Likewise.
65257         * modules/strdup (License): Likewise.
65258         * modules/string (License): Likewise.
65259         * modules/strndup (License): Likewise.
65260         * modules/strnlen (License): Likewise.
65261         * modules/strpbrk (License): Likewise.
65262         * modules/strptime (License): Likewise.
65263         * modules/strsep (License): Likewise.
65264         * modules/sys_select (License): Likewise.
65265         * modules/sys_socket (License): Likewise.
65266         * modules/sys_stat (License): Likewise.
65267         * modules/sys_time (License): Likewise.
65268         * modules/time (License): Likewise.
65269         * modules/time_r (License): Likewise.
65270         * modules/timegm (License): Likewise.
65271         * modules/unistd (License): Likewise.
65272         * modules/vsnprintf (License): Likewise.
65273         * modules/wctype (License): Likewise.
65274
65275 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65276
65277         * modules/argz (License): LGPLv2+.
65278
65279 2007-07-15  Karl Berry  <karl@gnu.org>
65280
65281         * doc/gnulib.texi: revise node structure per new fdl.texi.
65282
65283 2007-07-14  Bruno Haible  <bruno@clisp.org>
65284
65285         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65286         the output file.
65287         * lib/uniname/uninames.h: Regenerated.
65288
65289 2007-07-14  Karl Berry  <karl@gnu.org>
65290
65291         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65292         omitting sectioning and index commands.
65293
65294 2007-07-13  Bruno Haible  <bruno@clisp.org>
65295
65296         New gnulib-tool option --more-symlinks.
65297         * gnulib-tool (func_usage): Document --more-symlinks.
65298         (do_copyrights): New variable.
65299         Recognize option --more-symlinks.
65300         (func_import): Don't add a copyright notice transform to
65301         sed_transform_lib_file if do_copyrights is empty.
65302
65303 2007-07-13  Bruno Haible  <bruno@clisp.org>
65304
65305         * lib/vasnprintf.c (decimal_point_char): Define also if
65306         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65307         && !NEED_PRINTF_DIRECTIVE_A.
65308         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65309         Gary V. Vaughan <gary@gnu.org>.
65310
65311 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * lib/inttypes_.h: Undo previous change, since it was fixed
65314         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65315
65316 2007-07-13  Bruno Haible  <bruno@clisp.org>
65317
65318         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65319         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65320
65321 2007-07-13  Jim Meyering  <jim@meyering.net>
65322
65323         df: Don't fail for Tru64's "file-on-file mount".
65324         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65325         so we fall through and use statfs instead.  Details here:
65326         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65327         Reported by Albert Chin.
65328
65329 2007-07-13  Bruno Haible  <bruno@clisp.org>
65330
65331         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65332         * modules/configmake (License): Likewise.
65333         * modules/gettext (License): Likewise.
65334         * modules/gettext-h (License): Likewise.
65335         * modules/include_next (License): Likewise.
65336         * modules/link-warning (License): Likewise.
65337         * modules/localcharset (License): Likewise.
65338         * modules/localename (License): Likewise.
65339         * modules/lock (License): Likewise.
65340         * modules/relocatable-lib-lgpl (License): Likewise.
65341         * modules/size_max (License): Likewise.
65342         * modules/vasnprintf (License): Likewise.
65343         * modules/wchar (License): Likewise.
65344         * modules/xsize (License): Likewise.
65345
65346 2007-07-13  Bruno Haible  <bruno@clisp.org>
65347
65348         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65349         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65350
65351 2007-07-12  Bruno Haible  <bruno@clisp.org>
65352
65353         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65354         in the modules files.
65355
65356 2007-07-11  Karl Berry  <karl@gnu.org>
65357
65358         * MODULES.html.sh (func_module): use
65359          sed -e '\|^'"${includefile}"'$|d'
65360          instead of /.../d, to avoid errors on $includefile's containing /.
65361
65362 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65363
65364         * gnulib-tool (func_import): Avoid duplication of --avoid
65365         statements
65366         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65367         names to `_' in variable names.
65368
65369 2007-07-10  Eric Blake  <ebb9@byu.net>
65370
65371         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65372         * NEWS: Document this change.
65373
65374 2007-07-08  Bruno Haible  <bruno@clisp.org>
65375
65376         Update to Unicode 5.0.
65377         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65378         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65379         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65380         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65381         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65382         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65383         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65384         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65385         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65386         U+10A3F, U+1D242..U+1D244.
65387         (nonspacing_table_ind): Update.
65388         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65389         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65390
65391 2007-07-08  Bruno Haible  <bruno@clisp.org>
65392
65393         Update to Unicode 5.0.
65394         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65395         code transform. Extend the name index field of unicode_name_to_code and
65396         unicode_code_to_name from 16 to 24 bits.
65397         * lib/uniname/uniname.c (unicode_character_name,
65398         unicode_name_character): Add the range 0x12xxx to the code transform.
65399         * lib/uniname/uninames.h: Regenerated.
65400         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65401
65402 2007-07-07  Bruno Haible  <bruno@clisp.org>
65403
65404         * modules/wcwidth-tests: New file.
65405         * tests/test-wcwidth.c: New file.
65406
65407         Work around MacOS X wcwidth() bug.
65408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65409         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65410         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65411         original wcwidth in non-UTF-8 locales.
65412         * modules/wcwidth (Depends-on): Add localcharset, streq,
65413         uniwidth/width.
65414         * doc/functions/wcwidth.texi: Update.
65415
65416 2007-07-07  Bruno Haible  <bruno@clisp.org>
65417
65418         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65419         (wcwidth): New declaration.
65420         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65421         macros.
65422         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65423         here. Prepare for creating <wchar.h> unconditionally.
65424         * modules/wchar (Depends-on): Add link-warning.
65425         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
65426         REPLACE_WCWIDTH, and GL_LINK_WARNING.
65427         * lib/wcwidth.h: Remove file.
65428         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
65429         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
65430         * modules/wcwidth (Files): Remove lib/wcwidth.h.
65431         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
65432         (Include): Replace wcwidth.h with <wchar.h>.
65433         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
65434         * lib/mbchar.h: Don't include wcwidth.h.
65435         * lib/mbswidth.c: Likewise.
65436         * NEWS: Mention the change.
65437
65438 2007-07-07  Bruno Haible  <bruno@clisp.org>
65439
65440         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
65441         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
65442         definition with an external declaration.
65443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
65444         defined as a function. Remove AC_C_INLINE requirement.
65445         * modules/wcwidth (Files): Add lib/wcwidth.c.
65446         (Makefile.am): Remove redundant statement.
65447
65448 2007-07-07  Bruno Haible  <bruno@clisp.org>
65449
65450         * MODULES.html.sh (Unicode string functions): Add the new modules.
65451
65452         * tests/uniwidth/test-u32-strwidth.c: New file.
65453         * modules/uniwidth/u32-strwidth-tests: New file.
65454
65455         * lib/uniwidth/u32-strwidth.c: New file.
65456         * modules/uniwidth/u32-strwidth: New file.
65457
65458         * tests/uniwidth/test-u16-strwidth.c: New file.
65459         * modules/uniwidth/u16-strwidth-tests: New file.
65460
65461         * lib/uniwidth/u16-strwidth.c: New file.
65462         * modules/uniwidth/u16-strwidth: New file.
65463
65464         * tests/uniwidth/test-u8-strwidth.c: New file.
65465         * modules/uniwidth/u8-strwidth-tests: New file.
65466
65467         * lib/uniwidth/u8-strwidth.c: New file.
65468         * modules/uniwidth/u8-strwidth: New file.
65469
65470         * tests/uniwidth/test-u32-width.c: New file.
65471         * modules/uniwidth/u32-width-tests: New file.
65472
65473         * lib/uniwidth/u32-width.c: New file.
65474         * modules/uniwidth/u32-width: New file.
65475
65476         * tests/uniwidth/test-u16-width.c: New file.
65477         * modules/uniwidth/u16-width-tests: New file.
65478
65479         * lib/uniwidth/u16-width.c: New file.
65480         * modules/uniwidth/u16-width: New file.
65481
65482         * tests/uniwidth/test-u8-width.c: New file.
65483         * modules/uniwidth/u8-width-tests: New file.
65484
65485         * lib/uniwidth/u8-width.c: New file.
65486         * modules/uniwidth/u8-width: New file.
65487
65488         * tests/uniwidth/test-uc_width.c: New file.
65489         * modules/uniwidth/width-tests: New file.
65490
65491         * lib/uniwidth/width.c: New file, from GNU libiconv.
65492         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65493         * modules/uniwidth/width: New file.
65494
65495         * lib/uniwidth.h: New file, from GNU libiconv.
65496         * modules/uniwidth/base: New file.
65497
65498 2007-07-07  Bruno Haible  <bruno@clisp.org>
65499
65500         * lib/uniname.h: New file, from GNU gettext.
65501         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65502         * lib/uniname/uninames.h: New file, from GNU gettext.
65503         * lib/uniname/uniname.c: New file, from GNU gettext.
65504         * tests/uniname/test-uninames.sh: New file.
65505         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65506         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65507         * modules/uniname/base: New file.
65508         * modules/uniname/uniname: New file.
65509         * modules/uniname/uniname-tests: New file.
65510         * MODULES.html.sh (Unicode string functions): Add the new modules.
65511
65512 2007-07-06  Bruno Haible  <bruno@clisp.org>
65513
65514         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65515
65516 2007-07-06  Bruno Haible  <bruno@clisp.org>
65517
65518         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65519         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65520         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65521         include <sys/time.h>.
65522         Reported by Eric Blake.
65523
65524 2007-07-06  Eric Blake  <ebb9@byu.net>
65525
65526         Fix testing canonicalize on cygwin.
65527         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65528         Revert patch from 2007-06-19.
65529         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65530         canonicalize module is also in use.
65531         * tests/test-canonicalize.c: New file.
65532         * tests/test-canonicalize.sh: Likewise.
65533         * modules/canonicalize-tests: Likewise.
65534
65535 2007-07-06  Jim Meyering  <jim@meyering.net>
65536
65537         * lib/getugroups.c (getugroups): Detect getgrent failure.
65538         Adjust comment to reflect reality: this function may return -1.
65539
65540 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65541
65542         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65543         the new TP address.
65544         (usage): Fix typo
65545         (gnulib_mk): New variable.
65546
65547 2007-07-05  Jim Meyering  <jim@meyering.net>
65548
65549         Don't let endgrent clobber errno, no matter how improbable.
65550         * lib/getugroups.c (getugroups): Save and restore errno around
65551         endgrent call.
65552
65553         Close the group DB even when failing with 2^31 or more members.
65554         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65555
65556 2007-07-04  Jim Meyering  <jim@meyering.net>
65557
65558         * lib/getugroups.h: New file.
65559         * lib/getugroups.c: Include "getugroups.h".
65560         Remove uses of "register" keyword.
65561         Move local variable, "cp", down into scope where used.
65562         Give "username" parameter the "const" attribute.
65563         * modules/getugroups (Files): Add lib/getugroups.h
65564
65565 2007-07-04  Karl Berry  <karl@gnu.org>
65566
65567         * MODULES.html.sh (func_all_modules): Complete rename of
65568         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65569
65570 2007-07-02  Bruno Haible  <bruno@clisp.org>
65571
65572         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65573         mode, when inttypes.h comes from gnulib.
65574         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65575
65576 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65577
65578         * NEWS: Mention lgpl module name change.
65579
65580         * modules/lgpl-2.1: Renamed from lgpl.
65581
65582         * NEWS: Mention gpl module name change.
65583
65584         * modules/gpl-3.0: New file, based on gpl-2.0.
65585
65586         * modules/gpl-2.0: Renamed from gpl.
65587
65588         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65589         doc/gpl-2.0.texi.
65590
65591 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65592
65593         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65594         #define __STDC_LIMIT_MACROS temporarily while including
65595         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65596         Problem reported by Joel E. Denny in
65597         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65598
65599 2007-07-01  Bruno Haible  <bruno@clisp.org>
65600
65601         * lib/unistdio.h: New file.
65602         * lib/unistdio/u-asnprintf.h: New file.
65603         * lib/unistdio/u-asprintf.h: New file.
65604         * lib/unistdio/u-printf-args.c: New file.
65605         * lib/unistdio/u-printf-args.h: New file.
65606         * lib/unistdio/u-printf-parse.h: New file.
65607         * lib/unistdio/u-snprintf.h: New file.
65608         * lib/unistdio/u-sprintf.h: New file.
65609         * lib/unistdio/u-vasprintf.h: New file.
65610         * lib/unistdio/u-vsnprintf.h: New file.
65611         * lib/unistdio/u-vsprintf.h: New file.
65612         * lib/unistdio/ulc-asnprintf.c: New file.
65613         * lib/unistdio/ulc-asprintf.c: New file.
65614         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65615         * lib/unistdio/ulc-printf-parse.c: New file.
65616         * lib/unistdio/ulc-snprintf.c: New file.
65617         * lib/unistdio/ulc-sprintf.c: New file.
65618         * lib/unistdio/ulc-vasnprintf.c: New file.
65619         * lib/unistdio/ulc-vasprintf.c: New file.
65620         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65621         * lib/unistdio/ulc-vsnprintf.c: New file.
65622         * lib/unistdio/ulc-vsprintf.c: New file.
65623         * lib/unistdio/u8-asnprintf.c: New file.
65624         * lib/unistdio/u8-asprintf.c: New file.
65625         * lib/unistdio/u8-printf-parse.c: New file.
65626         * lib/unistdio/u8-snprintf.c: New file.
65627         * lib/unistdio/u8-sprintf.c: New file.
65628         * lib/unistdio/u8-vasnprintf.c: New file.
65629         * lib/unistdio/u8-vasprintf.c: New file.
65630         * lib/unistdio/u8-vsnprintf.c: New file.
65631         * lib/unistdio/u8-vsprintf.c: New file.
65632         * lib/unistdio/u8-u8-asnprintf.c: New file.
65633         * lib/unistdio/u8-u8-asprintf.c: New file.
65634         * lib/unistdio/u8-u8-snprintf.c: New file.
65635         * lib/unistdio/u8-u8-sprintf.c: New file.
65636         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65637         * lib/unistdio/u8-u8-vasprintf.c: New file.
65638         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65639         * lib/unistdio/u8-u8-vsprintf.c: New file.
65640         * lib/unistdio/u16-asnprintf.c: New file.
65641         * lib/unistdio/u16-asprintf.c: New file.
65642         * lib/unistdio/u16-printf-parse.c: New file.
65643         * lib/unistdio/u16-snprintf.c: New file.
65644         * lib/unistdio/u16-sprintf.c: New file.
65645         * lib/unistdio/u16-vasnprintf.c: New file.
65646         * lib/unistdio/u16-vasprintf.c: New file.
65647         * lib/unistdio/u16-vsnprintf.c: New file.
65648         * lib/unistdio/u16-vsprintf.c: New file.
65649         * lib/unistdio/u16-u16-asnprintf.c: New file.
65650         * lib/unistdio/u16-u16-asprintf.c: New file.
65651         * lib/unistdio/u16-u16-snprintf.c: New file.
65652         * lib/unistdio/u16-u16-sprintf.c: New file.
65653         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65654         * lib/unistdio/u16-u16-vasprintf.c: New file.
65655         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65656         * lib/unistdio/u16-u16-vsprintf.c: New file.
65657         * lib/unistdio/u32-asnprintf.c: New file.
65658         * lib/unistdio/u32-asprintf.c: New file.
65659         * lib/unistdio/u32-printf-parse.c: New file.
65660         * lib/unistdio/u32-snprintf.c: New file.
65661         * lib/unistdio/u32-sprintf.c: New file.
65662         * lib/unistdio/u32-vasnprintf.c: New file.
65663         * lib/unistdio/u32-vasprintf.c: New file.
65664         * lib/unistdio/u32-vsnprintf.c: New file.
65665         * lib/unistdio/u32-vsprintf.c: New file.
65666         * lib/unistdio/u32-u32-asnprintf.c: New file.
65667         * lib/unistdio/u32-u32-asprintf.c: New file.
65668         * lib/unistdio/u32-u32-snprintf.c: New file.
65669         * lib/unistdio/u32-u32-sprintf.c: New file.
65670         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65671         * lib/unistdio/u32-u32-vasprintf.c: New file.
65672         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65673         * lib/unistdio/u32-u32-vsprintf.c: New file.
65674         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65675         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65676         * tests/unistdio/test-ulc-printf1.h: New file.
65677         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65678         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65679         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65680         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65681         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65682         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65683         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65684         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65685         * tests/unistdio/test-u8-asnprintf1.c: New file.
65686         * tests/unistdio/test-u8-asnprintf1.h: New file.
65687         * tests/unistdio/test-u8-printf1.h: New file.
65688         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65689         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65690         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65691         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65692         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65693         * tests/unistdio/test-u8-vasprintf1.c: New file.
65694         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65695         * tests/unistdio/test-u8-vsprintf1.c: New file.
65696         * tests/unistdio/test-u16-asnprintf1.c: New file.
65697         * tests/unistdio/test-u16-asnprintf1.h: New file.
65698         * tests/unistdio/test-u16-printf1.h: New file.
65699         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65700         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65701         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65702         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65703         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65704         * tests/unistdio/test-u16-vasprintf1.c: New file.
65705         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65706         * tests/unistdio/test-u16-vsprintf1.c: New file.
65707         * tests/unistdio/test-u32-asnprintf1.c: New file.
65708         * tests/unistdio/test-u32-asnprintf1.h: New file.
65709         * tests/unistdio/test-u32-printf1.h: New file.
65710         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65711         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65712         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65713         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65714         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65715         * tests/unistdio/test-u32-vasprintf1.c: New file.
65716         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65717         * tests/unistdio/test-u32-vsprintf1.c: New file.
65718         * modules/unistdio/base: New file.
65719         * modules/unistdio/u-printf-args: New file.
65720         * modules/unistdio/ulc-asnprintf: New file.
65721         * modules/unistdio/ulc-asprintf: New file.
65722         * modules/unistdio/ulc-fprintf: New file.
65723         * modules/unistdio/ulc-printf-parse: New file.
65724         * modules/unistdio/ulc-snprintf: New file.
65725         * modules/unistdio/ulc-sprintf: New file.
65726         * modules/unistdio/ulc-vasnprintf: New file.
65727         * modules/unistdio/ulc-vasprintf: New file.
65728         * modules/unistdio/ulc-vfprintf: New file.
65729         * modules/unistdio/ulc-vsnprintf: New file.
65730         * modules/unistdio/ulc-vsprintf: New file.
65731         * modules/unistdio/u8-asnprintf: New file.
65732         * modules/unistdio/u8-asprintf: New file.
65733         * modules/unistdio/u8-printf-parse: New file.
65734         * modules/unistdio/u8-snprintf: New file.
65735         * modules/unistdio/u8-sprintf: New file.
65736         * modules/unistdio/u8-vasnprintf: New file.
65737         * modules/unistdio/u8-vasprintf: New file.
65738         * modules/unistdio/u8-vsnprintf: New file.
65739         * modules/unistdio/u8-vsprintf: New file.
65740         * modules/unistdio/u8-u8-asnprintf: New file.
65741         * modules/unistdio/u8-u8-asprintf: New file.
65742         * modules/unistdio/u8-u8-snprintf: New file.
65743         * modules/unistdio/u8-u8-sprintf: New file.
65744         * modules/unistdio/u8-u8-vasnprintf: New file.
65745         * modules/unistdio/u8-u8-vasprintf: New file.
65746         * modules/unistdio/u8-u8-vsnprintf: New file.
65747         * modules/unistdio/u8-u8-vsprintf: New file.
65748         * modules/unistdio/u16-asnprintf: New file.
65749         * modules/unistdio/u16-asprintf: New file.
65750         * modules/unistdio/u16-printf-parse: New file.
65751         * modules/unistdio/u16-snprintf: New file.
65752         * modules/unistdio/u16-sprintf: New file.
65753         * modules/unistdio/u16-vasnprintf: New file.
65754         * modules/unistdio/u16-vasprintf: New file.
65755         * modules/unistdio/u16-vsnprintf: New file.
65756         * modules/unistdio/u16-vsprintf: New file.
65757         * modules/unistdio/u16-u16-asnprintf: New file.
65758         * modules/unistdio/u16-u16-asprintf: New file.
65759         * modules/unistdio/u16-u16-snprintf: New file.
65760         * modules/unistdio/u16-u16-sprintf: New file.
65761         * modules/unistdio/u16-u16-vasnprintf: New file.
65762         * modules/unistdio/u16-u16-vasprintf: New file.
65763         * modules/unistdio/u16-u16-vsnprintf: New file.
65764         * modules/unistdio/u16-u16-vsprintf: New file.
65765         * modules/unistdio/u32-asnprintf: New file.
65766         * modules/unistdio/u32-asprintf: New file.
65767         * modules/unistdio/u32-printf-parse: New file.
65768         * modules/unistdio/u32-snprintf: New file.
65769         * modules/unistdio/u32-sprintf: New file.
65770         * modules/unistdio/u32-vasnprintf: New file.
65771         * modules/unistdio/u32-vasprintf: New file.
65772         * modules/unistdio/u32-vsnprintf: New file.
65773         * modules/unistdio/u32-vsprintf: New file.
65774         * modules/unistdio/u32-u32-asnprintf: New file.
65775         * modules/unistdio/u32-u32-asprintf: New file.
65776         * modules/unistdio/u32-u32-snprintf: New file.
65777         * modules/unistdio/u32-u32-sprintf: New file.
65778         * modules/unistdio/u32-u32-vasnprintf: New file.
65779         * modules/unistdio/u32-u32-vasprintf: New file.
65780         * modules/unistdio/u32-u32-vsnprintf: New file.
65781         * modules/unistdio/u32-u32-vsprintf: New file.
65782         * modules/unistdio/ulc-asnprintf-tests: New file.
65783         * modules/unistdio/ulc-vasnprintf-tests: New file.
65784         * modules/unistdio/ulc-vasprintf-tests: New file.
65785         * modules/unistdio/ulc-vsnprintf-tests: New file.
65786         * modules/unistdio/ulc-vsprintf-tests: New file.
65787         * modules/unistdio/u8-asnprintf-tests: New file.
65788         * modules/unistdio/u8-vasnprintf-tests: New file.
65789         * modules/unistdio/u8-vasprintf-tests: New file.
65790         * modules/unistdio/u8-vsnprintf-tests: New file.
65791         * modules/unistdio/u8-vsprintf-tests: New file.
65792         * modules/unistdio/u16-asnprintf-tests: New file.
65793         * modules/unistdio/u16-vasnprintf-tests: New file.
65794         * modules/unistdio/u16-vasprintf-tests: New file.
65795         * modules/unistdio/u16-vsnprintf-tests: New file.
65796         * modules/unistdio/u16-vsprintf-tests: New file.
65797         * modules/unistdio/u32-asnprintf-tests: New file.
65798         * modules/unistdio/u32-vasnprintf-tests: New file.
65799         * modules/unistdio/u32-vasprintf-tests: New file.
65800         * modules/unistdio/u32-vsnprintf-tests: New file.
65801         * modules/unistdio/u32-vsprintf-tests: New file.
65802         * MODULES.html.sh (Unicode string functions): Add the new modules.
65803
65804 2007-07-01  Bruno Haible  <bruno@clisp.org>
65805
65806         * lib/sprintf.c (sprintf): Limit the available length estimation,
65807         to avoid address wraparound.
65808         * lib/vsprintf.c (vsprintf): Likewise.
65809         * modules/sprintf-posix (Dependencies): Add stdint.
65810         * modules/vsprintf-posix (Dependencies): Likewise.
65811
65812 2007-07-01  Bruno Haible  <bruno@clisp.org>
65813
65814         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65815         Windows PATH as well. Conservative double-quoting. Comments.
65816
65817 2007-07-01  Bruno Haible  <bruno@clisp.org>
65818             Eric Blake  <ebb9@byu.net>
65819             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65820
65821         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65822         empty components in $PATH, denoting '.'.
65823
65824 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65825
65826         * gnulib-tool: Fix indentation.
65827         (func_create_megatestdir): Likewise.
65828         Report by Bruno Haible.
65829
65830 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65831
65832         Sync from Automake.
65833         * build-aux/gnupload: Fix shell portability issues with for loops.
65834         Report by Karl Berry.
65835
65836 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65837
65838         * build-aux/maint.mk (POURL): Use translationproject.org.
65839
65840 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65841             Bruno Haible  <bruno@clisp.org>
65842
65843         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65844         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65845         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65846         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65847         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65848
65849 2007-06-27  Bruno Haible  <bruno@clisp.org>
65850
65851         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65852         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65853
65854 2007-06-26  Karl Berry  <karl@gnu.org>
65855
65856         * MODULES.html.sh: remove xreadlink-with-size.
65857
65858 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65859
65860         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65861         method that I hope also handles the double-include problem noted
65862         by Bruno Haible in
65863         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65864
65865 2007-06-23  Bruno Haible  <bruno@clisp.org>
65866
65867         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65868         Don't let the 'mostlyclean' target fail if the last subdirectory could
65869         not be removed.
65870         Reported by Karl Berry.
65871
65872 2007-06-23  Bruno Haible  <bruno@clisp.org>
65873
65874         * gnulib-tool (echo): Add a speedier workaround for ksh.
65875         * tests/test-echo.sh: Likewise.
65876
65877 2007-06-23  Bruno Haible  <bruno@clisp.org>
65878
65879         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65880         * tests/test-echo.sh: Likewise.
65881
65882 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65883
65884         * gnulib-tool (IFS): Initialize early, so we don't set it to
65885         empty later.
65886         (self_abspathname): Rewrite algorithm to set it, reindent.
65887         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65888         (func_create_megatestdir): Merge some sed scripts.
65889
65890 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65891
65892         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65893         exposed by Sun Studio 11 cc on Solaris 8.
65894
65895 2007-06-22  Bruno Haible  <bruno@clisp.org>
65896
65897         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65898         backslashes.
65899         * tests/test-echo.sh: New file.
65900
65901 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65902
65903         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65904         simplify `sed_replace_build_aux' scripts, they are portable but
65905         echoing them with `echo' is not.
65906         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65907
65908 2007-06-21  Karl Berry  <karl@gnu.org>
65909
65910         * config/srclist.txt: guess we can't handle the licenses via
65911         srclist at the moment.
65912
65913 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         * MODULES.html.sh: Add include_next.
65916         * modules/include_next: New file.
65917
65918 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65919
65920         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65921         INCLUDE_NEXT.
65922         (gl_CHECK_NEXT_HEADERS): New macro.
65923         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65924         the obsolescent gl_ABSOLUTE_HEADER.
65925         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65926         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65927         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65928         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65929         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65930         * m4/math_h.m4 (gl_MATH_H): Likewise.
65931         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65932         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65933         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65934         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65935         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65936         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65937         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65938         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65939         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65940         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65941         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65942         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65943         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65944         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65945         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65946         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65947         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65948         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65949         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65950         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65951         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65952         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65953         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65954         * lib/float_.h: Likewise.
65955         * lib/inttypes_.h: Likewise.
65956         * lib/math_.h: Likewise.
65957         * lib/search_.h: Likewise.
65958         * lib/signal_.h: Likewise.
65959         * lib/stdint_.h: Likewise.
65960         * lib/stdio_.h: Likewise.
65961         * lib/stdlib_.h: Likewise.
65962         * lib/string_.h: Likewise.
65963         * lib/sys_stat_.h: Likewise.
65964         * lib/sys_time_.h: Likewise.
65965         * lib/time_.h: Likewise.
65966         * lib/unistd_.h: Likewise.
65967         * lib/wchar_.h: Likewise.
65968         * lib/wctype_.h: Likewise.
65969         * lib/dirent_.h: Likewise.
65970         * lib/iconv_.h: Likewise.
65971         * lib/locale_.h: Likewise.
65972         * lib/netinet_in_.h: Likewise.
65973         * lib/sys_select_.h: Likewise.
65974         * lib/sys_socket_.h: Likewise.
65975         * lib/sysexits_.h: Likewise.
65976         * modules/fcntl (Depends-on): Depend on include_next, not
65977         absolute_header.
65978         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65979         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65980         * modules/fchdir: Likewise.
65981         * modules/float: Likewise.
65982         * modules/iconv_open: Likewise.
65983         * modules/inttypes: Likewise.
65984         * modules/locale: Likewise.
65985         * modules/math: Likewise.
65986         * modules/netinet_in: Likewise.
65987         * modules/search: Likewise.
65988         * modules/signal: Likewise.
65989         * modules/stdint: Likewise.
65990         * modules/stdio: Likewise.
65991         * modules/stdlib: Likewise.
65992         * modules/string: Likewise.
65993         * modules/sys_select: Likewise.
65994         * modules/sys_socket: Likewise.
65995         * modules/sys_stat: Likewise.
65996         * modules/sys_time: Likewise.
65997         * modules/sysexits: Likewise.
65998         * modules/time: Likewise.
65999         * modules/unistd: Likewise.
66000         * modules/wchar: Likewise.
66001         * modules/wctype: Likewise.
66002         * modules/sys_stat: Change maintainer to "all".
66003         * modules/unistd: Likewise.
66004
66005 2007-06-20  Karl Berry  <karl@gnu.org>
66006
66007         * config/srclist.txt: track www changes in license files.
66008
66009 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
66010
66011         * build-aux/bootstrap: Remove stray dot.
66012         Make sure build_aux settings are honored when linking
66013         gnulib_extra_files.
66014
66015 2007-06-19  Eric Blake  <ebb9@byu.net>
66016
66017         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66018         Allow compilation on cygwin.
66019
66020 2007-06-19  Jim Meyering  <jim@meyering.net>
66021
66022         xreadlink-with-size: Remove module.  No longer used.
66023         Ex-callers now use xreadlink or mreadlink-with-size.
66024         * modules/xreadlink-with-size: Remove module.
66025         * lib/xreadlink-with-size.c: Remove file.
66026         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
66027         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
66028         just before the function definition *is* accurate.
66029
66030         Eliminate one way canonicalize_filename_mode could exit.
66031         * lib/canonicalize.c (canonicalize_filename_mode):
66032         Use mreadlink_with_size, not xreadlink_with_size.
66033
66034 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
66035
66036         Detect porting problems to FreeBSD/arm, which has time_t wider than
66037         long int.  Original problem reported for GNU diff by Xin Li in
66038         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
66039         * modules/getdate (Depends-on): Add intprops, verify.
66040         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
66041         is an integer type no wider than long int.
66042
66043 2007-06-18  Jim Meyering  <jim@meyering.net>
66044
66045         New module: mreadlink-with-size.
66046         * MODULES.html.sh: Add mreadlink-with-size.
66047         * modules/mreadlink-with-size: New module
66048         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
66049         not xreadlink-with-size.
66050         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
66051
66052 2007-06-16  Bruno Haible  <bruno@clisp.org>
66053
66054         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
66055         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
66056         Reported by Gary V. Vaughan <gary@gnu.org>.
66057
66058 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
66059
66060         Revamp lchown so that it lives in unistd.h where it belongs.
66061         * lib/lchown.h: Remove.
66062         * lib/dirchownmod.c: Don't include lib/lchown.h.
66063         * lib/fchownat.c: Likewise.
66064         * lib/openat.c: Likewise.
66065         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
66066         does not follow symlinks.
66067         (EOPNOTSUPP): Define if not defined.
66068         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
66069         is defined to 0.
66070         (lchown): New decl.
66071         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
66072         Do not check for lchown decl.
66073         Set REPLACE_LCHOWN.
66074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
66075         REPLACE_LCHOWN.
66076         * modules/chown: Make it clear it follows symlinks.
66077         * modules/lchown: Make it clear it doesn't follow symlinks.
66078         (Files): Remove lib/lchown.h
66079         (Depends-on): Add unistd.
66080         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
66081         (Include): Include <unistd.h>, not "lchown.h".
66082         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
66083         REPLACE_LCHOWN.
66084
66085 2007-06-15  Jim Meyering  <jim@meyering.net>
66086
66087         Change license (GPL to LGPL) of fsusage and dependents.
66088         * modules/fsusage (License): Change to LGPL.
66089         * modules/full-read (License): Likewise.
66090         * modules/full-write (License): Likewise.
66091         * modules/safe-read (License): Likewise.
66092         * modules/safe-write (License): Likewise.
66093
66094 2007-06-14  Ben Pfaff  <blp@gnu.org>
66095
66096         Missing part of allocsa -> malloca transition.
66097         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
66098         gl_MALLOCA.
66099
66100 2007-06-12  Bruno Haible  <bruno@clisp.org>
66101
66102         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
66103         to ia64, x86_64, i386.
66104         Reported by Eric Blake.
66105
66106 2007-06-12  Bruno Haible  <bruno@clisp.org>
66107
66108         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
66109         cross-compiling to x86_64.
66110
66111 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
66112
66113         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
66114         glitch reported by Ralf Wildenhues in
66115         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
66116
66117         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
66118         Vin Shelton.
66119
66120 2007-06-11  Bruno Haible  <bruno@clisp.org>
66121
66122         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
66123         replacement string.
66124         Reported by Eric Blake.
66125
66126 2007-06-10  Bruno Haible  <bruno@clisp.org>
66127
66128         Prepare vasnprintf code for use with Unicode strings.
66129         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66130         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66131         TYPE_U32_STRING.
66132         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66133         a_u32_string variants.
66134         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66135         * lib/printf-args.c: Don't include config.h and the specification
66136         header if PRINTF_FETCHARGS is already defined.
66137         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66138         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66139         TYPE_U16_STRING, TYPE_U32_STRING.
66140         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66141         u16_directive, u16_directives, u32_directive, u32_directives): New
66142         types.
66143         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66144         New declarations.
66145         * lib/printf-parse.c: Don't include config.h and the specification
66146         header if PRINTF_PARSE is already defined. Eliminate the set of
66147         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66148         them now. Include c-ctype.h.
66149         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66150         directive and CHAR_T_ONLY_ASCII.
66151         * lib/vasnprintf.c: Don't include config.h and the specification header
66152         if VASNPRINTF is already defined.
66153         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66154         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66155         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66156         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66157         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66158         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66159         code accordingly.
66160         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66161         pad_ourselves also in this case, with the 'c' and 's' directives, and
66162         with a different notion of "width".
66163         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66164
66165 2007-06-10  Bruno Haible  <bruno@clisp.org>
66166
66167         * modules/unistr/u32-mbsnlen: New file.
66168         * lib/unistr/u32-mbsnlen.c: New file.
66169
66170         * modules/unistr/u16-mbsnlen: New file.
66171         * lib/unistr/u16-mbsnlen.c: New file.
66172
66173         * modules/unistr/u8-mbsnlen: New file.
66174         * lib/unistr/u8-mbsnlen.c: New file.
66175
66176         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66177         declarations.
66178
66179 2007-06-10  Bruno Haible  <bruno@clisp.org>
66180
66181         * lib/string_.h (mbsnlen): New declaration.
66182         * lib/mbsnlen.c: New file.
66183         * m4/mbsnlen.m4: New file.
66184         * modules/mbsnlen: New file.
66185         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66186         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66187         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66188
66189 2007-06-10  Bruno Haible  <bruno@clisp.org>
66190
66191         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66192
66193 2007-06-10  Bruno Haible  <bruno@clisp.org>
66194
66195         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66196         * lib/mbuiter.h: Likewise.
66197
66198 2007-06-10  Bruno Haible  <bruno@clisp.org>
66199
66200         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66201         declaration.
66202
66203 2007-06-10  Karl Berry  <karl@gnu.org>
66204
66205         * config/srclist.txt: remove gettext entries, Bruno prefers
66206         to update individually.
66207
66208 2007-06-10  Bruno Haible  <bruno@clisp.org>
66209
66210         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66211         'maxlen'. Ensure only length + width bytes are allocated, not
66212         length + 1 + width.
66213
66214 2007-06-09  Bruno Haible  <bruno@clisp.org>
66215
66216         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66217         (CHAR_T): Remove macro.
66218         (VASNPRINTF): Update.
66219
66220 2007-06-09  Bruno Haible  <bruno@clisp.org>
66221
66222         * MODULES.html.sh (Unicode string functions): Add the new modules.
66223
66224         * modules/uniconv/u32-conv-to-enc: New file.
66225         * lib/uniconv/u32-conv-to-enc.c: New file.
66226         * modules/uniconv/u32-conv-to-enc-tests: New file.
66227         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66228
66229         * modules/uniconv/u16-conv-to-enc: New file.
66230         * lib/uniconv/u16-conv-to-enc.c: New file.
66231         * lib/uniconv/u-conv-to-enc.h: New file.
66232         * modules/uniconv/u16-conv-to-enc-tests: New file.
66233         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66234
66235         * modules/uniconv/u8-conv-to-enc: New file.
66236         * lib/uniconv/u8-conv-to-enc.c: New file.
66237         * modules/uniconv/u8-conv-to-enc-tests: New file.
66238         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66239
66240         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66241         u32_conv_to_encoding): New declarations.
66242
66243 2007-06-09  Bruno Haible  <bruno@clisp.org>
66244
66245         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66246
66247 2007-06-09  Bruno Haible  <bruno@clisp.org>
66248
66249         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66250         * modules/malloca: Renamed from modules/allocsa, updated.
66251         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66252         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66253         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66254         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66255         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66256         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66257         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66258         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66259         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66260         * modules/c-strcasestr (Depends-on): Update.
66261         * lib/c-strcasestr.c: Update.
66262         * modules/c-strstr (Depends-on): Update.
66263         * lib/c-strstr.c: Update.
66264         * modules/canonicalize-lgpl (Depends-on): Update.
66265         * lib/canonicalize-lgpl.c: Update.
66266         * modules/clean-temp (Depends-on): Update.
66267         * lib/clean-temp.c: Update.
66268         * modules/csharpcomp (Depends-on): Update.
66269         * lib/csharpcomp.c: Update.
66270         * modules/csharpexec (Depends-on): Update.
66271         * lib/csharpexec.c: Update.
66272         * modules/javacomp (Depends-on): Update.
66273         * lib/javacomp.c: Update.
66274         * modules/javaexec (Depends-on): Update.
66275         * lib/javaexec.c: Update.
66276         * modules/mbscasestr (Depends-on): Update.
66277         * lib/mbscasestr.c: Update.
66278         * modules/mbsstr (Depends-on): Update.
66279         * lib/mbsstr.c: Update.
66280         * modules/setenv (Depends-on): Update.
66281         * lib/setenv.c: Update.
66282         * modules/strcasestr (Depends-on): Update.
66283         * lib/strcasestr.c: Update.
66284         * modules/striconveha (Depends-on): Update.
66285         * lib/striconveha.c: Update.
66286         * modules/relocatable-prog-wrapper (Files): Update.
66287         * lib/relocwrapper.c: Update.
66288         * build-aux/install-reloc: Update.
66289         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66290
66291 2007-06-08  Bruno Haible  <bruno@clisp.org>
66292
66293         Port to uClibc.
66294         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66295         * lib/fpurge.c (fpurge): Likewise.
66296         * lib/freading.c (freading): Likewise.
66297         * lib/fseeko.c (rpl_fseeko): Likewise.
66298         * lib/fseterr.c (fseterr): Likewise.
66299         * lib/fwriting.c (fwriting): Likewise.
66300         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66301
66302 2007-06-08  Bruno Haible  <bruno@clisp.org>
66303
66304         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66305         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66306         * modules/gettext (Files): Add m4/intlmacosx.m4.
66307
66308 2007-06-07  Bruno Haible  <bruno@clisp.org>
66309
66310         * modules/localename-tests: New file.
66311         * tests/test-localename.c: New file.
66312
66313         New module 'localename'.
66314         * lib/localename.h: New file.
66315         * lib/localename.c: New file, from GNU gettext.
66316         * m4/localename.m4: New file.
66317         * modules/localename: New file.
66318
66319 2007-06-07  Bruno Haible  <bruno@clisp.org>
66320
66321         Work around the lack of <wchar.h> on some builds of uClibc.
66322         * doc/headers/wchar.texi: Update.
66323         * lib/wchar_.h: Include <wchar.h> only if it exists.
66324         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66325         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66326         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66327         doesn't exist.
66328         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66329         * modules/mbfile (Depends-on): Add wchar.
66330         * modules/mbiter (Depends-on): Likewise.
66331         * modules/mbuiter (Depends-on): Likewise.
66332         Reported by Simon Josefsson.
66333
66334 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66335
66336         Work around problem reported by Steven M. Schweda in
66337         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66338         Tru64 5.1B with the Compaq compiler environment installed declares
66339         an 'isblank' function but does not define it in the C library.
66340         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66341         * lib/regex_internal.h (isblank): Likewise.
66342         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66343         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66344
66345 2007-06-05  Bruno Haible  <bruno@clisp.org>
66346
66347         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66348         ia64.
66349         * modules/printf-safe: New file.
66350         * modules/fprintf-posix (Depends-on): Add printf-safe.
66351         * modules/printf-posix (Depends-on): Likewise.
66352         * modules/snprintf-posix (Depends-on): Likewise.
66353         * modules/sprintf-posix (Depends-on): Likewise.
66354         * modules/vasnprintf-posix (Depends-on): Likewise.
66355         * modules/vasprintf-posix (Depends-on): Likewise.
66356         * modules/vfprintf-posix (Depends-on): Likewise.
66357         * modules/vprintf-posix (Depends-on): Likewise.
66358         * modules/vsnprintf-posix (Depends-on): Likewise.
66359         * modules/vsprintf-posix (Depends-on): Likewise.
66360         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66361         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66362         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66363         "no" on i386, x86_64, ia64.
66364         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66365         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66366         on i386, x86_64, ia64.
66367         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66368         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66369         on i386, x86_64, ia64.
66370         * tests/test-vasnprintf-posix.c: Include float.h.
66371         (LDBL80_WORDS): New macro.
66372         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66373         on i386, x86_64, ia64.
66374         * tests/test-vasprintf-posix.c: Include float.h.
66375         (LDBL80_WORDS): New macro.
66376         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66377         on i386, x86_64, ia64.
66378         * tests/test-snprintf-posix.c: Include float.h.
66379         * tests/test-sprintf-posix.c: Likewise.
66380         * tests/test-vsnprintf-posix.c: Likewise.
66381         * tests/test-vsprintf-posix.c: Likewise.
66382
66383 2007-06-05  Bruno Haible  <bruno@clisp.org>
66384
66385         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66386         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66387         non-IEEE numbers on i386, x86_64, ia64.
66388         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66389         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66390         * tests/test-isnanl.h: Include float.h.
66391         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66392
66393 2007-06-05  Bruno Haible  <bruno@clisp.org>
66394
66395         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66396         also the %a / %A. Handle the %a / %A code before this extra handling.
66397
66398 2007-06-05  Bruno Haible  <bruno@clisp.org>
66399
66400         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66401         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66402
66403 2007-06-05  Bruno Haible  <bruno@clisp.org>
66404
66405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66406         typo in variable name.
66407
66408 2007-06-05  Eric Blake  <ebb9@byu.net>
66409
66410         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66411         Reported by Simon Josefsson.
66412
66413 2007-06-04  Bruno Haible  <bruno@clisp.org>
66414
66415         Avoid test failures on some PowerPC platforms.
66416         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66417         Define differently for PowerPC.
66418         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66419         Reported by Gary V. Vaughan <gary@gnu.org>.
66420
66421 2007-06-02  Bruno Haible  <bruno@clisp.org>
66422
66423         Fix test-stdint failure on FreeBSD/ia64.
66424         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
66425         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
66426         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
66427         * doc/headers/stdint.texi: Update.
66428
66429 2007-06-01  Bruno Haible  <bruno@clisp.org>
66430
66431         * tests/test-binary-io.c (main): Pass a third argument to open().
66432         Reported by Gary V. Vaughan <gary@gnu.org>.
66433
66434 2007-06-01  Bruno Haible  <bruno@clisp.org>
66435
66436         * doc/functions/frexpl.texi: Update for mingw.
66437
66438 2007-06-01  Bruno Haible  <bruno@clisp.org>
66439
66440         * tests/test-lseek.c (main): Disable test of errno for invalid third
66441         argument.
66442         * doc/functions/lseek.texi: Update.
66443         Reported by Gary V. Vaughan <gary@gnu.org>.
66444
66445 2007-05-28  Bruno Haible  <bruno@clisp.org>
66446
66447         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
66448
66449 2007-05-31  Eric Blake  <ebb9@byu.net>
66450
66451         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
66452         cross compiling.
66453
66454 2007-05-30  Eric Blake  <ebb9@byu.net>
66455         and Bruno Haible  <bruno@clisp.org>
66456
66457         Work around mingw test failures exposed by m4-1.4.9b.
66458         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66459         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66460         moment.
66461
66462 2007-05-30  Bruno Haible  <bruno@clisp.org>
66463
66464         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66465         assuming that they are closed. Needed on HP-UX 11.
66466
66467 2007-05-29  Bruno Haible  <bruno@clisp.org>
66468
66469         Fix a problem with #include_next.
66470         * lib/dirent_.h: Split the double-inclusion guard.
66471         * lib/fcntl_.h: Likewise.
66472         * lib/float_.h: Likewise.
66473         * lib/iconv_.h: Likewise.
66474         * lib/inttypes_.h: Likewise.
66475         * lib/locale_.h: Likewise.
66476         * lib/math_.h: Likewise.
66477         * lib/netinet_in_.h: Likewise.
66478         * lib/search_.h: Likewise.
66479         * lib/signal_.h: Likewise.
66480         * lib/stdint_.h: Likewise.
66481         * lib/stdio_.h: Likewise.
66482         * lib/stdlib_.h: Likewise.
66483         * lib/string_.h: Likewise.
66484         * lib/sys_select_.h: Likewise.
66485         * lib/sys_socket_.h: Likewise.
66486         * lib/sys_stat_.h: Likewise.
66487         * lib/sys_time_.h: Likewise.
66488         * lib/sysexits_.h: Likewise.
66489         * lib/time_.h: Likewise.
66490         * lib/unistd_.h: Likewise.
66491         * lib/wchar_.h: Likewise.
66492         * lib/wctype_.h: Likewise.
66493
66494 2007-05-29  Bruno Haible  <bruno@clisp.org>
66495
66496         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66497         for the moment.
66498
66499 2007-05-29  Bruno Haible  <bruno@clisp.org>
66500
66501         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66502         invocation.
66503         Reported by Eric Blake.
66504
66505 2007-05-29  Bruno Haible  <bruno@clisp.org>
66506
66507         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66508         compiling case.
66509
66510 2007-05-29  Eric Blake  <ebb9@byu.net>
66511             Bruno Haible  <bruno@clisp.org>
66512
66513         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66514         cross compiles.
66515
66516 2007-05-28  Eric Blake  <ebb9@byu.net>
66517
66518         * modules/closein-tests (test_closein_LDADD): Support test on
66519         cygwin with libtool.
66520
66521 2007-05-28  Bruno Haible  <bruno@clisp.org>
66522
66523         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66524         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66525         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66526         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66527         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66528         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66529         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66530         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66531         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66532
66533 2007-05-28  Eric Blake  <ebb9@byu.net>
66534
66535         Unconditionally include <config.h> in unit tests.
66536         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66537         * tests/test-allocsa.c, tests/test-arcfour.c,
66538         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66539         tests/test-array_list.c, tests/test-array_oset.c,
66540         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66541         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66542         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66543         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66544         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66545         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66546         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66547         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66548         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66549         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66550         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66551         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66552         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66553         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66554         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66555         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66556         test-md5.c, test-memmem.c, test-printf-posix.c,
66557         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66558         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66559         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66560         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66561         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66562         test-vasnprintf-posix2.c, test-vasnprintf.c,
66563         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66564         test-vfprintf-posix.c, test-vprintf-posix.c,
66565         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66566         test-xvasprintf.c: Likewise.
66567
66568 2007-05-28  Bruno Haible  <bruno@clisp.org>
66569
66570         * gnulib-tool (func_import): Remember the --with-tests command-line
66571         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66572         Reported by Eric Blake.
66573
66574 2007-05-28  Bruno Haible  <bruno@clisp.org>
66575
66576         * modules/ftell-tests: New file.
66577         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66578         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66579
66580         * lib/ftell.c: New file.
66581         * modules/ftell: New file.
66582         * m4/ftell.m4: New file.
66583         * doc/functions/ftell.texi: Update.
66584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66585         REPLACE_FTELL.
66586         * lib/stdio_.h (rpl_ftell): New declaration.
66587         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66588         REPLACE_FTELL.
66589
66590 2007-05-28  Eric Blake  <ebb9@byu.net>
66591
66592         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66593
66594 2007-05-28  Bruno Haible  <bruno@clisp.org>
66595
66596         * modules/fseek-tests: New file.
66597         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66598         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66599
66600         * lib/fseek.c: New file.
66601         * modules/fseek: New file.
66602         * m4/fseek.m4: New file.
66603         * doc/functions/fseek.texi: Update.
66604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66605         REPLACE_FSEEK.
66606         * lib/stdio_.h (rpl_fseek): New declaration.
66607         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66608         REPLACE_FSEEK.
66609
66610 2007-05-28  Bruno Haible  <bruno@clisp.org>
66611
66612         * lib/stdio_.h (fflush): More comments.
66613
66614 2007-05-28  Bruno Haible  <bruno@clisp.org>
66615
66616         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66617         runtime test.
66618
66619 2007-05-28  Eric Blake  <ebb9@byu.net>
66620
66621         Improve lseek module.
66622         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66623         * lib/unistd_.h (lseek): Scale back link warning message.
66624         * tests/test-lseek.c: Beef up test.
66625         * tests/test-lseek.sh: Exercise more facets of lseek.
66626         Reported by Bruno Haible.
66627
66628 2007-05-28  Bruno Haible  <bruno@clisp.org>
66629
66630         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66631         to define.
66632
66633 2007-05-27  Bruno Haible  <bruno@clisp.org>
66634
66635         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66636
66637 2007-05-27  Bruno Haible  <bruno@clisp.org>
66638
66639         * modules/openmp: New file.
66640         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66641         Noah Misch.
66642
66643 2007-05-26  Bruno Haible  <bruno@clisp.org>
66644
66645         * modules/chdir-long (Depends-on): Add fchdir.
66646         * modules/chdir-safer (Depends-on): Likewise.
66647         * modules/fts (Depends-on): Likewise.
66648         * modules/fts-lgpl (Depends-on): Likewise.
66649         * modules/openat (Depends-on): Likewise.
66650         * modules/savewd (Depends-on): Likewise.
66651
66652 2007-05-24  Eric Blake  <ebb9@byu.net>
66653
66654         Fix lseek on mingw.
66655         * modules/lseek: New module.
66656         * m4/lseek.m4: New file.
66657         * lib/lseek.c: New file.
66658         * modules/lseek-tests: New file.
66659         * tests/test-lseek.c: New file.
66660         * tests/test-lseek.sh: New file.
66661         * MODULES.html.sh: Document lseek module.
66662         * modules/fflush (Depends-on): Add lseek, fseeko.
66663         * modules/fseeko (Depends-on): Likewise.
66664         * modules/ftello (Depends-on): Likewise.
66665         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66666         broken.
66667         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66668         broken.
66669         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66670         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66671         * lib/ftello.c (rpl_ftello): Likewise.
66672         * tests/test-fseeko.c (main): Test this.
66673         * tests/test-fseeko.sh: Likewise.
66674         * tests/test-ftello.c (main): Likewise.
66675         * tests/test-ftello.sh: Likewise.
66676         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66677         implies replacing fseek.
66678         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66679         HAVE_FTELLO.
66680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66681         * modules/unistd (Makefile.am): Likewise.
66682         * lib/unistd_.h (lseek): Declare a replacement.
66683         * doc/functions/lseek.texi (lseek): Document this fix.
66684         * doc/functions/fseek.texi (fseek): Likewise.
66685         * doc/functions/ftell.texi (ftell): Likewise.
66686
66687 2007-05-24  Bruno Haible  <bruno@clisp.org>
66688
66689         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66690         in the printed representation of a NaN.
66691         * tests/test-vasprintf-posix.c (test_function): Likewise.
66692         * tests/test-snprintf-posix.h (test_function): Likewise.
66693         * tests/test-sprintf-posix.h (test_function): Likewise.
66694         Reported by Eric Blake.
66695
66696 2007-05-23  Eric Blake  <ebb9@byu.net>
66697
66698         Fix fseeko/ftello on cygwin 1.5.24.
66699         * doc/functions/fseeko.texi (fseeko): Document the fix.
66700         * doc/functions/ftello.texi (ftello): Document the fix.
66701         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66702         * doc/functions/stdout.text (stdout): New file.
66703         * doc/functions/stderr.text (stderr): New file.
66704         * doc/gnulib.texi (Function Substitutes): Use new files.
66705         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66706         prior to 1.7.0.
66707         * tests/test-ftello.c (main): Likewise for ftello.
66708         * tests/test-fseeko.sh: New file.
66709         * tests/test-ftello.sh: New file.
66710         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66711         with seekable stdin.
66712         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66713         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66714         (gl_REPLACE_FSEEKO): New macro.
66715         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66716         * modules/fseeko (Files): Distribute fseeko.c.
66717         * modules/ftello (Files): Distribute ftello.c.
66718         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66719         mode.
66720         * lib/ftello.c (rpl_ftello): New file.
66721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66722         fseeko, ftello.
66723         (gl_STDIN_LARGE_OFFSET): New macro.
66724         * modules/stdio (Makefile.am): Perform the replacement.
66725         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66726
66727 2007-05-23  Bruno Haible  <bruno@clisp.org>
66728
66729         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66730         GNULIB_POSIXCHECK is defined.
66731
66732 2007-05-21  Bruno Haible  <bruno@clisp.org>
66733
66734         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66735         Check also the output for NaN arguments. When cross-compiling, guess
66736         no on IRIX.
66737         * lib/vasnprintf.c: Update comments.
66738         * tests/test-vasnprintf-posix.c (strisnan): New function.
66739         (test_function): Use it.
66740         * tests/test-vasprintf-posix.c (strisnan): New function.
66741         (test_function): Use it.
66742         * tests/test-snprintf-posix.h (strisnan): New function.
66743         (test_function): Use it.
66744         * tests/test-sprintf-posix.h (strisnan): New function.
66745         (test_function): Use it.
66746         Reported by Eric Blake.
66747
66748 2007-05-20  Bruno Haible  <bruno@clisp.org>
66749
66750         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66751         numbers that fails on BeOS.
66752         * doc/functions/frexpl.texi: Update.
66753
66754 2007-05-20  Jim Meyering  <jim@meyering.net>
66755
66756         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66757         forced upon us by glibc-2.6.
66758
66759 2007-05-20  Bruno Haible  <bruno@clisp.org>
66760
66761         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66762         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66763         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66764         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66765         NEED_PRINTF_INFINITE.
66766         (is_infinitel): New function.
66767         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66768         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66769         gl_PREREQ_VASNPRINTF_INFINITE.
66770         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66771         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66772         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66773         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66774         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66775         gl_PREREQ_VASNPRINTF_INFINITE.
66776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66777         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66778         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66780         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66781         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66782         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66783         * doc/functions/fprintf.texi: Update.
66784         * doc/functions/printf.texi: Update.
66785         * doc/functions/snprintf.texi: Update.
66786         * doc/functions/sprintf.texi: Update.
66787         * doc/functions/vfprintf.texi: Update.
66788         * doc/functions/vprintf.texi: Update.
66789         * doc/functions/vsnprintf.texi: Update.
66790         * doc/functions/vsprintf.texi: Update.
66791
66792 2007-05-20  Bruno Haible  <bruno@clisp.org>
66793
66794         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66795         was not found in libc.
66796         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66797
66798 2007-05-20  Bruno Haible  <bruno@clisp.org>
66799
66800         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66801         printed as "-nan" instead of "nan".
66802         * tests/test-vasprintf-posix.c (test_function): Likewise.
66803         * tests/test-snprintf-posix.h (test_function): Likewise.
66804         * tests/test-sprintf-posix.h (test_function): Likewise.
66805         Needed for HP-UX 11.
66806
66807 2007-05-20  Jim Meyering  <jim@meyering.net>
66808
66809         Fix buggy test for the fchownat-deref bug.
66810         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66811         symlink required for the run-test.  Without it, this test would
66812         always declare that fchownat doesn't work, and client code would
66813         unnecessarily use the replacement function with fixed libc.
66814         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66815         Reported by Greg Schafer.
66816
66817 2007-05-19  Bruno Haible  <bruno@clisp.org>
66818
66819         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66820         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66821         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66822         Needed for IRIX 6.5 and Solaris 2.5.1.
66823
66824 2007-05-19  Bruno Haible  <bruno@clisp.org>
66825
66826         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66827         (test_function): Skip tests involving -0.0 on platforms where
66828         -0.0 = 0.0.
66829         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66830         (test_function): Skip tests involving -0.0 on platforms where
66831         -0.0 = 0.0.
66832         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66833         (test_function): Skip tests involving -0.0 on platforms where
66834         -0.0 = 0.0.
66835         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66836         (test_function): Skip tests involving -0.0 on platforms where
66837         -0.0 = 0.0.
66838         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66839         tests.
66840         * tests/test-printf-posix.h (test_function): Likewise.
66841         * tests/test-printf-posix.output: Remove all -0.0 related results.
66842         Needed for IRIX 6.5.
66843
66844 2007-05-19  Bruno Haible  <bruno@clisp.org>
66845
66846         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66847         printed as "nan0x7fffffff" instead of "nan".
66848         * tests/test-vasprintf-posix.c (test_function): Likewise.
66849         * tests/test-snprintf-posix.h (test_function): Likewise.
66850         * tests/test-sprintf-posix.h (test_function): Likewise.
66851         * tests/test-fprintf-posix.h (NaN): Remove macro.
66852         (test_function): Remove all NaN related tests.
66853         * tests/test-printf-posix.h (NaN): Remove macro.
66854         (test_function): Remove all NaN related tests.
66855         * tests/test-printf-posix.output: Remove all NaN related results.
66856         Needed for IRIX 6.5.
66857
66858 2007-05-19  Bruno Haible  <bruno@clisp.org>
66859
66860         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66861         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66862
66863 2007-05-19  Bruno Haible  <bruno@clisp.org>
66864
66865         * lib/float_.h: New file.
66866         * m4/float_h.m4: New file.
66867         * modules/float: New file.
66868         * modules/isnanl (Dependencies): Add float.
66869         * modules/isnanl-nolibm (Dependencies): Likewise.
66870         * modules/mathl (Dependencies): Likewise.
66871         * modules/printf-frexpl (Dependencies): Likewise.
66872         * modules/signbit (Dependencies): Likewise.
66873         * modules/vasnprintf (Dependencies): Likewise.
66874         * doc/headers/float.texi: Update.
66875
66876 2007-05-19  Jim Meyering  <jim@meyering.net>
66877
66878         * lib/utimens.c (gl_futimens): Rename from futimens,
66879         now that glibc-2.6 declares futimens.
66880         * lib/utimens.h: Likewise.
66881
66882 2007-05-19  Bruno Haible  <bruno@clisp.org>
66883
66884         Avoid test failures on mingw.
66885         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66886         * tests/test-printf-posix.sh: Likewise.
66887         * tests/test-vfprintf-posix.sh: Likewise.
66888         * tests/test-vprintf-posix.sh: Likewise.
66889
66890 2007-05-19  Bruno Haible  <bruno@clisp.org>
66891
66892         Fix *printf result for NaN, Inf, -0.0 on mingw.
66893         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66894         * lib/vasnprintf.c: Include math.h and isnan.h.
66895         (is_infinite_or_zero): New function.
66896         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66897         values in the %f, %F, %e, %E, %g, %G directives.
66898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66899         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66900         gl_PRINTF_INFINITE and test its result. Invoke
66901         gl_PREREQ_VASNPRINTF_INFINITE.
66902         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66903         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66904         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66905         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66907         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66909         * doc/functions/fprintf.texi: Update.
66910         * doc/functions/printf.texi: Update.
66911         * doc/functions/snprintf.texi: Update.
66912         * doc/functions/sprintf.texi: Update.
66913         * doc/functions/vfprintf.texi: Update.
66914         * doc/functions/vprintf.texi: Update.
66915         * doc/functions/vsnprintf.texi: Update.
66916         * doc/functions/vsprintf.texi: Update.
66917
66918 2007-05-19  Bruno Haible  <bruno@clisp.org>
66919
66920         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66921         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66922         Instead of multiplying with 10^k, set extra_zeroes to k.
66923         (scale10_round_long_double): Remove function.
66924
66925 2007-05-18  Bruno Haible  <bruno@clisp.org>
66926
66927         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66928         introduced on 2007-05-06.
66929
66930 2007-05-18  Bruno Haible  <bruno@clisp.org>
66931
66932         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66933         %g directives.
66934         * tests/test-vasprintf-posix.c (test_function): Likewise.
66935         * tests/test-snprintf-posix.h (test_function): Likewise.
66936         * tests/test-sprintf-posix.h (test_function): Likewise.
66937
66938 2007-05-18  Bruno Haible  <bruno@clisp.org>
66939
66940         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66941         (strmatch): New function.
66942         (test_function): Test the %f directive on numbers of various exponents.
66943         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66944         (strmatch): New function.
66945         (test_function): Test the %f directive on numbers of various exponents.
66946         * tests/test-snprintf-posix.h (strmatch): New function.
66947         (test_function): Test the %f directive on numbers of various exponents.
66948         * tests/test-sprintf-posix.h (strmatch): New function.
66949         (test_function): Test the %f directive on numbers of various exponents.
66950         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66951         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66952         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66953         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66954
66955 2007-05-18  Bruno Haible  <bruno@clisp.org>
66956
66957         Add support for 'long double' number output.
66958         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66959         * lib/vasnprintf.c: Include math.h and float+.h.
66960         (mp_limb_t): New type.
66961         (GMP_LIMB_BITS): New macro.
66962         (mp_twolimb_t): New type.
66963         (GMP_TWOLIMB_BITS): New macro.
66964         (mpn_t): New type.
66965         (multiply, divide, convert_to_decimal, decode_long_double,
66966         scale10_round_long_double, scale10_round_decimal_long_double,
66967         floorlog10l): New functions.
66968         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66969         for the %f, %F, %e, %E, %g, %G directives.
66970         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66971         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66972         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66973         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66974         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66975         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66976         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66978         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66979         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66980         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66981         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66982         * modules/snprintf-posix (Depends-on): Likewise.
66983         * modules/sprintf-posix (Depends-on): Likewise.
66984         * modules/vasnprintf-posix (Depends-on): Likewise.
66985         * modules/vasprintf-posix (Depends-on): Likewise.
66986         * modules/vfprintf-posix (Depends-on): Likewise.
66987         * modules/vsnprintf-posix (Depends-on): Likewise.
66988         * modules/vsprintf-posix (Depends-on): Likewise.
66989         * modules/vasnprintf (Files): Add lib/float+.h.
66990         * doc/functions/fprintf.texi: Update.
66991         * doc/functions/printf.texi: Update.
66992         * doc/functions/snprintf.texi: Update.
66993         * doc/functions/sprintf.texi: Update.
66994         * doc/functions/vfprintf.texi: Update.
66995         * doc/functions/vprintf.texi: Update.
66996         * doc/functions/vsnprintf.texi: Update.
66997         * doc/functions/vsprintf.texi: Update.
66998
66999 2007-05-18  Bruno Haible  <bruno@clisp.org>
67000
67001         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
67002
67003 2007-05-18  Bruno Haible  <bruno@clisp.org>
67004
67005         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
67006         for printing 64-bit integers. Needed for mingw.
67007
67008 2007-05-18  Bruno Haible  <bruno@clisp.org>
67009
67010         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67011         gl_FUNC_FREXPL_WORKS.
67012         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
67013
67014 2007-05-18  Bruno Haible  <bruno@clisp.org>
67015
67016         * modules/frexpl-nolibm-tests: New file.
67017
67018         * modules/frexpl-nolibm: New file.
67019         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
67020
67021 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
67024         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67025         GCC 4.2, which otherwise issues a lot of warnings.
67026         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
67027         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
67028         Likewise.
67029         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
67030         * modules/iconv_open (iconv.h): Likewise.
67031         * modules/locale (locale.h): Likewise.
67032         * modules/netinet_in (netinet/in.h): Likewise.
67033         * modules/sys_select (sys_select.h): Likewise.
67034         * modules/sys_socket (sys/socket.h): Likewise.
67035         * modules/sys_stat (sys/stat.h): Likewise.
67036         * modules/sysexits (sysexits.h): Likewise.
67037         * modules/unistd (unistd.h): Likewise.
67038
67039 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67040
67041         * modules/closein-tests (Makefile.am): Distribute
67042         `test-closein.sh'.
67043
67044 2007-05-17  Bruno Haible  <bruno@clisp.org>
67045
67046         * tests/test-printf-posix.output: Renamed from
67047         tests/test-fprintf-posix.out.
67048         * modules/fprintf-posix-tests: Update.
67049         * modules/printf-posix-tests: Update.
67050         * modules/vfprintf-posix-tests: Update.
67051         * modules/vprintf-posix-tests: Update.
67052         * tests/test-fprintf-posix.sh: Update.
67053         * tests/test-printf-posix.sh: Update.
67054         * tests/test-vfprintf-posix.sh: Update.
67055         * tests/test-vprintf-posix.sh: Update.
67056         Reported by Ralf Wildenhues.
67057
67058 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67059
67060         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
67061         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67062         GCC 4.2, which otherwise issues a lot of warnings.
67063         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
67064         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
67065         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
67066         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
67067         it should no longer be needed.
67068         * lib/string_.h: Likewise.
67069         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
67070         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
67071         * modules/inttypes (inttypes.h): Likewise.
67072         * modules/math (math.h): Likewise.
67073         * modules/search (search.h): Likewise.
67074         * modules/signal (signal.h): Likewise.
67075         * modules/stdint (stdint.h): Likewise.
67076         * modules/stdio (stdio.h): Likewise.
67077         * modules/stdlib (stdlib.h): Likewise.
67078         * modules/string (string.h): Likewise.
67079         * modules/sys_time (sys/time.h): Likewise.
67080         * modules/time (time.h): Likewise.
67081         * modules/wchar (wchar.h): Likewise.
67082         * modules/wctype (wtype.h): Likewise.
67083
67084 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67085
67086         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
67087
67088 2007-05-13  Bruno Haible  <bruno@clisp.org>
67089
67090         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
67091         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67092         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
67093         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67094         (gl_PREREQ_STRTOK_R): Don't require it here.
67095
67096 2007-05-13  Bruno Haible  <bruno@clisp.org>
67097
67098         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
67099         when used in C++ mode.
67100
67101 2007-05-12  Bruno Haible  <bruno@clisp.org>
67102
67103         * lib/linebuffer.h: Tweak doc.
67104         * lib/linebuffer.c: Likewise.
67105
67106 2007-05-12  James Youngman  <jay@gnu.org>
67107
67108         * lib/linebuffer.c (readlinebuffer_delim): New function,
67109         like readlinebuffer, but use a caller-specified delimiter.
67110         (readlinebuffer): Just call readlinebuffer_delim with '\n'
67111         as the delimiter.
67112         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
67113
67114 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67115
67116         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
67117         * modules/openat (Files): Remove openat-die.c.
67118         (Depends-on): Add openat-die.
67119         * modules/openat-die: New module.
67120
67121 2007-05-06  Bruno Haible  <bruno@clisp.org>
67122
67123         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
67124         Update with info about Cygwin.
67125         * doc/functions/fprintf.texi: Update.
67126         * doc/functions/printf.texi: Update.
67127         * doc/functions/snprintf.texi: Update.
67128         * doc/functions/sprintf.texi: Update.
67129         * doc/functions/vfprintf.texi: Update.
67130         * doc/functions/vprintf.texi: Update.
67131         * doc/functions/vsnprintf.texi: Update.
67132         * doc/functions/vsprintf.texi: Update.
67133         Reported by Eric Blake.
67134
67135 2007-05-06  Bruno Haible  <bruno@clisp.org>
67136
67137         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67138         padding ourselves for the floating-point directives.
67139         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67140         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67141         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67142         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67143         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67144         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67145         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67146         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67147         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67148         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67149         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67150         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67151         * tests/test-snprintf-posix.h (test_function): Also check the width
67152         and some flags in the %f directive.
67153         * tests/test-sprintf-posix.h (test_function): Likewise.
67154         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67155         * tests/test-vasprintf-posix.c (test_function): Likewise.
67156         * doc/functions/fprintf.texi: Update.
67157         * doc/functions/printf.texi: Update.
67158         * doc/functions/snprintf.texi: Update.
67159         * doc/functions/sprintf.texi: Update.
67160         * doc/functions/vfprintf.texi: Update.
67161         * doc/functions/vprintf.texi: Update.
67162         * doc/functions/vsnprintf.texi: Update.
67163         * doc/functions/vsprintf.texi: Update.
67164
67165 2007-05-06  Bruno Haible  <bruno@clisp.org>
67166
67167         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67168         pass the ' flag character to sprintf or snprintf.
67169         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67171         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67172         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67173         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67174         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67175         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67176         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67177         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67178         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67179         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67180         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67181         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67182         flag.
67183         * tests/test-sprintf-posix.h (test_function): Likewise.
67184         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67185         * tests/test-vasprintf-posix.c (test_function): Likewise.
67186         * doc/functions/fprintf.texi: Update.
67187         * doc/functions/printf.texi: Update.
67188         * doc/functions/snprintf.texi: Update.
67189         * doc/functions/sprintf.texi: Update.
67190         * doc/functions/vfprintf.texi: Update.
67191         * doc/functions/vprintf.texi: Update.
67192         * doc/functions/vsnprintf.texi: Update.
67193         * doc/functions/vsprintf.texi: Update.
67194
67195 2007-05-01  Bruno Haible  <bruno@clisp.org>
67196
67197         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67198
67199 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67200
67201         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67202         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67203
67204 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67205
67206         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67207         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67208         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67209
67210 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67211
67212         * lib/argp-help.c (struct hol_entry): New member `ord'.
67213         (HOL_ENTRY_PTRCMP): Use ord for comparison
67214         (hol_sort): Initialize ord.
67215
67216 2007-05-01  Bruno Haible  <bruno@clisp.org>
67217
67218         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67219         Reported by Eric Blake.
67220         * doc/gnulib.texi (Function Substitutes): Update.
67221
67222 2007-05-01  Bruno Haible  <bruno@clisp.org>
67223
67224         * doc/functions.texi: Remove file, now redundant through
67225         doc/functions/*.texi.
67226
67227 2007-05-01  Bruno Haible  <bruno@clisp.org>
67228
67229         * modules/argp (Depends-on): Add sleep.
67230
67231 2007-05-01  Bruno Haible  <bruno@clisp.org>
67232
67233         * modules/sleep-tests: New file.
67234         * tests/test-sleep.c: New file.
67235
67236         * modules/sleep: New file.
67237         * lib/sleep.c: New file.
67238         * m4/sleep.m4: New file.
67239         * lib/unistd_.h (sleep): New declaration.
67240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67241         HAVE_SLEEP.
67242         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67243         * doc/functions/sleep.texi: Document the sleep module.
67244
67245 2007-05-01  Bruno Haible  <bruno@clisp.org>
67246
67247         * lib/sigprocmask.h: Remove file.
67248         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67249         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67250         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67251         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67252         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67253         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67254         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67255         HAVE_SIGSET_T as a shell variable.
67256         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67257         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67258         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67259         (Depends-on): Add signal. Remove verify.
67260         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67261         (Include): Mention <signal.h> instead of sigprocmask.h.
67262         * NEWS: Mention the change.
67263         * lib/fatal-signal.c: Don't include sigprocmask.h.
67264
67265 2007-05-01  Bruno Haible  <bruno@clisp.org>
67266
67267         * modules/signal: New file.
67268         * lib/signal_.h: New file.
67269         * m4/signal_h.m4: New file.
67270
67271 2007-05-01  Bruno Haible  <bruno@clisp.org>
67272
67273         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67274         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67275         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67276         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67277
67278 2007-05-01  Bruno Haible  <bruno@clisp.org>
67279
67280         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67281         configure time.
67282         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67283         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67284         * modules/sys_stat (Makefile.am): Substitute their values into
67285         sys/stat.h.
67286
67287 2007-05-01  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67290         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67291         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67292
67293 2007-05-01  Bruno Haible  <bruno@clisp.org>
67294
67295         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67296         'assert' module here.
67297
67298 2007-05-01  Bruno Haible  <bruno@clisp.org>
67299
67300         * doc/functions/*.texi: New files.
67301         * doc/functions/google-ranking.txt: New file.
67302         * doc/gnulib.texi (Function Substitutes): New chapter.
67303         (ctime, inet_ntoa): Remove sections.
67304         * doc/ctime.texi: Remove file.
67305         * doc/inet_ntoa.texi: Remove file.
67306         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67307         dependencies.
67308         (%.info): New rule, specifying a --reference-limit.
67309
67310 2007-05-01  Bruno Haible  <bruno@clisp.org>
67311
67312         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67313
67314 2007-05-01  Bruno Haible  <bruno@clisp.org>
67315
67316         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67317         the portability of 'mkdir' to mingw systems.
67318
67319 2007-05-01  Bruno Haible  <bruno@clisp.org>
67320
67321         * doc/headers/google-ranking.txt: New file.
67322
67323 2007-04-30  Eric Blake  <ebb9@byu.net>
67324
67325         Prefer fseeko to fseek.
67326         * modules/getpass (Depends-on): Add fseeko.
67327         * lib/getpass.c (getpass): Use fseeko, not fseek.
67328
67329 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67330
67331         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67332         assumes the sorting is stable, while most qsort implementations
67333         are not.  Use argument addresses to ensure they never compare as
67334         equal.
67335
67336         * tests/test-argp-2.sh (usage-indent test): Fix output
67337         (func_compare): Restore diff options
67338         * tests/test-argp.c: Restore #include "progname.h"
67339
67340 2007-04-29  Bruno Haible  <bruno@clisp.org>
67341
67342         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67343         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67344         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67345         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67346         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67347         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67348         (TESTS, check_PROGRAMS): Add test-snprintf.
67349         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67350         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67351         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67352         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67353         assertions that fail on HP-UX, OSF/1, or IRIX.
67354         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67355
67356 2007-04-29  Bruno Haible  <bruno@clisp.org>
67357
67358         * MODULES.html.sh (posix_functions): Remove 'contents'.
67359
67360 2007-04-29  Karl Berry  <karl@gnu.org>
67361
67362         * config/srclist.txt (gendocs_template_min): new entry.
67363
67364 2007-04-29  Bruno Haible  <bruno@clisp.org>
67365
67366         Work around fpurge bug on BSD systems.
67367         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67368         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67369         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67370         fpurge to rpl_fpurge if the system already has this function.
67371         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67372         the case where the system already has this function. Correct invariants
67373         on BSD systems.
67374         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67375         BSD systems.
67376
67377 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67378
67379         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67380         proposed by Sven Verdoolaege.
67381
67382         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67383         options.
67384         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67385         (usage and help tests): Update
67386
67387 2007-04-29  Bruno Haible  <bruno@clisp.org>
67388
67389         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67390         Print more information in case of failure. Disable a test on BeOS.
67391
67392 2007-04-29  Bruno Haible  <bruno@clisp.org>
67393
67394         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67395         This helps debugging on systems on which no gdb is available.
67396
67397 2007-04-29  Bruno Haible  <bruno@clisp.org>
67398
67399         * lib/freading.h: Improve comments.
67400         * lib/fwriting.h: Likewise.
67401         * tests/test-freading.c (main): Don't check freading immediately after
67402         repositioning. Needed for glibc.
67403
67404 2007-04-29  Bruno Haible  <bruno@clisp.org>
67405
67406         * lib/freading.c (freading): Trivial simplification.
67407
67408 2007-04-28  Bruno Haible  <bruno@clisp.org>
67409
67410         * tests/test-fwriting.c (main): Also test the interaction between
67411         fflush and fwriting.
67412         * modules/fwriting-tests (Depends-on): Add fflush.
67413
67414         * tests/test-freading.c (main): Also test the interaction between
67415         fflush and freading.
67416         * modules/freading-tests (Depends-on): Add fflush.
67417
67418 2007-04-28  Bruno Haible  <bruno@clisp.org>
67419
67420         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67421         fseeko and ftello.
67422         Suggested by Eric Blake.
67423
67424 2007-04-28  Jim Meyering  <jim@meyering.net>
67425
67426         Avoid false-negative in gl_STDINT_H's C99 conformance test.
67427         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
67428         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
67429
67430 2007-04-27  Eric Blake  <ebb9@byu.net>
67431
67432         * doc/headers/assert.texi (assert.h): Document assert module use.
67433
67434 2007-04-27  Bruno Haible  <bruno@clisp.org>
67435
67436         * doc/headers/*.texi: New files.
67437         * doc/gnulib.texi (Header File Substitutes): New chapter.
67438         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
67439         dependencies.
67440         (standards.info ,standards.html, standards.dvi): Update dependencies.
67441         (mostlyclean, clean): New targets.
67442
67443 2007-04-27  Bruno Haible  <bruno@clisp.org>
67444
67445         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
67446         * modules/sysexits (Files, Makefile.am): Update.
67447
67448         * lib/sys_socket_.h: Renamed from lib/socket_.h.
67449         * modules/sys_socket (Files, Makefile.am): Update.
67450
67451         * lib/sys_stat_.h: Renamed from lib/stat_.h.
67452         * modules/sys_stat (Files, Makefile.am): Update.
67453
67454 2007-04-27  Eric Blake  <ebb9@byu.net>
67455
67456         * lib/freading.h: Improve comments.
67457         * lib/fwriting.h: Likewise.
67458         * lib/fflush.c: Likewise.
67459
67460         Fix closein for mingw.
67461         * modules/closein-tests: Add tests for closein.
67462         * tests/test-closein.c: New file.
67463         * tests/test-closein.sh: Likewise.
67464         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67465         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67466
67467 2007-04-27  Bruno Haible  <bruno@clisp.org>
67468
67469         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67470         version is < 6.
67471         * lib/math_.h [__DECC]: Likewise.
67472         * lib/stdio_.h [__DECC]: Likewise.
67473         * lib/stdlib_.h [__DECC]: Likewise.
67474         * lib/string_.h [__DECC]: Likewise.
67475         * lib/time_.h [__DECC]: Likewise.
67476         * lib/wchar_.h [__DECC]: Likewise.
67477         * lib/wctype_.h [__DECC]: Likewise.
67478
67479 2007-04-27  Bruno Haible  <bruno@clisp.org>
67480
67481         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67482
67483 2007-04-27  Bruno Haible  <bruno@clisp.org>
67484
67485         * lib/fflush.c: Add comments.
67486         * modules/fpurge-tests (Depends-on): Add fflush.
67487         * modules/freadable-tests (Depends-on): Likewise.
67488         * modules/fwritable-tests (Depends-on): Likewise.
67489
67490 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67491
67492         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67493         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67494         Report by Bruno Haible <bruno@clisp.org>.
67495
67496 2007-04-26  Eric Blake  <ebb9@byu.net>
67497
67498         Fix fflush on mingw.
67499         * modules/fflush (Depends-on): Add freading.
67500         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67501         but unread data.
67502
67503 2007-04-26  Eric Blake  <ebb9@byu.net>
67504         and Bruno Haible  <bruno@clisp.org>
67505
67506         Implement freading and fwriting.
67507         * lib/freading.c: New file.
67508         * lib/freading.h: Likewise.
67509         * m4/freading.m4: Likewise.
67510         * modules/freading: Likewise.
67511         * modules/freading-tests: Likewise.
67512         * tests/test-freading.c: Likewise.
67513         * lib/fwriting.c: New file.
67514         * lib/fwriting.h: Likewise.
67515         * m4/fwriting.m4: Likewise.
67516         * modules/fwriting: Likewise.
67517         * modules/fwriting-tests: Likewise.
67518         * tests/test-fwriting.c: Likewise.
67519         * MODULES.html.sh (File stream based Input/Output): Mention them.
67520
67521 2007-04-26  Bruno Haible  <bruno@clisp.org>
67522
67523         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67524         'long' when we assume it.
67525         Suggested by Eric Blake.
67526
67527 2007-04-26  Bruno Haible  <bruno@clisp.org>
67528
67529         Ensure fseeko, ftello are declared on glibc systems.
67530         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67531         * modules/fseeko (configure.ac-early): Likewise.
67532         * modules/ftello (configure.ac-early): Likewise.
67533         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67534         AC_FUNC_FSEEKO for this.
67535         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67536         (gl_CHECK_FSEEKO): Remove macro.
67537
67538 2007-04-26  Bruno Haible  <bruno@clisp.org>
67539
67540         * tests/test-fflush.c (main): Also check the ftell result after
67541         fflush and fseek/fseeko.
67542         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67543         file descriptor position cache in the stream.
67544         * lib/fseeko.c (rpl_fseeko): Likewise.
67545
67546 2007-04-26  Bruno Haible  <bruno@clisp.org>
67547
67548         * modules/fflush-tests (Depends-on): Add fseeko.
67549
67550 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67551             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67552
67553         * lib/argz_.h: ensure error_t definition is obtained in same
67554         mechanism system argz.h would have.
67555         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67556         argz facilities are known bad.  Err on the side of caution if
67557         cross-compiling.
67558
67559 2007-04-25  Eric Blake  <ebb9@byu.net>
67560
67561         * lib/fpurge.c (includes): Use stdlib.h for free.
67562         * tests/test-fflush.c (main): Also test fflush-fseeko.
67563
67564 2007-04-25  Bruno Haible  <bruno@clisp.org>
67565
67566         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67567         * lib/fseeko.c: New file.
67568         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67569         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67570         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67571         gl_FUNC_FSEEKO.
67572         (gl_FUNC_FSEEKO): Invoke it.
67573         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67574         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67575         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67576
67577 2007-04-25  Bruno Haible  <bruno@clisp.org>
67578
67579         * modules/fflush (Depends-on): Add ftello.
67580
67581 2007-04-25  Bruno Haible  <bruno@clisp.org>
67582
67583         * modules/ftello-tests: New file.
67584         * tests/test-ftello.c: New file.
67585
67586         * modules/ftello: New file.
67587         * m4/ftello.m4: New file.
67588         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67589         HAVE_FTELLO.
67590         * lib/stdio_.h (ftello): New declaration.
67591         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67592         HAVE_FTELLO.
67593
67594 2007-04-25  Bruno Haible  <bruno@clisp.org>
67595
67596         * modules/fseeko-tests: New file.
67597         * tests/test-fseeko.c: New file.
67598
67599         * modules/fseeko: New file.
67600         * m4/fseeko.m4: New file.
67601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67602         HAVE_FSEEKO.
67603         * lib/stdio_.h (fseeko): New declaration.
67604         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67605         HAVE_FSEEKO.
67606
67607 2007-04-25  Bruno Haible  <bruno@clisp.org>
67608
67609         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67610
67611 2007-04-25  Bruno Haible  <bruno@clisp.org>
67612
67613         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67614         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67615         * tests/test-unistd.c: Likewise.
67616         * tests/test-fcntl.c: Likewise.
67617
67618 2007-04-23  Eric Blake  <ebb9@byu.net>
67619
67620         * lib/fflush.c: Fix missing include.
67621         Reported by Bruno Haible.
67622
67623 2007-04-23  Bruno Haible  <bruno@clisp.org>
67624
67625         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67626         Reported by Eric Blake.
67627
67628 2007-04-23  Bruno Haible  <bruno@clisp.org>
67629
67630         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67631
67632 2007-04-23  Bruno Haible  <bruno@clisp.org>
67633
67634         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67635
67636 2007-04-23  Bruno Haible  <bruno@clisp.org>
67637
67638         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67639         Needed on HP-UX 11.
67640
67641 2007-04-16  Eric Blake  <ebb9@byu.net>
67642
67643         Make fflush rely on fpurge.
67644         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67645         open coding all variants.
67646         * modules/fflush (Depends-on): Add fpurge and unistd.
67647         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67648         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67649
67650         Fix --with-tests compilation on cygwin.
67651         * modules/argmatch-tests (Makefile.am): List gnulib library first
67652         in LDADD.
67653         * modules/argp-tests (Makefile.am): Likewise.
67654         * modules/array-list-tests (Makefile.am): Likewise.
67655         * modules/array-oset-tests (Makefile.am): Likewise.
67656         * modules/avltree-list-tests (Makefile.am): Likewise.
67657         * modules/avltree-oset-tests (Makefile.am): Likewise.
67658         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67659         * modules/carray-list-tests (Makefile.am): Likewise.
67660         * modules/dirname-tests (Makefile.am): Likewise.
67661         * modules/frexp-tests (Makefile.am): Likewise.
67662         * modules/isnanl-tests (Makefile.am): Likewise.
67663         * modules/linked-list-tests (Makefile.am): Likewise.
67664         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67665         * modules/lock-tests (Makefile.am): Likewise.
67666         * modules/rbtree-list-tests (Makefile.am): Likewise.
67667         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67668         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67669         * modules/tls-tests (Makefile.am): Likewise.
67670         * modules/tsearch-tests (Makefile.am): Likewise.
67671         * modules/xvasprintf-tests (Makefile.am): Likewise.
67672
67673         Fix fpurge for cygwin.
67674         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67675         value.
67676         * modules/fpurge-tests (Depends-on): Clean up trash.
67677
67678 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67679
67680         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67681
67682         * m4/autobuild.m4: Re-indent.
67683
67684 2007-04-13  Bruno Haible  <bruno@clisp.org>
67685
67686         * modules/fpurge-tests: New file.
67687         * tests/test-fpurge.c: New file.
67688
67689         * modules/fpurge: New file.
67690         * lib/fpurge.h: New file.
67691         * lib/fpurge.c: New file.
67692         * m4/fpurge.m4: New file.
67693
67694 2007-04-13  Bruno Haible  <bruno@clisp.org>
67695
67696         * modules/fbufmode-tests: New file.
67697         * tests/test-fbufmode.c: New file.
67698
67699         * modules/fbufmode: New file.
67700         * lib/fbufmode.h: New file.
67701         * lib/fbufmode.c: New file.
67702         * m4/fbufmode.m4: New file.
67703
67704 2007-04-13  Bruno Haible  <bruno@clisp.org>
67705
67706         * modules/fwritable-tests: New file.
67707         * tests/test-fwritable.c: New file.
67708
67709         * modules/fwritable: New file.
67710         * lib/fwritable.h: New file.
67711         * lib/fwritable.c: New file.
67712         * m4/fwritable.m4: New file.
67713
67714 2007-04-13  Bruno Haible  <bruno@clisp.org>
67715
67716         * modules/freadable-tests: New file.
67717         * tests/test-freadable.c: New file.
67718
67719         * modules/freadable: New file.
67720         * lib/freadable.h: New file.
67721         * lib/freadable.c: New file.
67722         * m4/freadable.m4: New file.
67723
67724 2007-04-13  Bruno Haible  <bruno@clisp.org>
67725
67726         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67727         MOSTLYCLEANFILES.
67728
67729 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67732         gzip bootstrap.conf to avoid dragging in i18n machinery.
67733         (gnulib_tool_option): Use it.
67734
67735 2007-04-13  Bruno Haible  <bruno@clisp.org>
67736
67737         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67738         %F directives.
67739         * tests/test-vasprintf-posix.c (test_function): Likewise.
67740         * tests/test-snprintf-posix.h (test_function): Likewise.
67741         * tests/test-sprintf-posix.h (test_function): Likewise.
67742         * tests/test-fprintf-posix.h (test_function): Likewise.
67743         * tests/test-printf-posix.h (test_function): Likewise.
67744         * tests/test-fprintf-posix.out: Likewise.
67745
67746 2007-04-13  Bruno Haible  <bruno@clisp.org>
67747
67748         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67749         * modules/tls-tests (configure.ac): Likewise.
67750         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67751
67752 2007-04-13  Bruno Haible  <bruno@clisp.org>
67753
67754         * lib/tls.c (glthread_tls_get): Fix return type.
67755         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67756
67757 2007-04-12  Eric Blake  <ebb9@byu.net>
67758
67759         * modules/gettime (Depends-on): Remove gettime.
67760         Reported by Dmitry V. Levin.
67761
67762 2007-04-12  Bruno Haible  <bruno@clisp.org>
67763
67764         * modules/fflush (Include): Mention <stdio.h>.
67765         * modules/strtoimax (Include): Mention <inttypes.h>.
67766         * modules/strtoumax (Include): Likewise.
67767
67768 2007-04-12  Eric Blake  <ebb9@byu.net>
67769
67770         * .cvsignore: New file.
67771         * .gitignore: Likewise.
67772
67773 2007-04-12  Bruno Haible  <bruno@clisp.org>
67774
67775         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67776         not before, since $(LDADD) often contains libgnu.a.
67777         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67778         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67779         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67780         Needed on Cygwin.
67781
67782 2007-04-12  Eric Blake  <ebb9@byu.net>
67783
67784         Work around glibc's failure to flush stdin on fclose.
67785         * lib/closein.c (close_stdin): Flush stdin before closing.
67786
67787         Work around glibc's failure to reset seekable stdin on exit.
67788         * modules/closein: New module.
67789         * lib/closein.c: New file.
67790         * lib/closein.h: Likewise.
67791         * m4/closein.m4: Likewise.
67792         * MODULES.html.sh (File stream based Input/Output): Document it.
67793
67794 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67795
67796         * gnulib-tool: Rename generated 'autobuild' script to
67797         'do-autobuild' in --create-megatestdir output.
67798
67799         * doc/gnulib.texi (Build robot for gnulib): Fix.
67800
67801 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67802
67803         * modules/sysexits (Depends-on): Add absolute-header.
67804
67805 2007-04-12  Eric Blake  <ebb9@byu.net>
67806
67807         No need to preserve errno on success.
67808         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67809         Reported by Bruno Haible.
67810
67811 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67812
67813         * MODULES.html.sh (Support for maintaining and releasing
67814         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67815
67816 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67817
67818         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67819
67820 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67821
67822         * modules/autobuild: New module.
67823
67824         * m4/autobuild.m4: New file.
67825
67826 2007-04-11  Bruno Haible  <bruno@clisp.org>
67827
67828         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67829         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67830         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67831         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67832         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67833         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67834         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67835         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67836         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67837         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67838         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
67839         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67840         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67841         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
67842         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67843         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67844         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
67845         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67846         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67847         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67848         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67849         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67850         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
67851         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67852         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
67854         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67855         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67856         Reported by Eric Blake.
67857
67858 2007-04-11  Bruno Haible  <bruno@clisp.org>
67859
67860         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67861
67862 2007-04-10  Bruno Haible  <bruno@clisp.org>
67863
67864         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67865         for NaN and Infinity. Needed on FreeBSD 6.1.
67866         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67867         regarding results for "%010a" of Infinity and NaN.
67868         * tests/test-vasprintf-posix.c (test_function): Likewise.
67869         * tests/test-snprintf-posix.h (test_function): Likewise.
67870         * tests/test-sprintf-posix.h (test_function): Likewise.
67871         * tests/test-fprintf-posix.h (test_function): Likewise.
67872         * tests/test-printf-posix.h (test_function): Likewise.
67873         * tests/test-fprintf-posix.out: Likewise.
67874
67875 2007-04-10  Bruno Haible  <bruno@clisp.org>
67876
67877         * modules/locale-tests: New file.
67878         * tests/test-locale.c: New file.
67879
67880         * modules/locale: New file.
67881         * lib/locale_.h: New file.
67882         * m4/locale_h.m4: New file.
67883
67884 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67885             Bruno Haible  <bruno@clisp.org>
67886
67887         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67888         be determined, test for availability of the copysignf, copysign,
67889         copysignl functions.
67890         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67891         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67892         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67893
67894 2007-04-09  Eric Blake  <ebb9@byu.net>
67895
67896         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67897         * modules/stdio (Makefile.am): Support fflush.
67898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67899         * modules/fflush: New file.
67900         * lib/fflush.c: Likewise.
67901         * m4/fflush.m4: Likewise.
67902         * modules/fflush-tests: New test.
67903         * tests/test-fflush.c: Likewise.
67904         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67905
67906 2007-04-06  Bruno Haible  <bruno@clisp.org>
67907
67908         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67909         (VASNPRINTF): Use signbit for faster determination whether to print a
67910         minus sign.
67911         * modules/vasnprintf (Files): Remove lib/float+.h.
67912         * modules/fprintf-posix (Depends-on): Add signbit.
67913         * modules/snprintf-posix (Depends-on): Likewise.
67914         * modules/sprintf-posix (Depends-on): Likewise.
67915         * modules/vasnprintf-posix (Depends-on): Likewise.
67916         * modules/vasprintf-posix (Depends-on): Likewise.
67917         * modules/vfprintf-posix (Depends-on): Likewise.
67918         * modules/vsnprintf-posix (Depends-on): Likewise.
67919         * modules/vsprintf-posix (Depends-on): Likewise.
67920
67921 2007-04-06  Bruno Haible  <bruno@clisp.org>
67922
67923         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67924         * tests/test-frexpl.c (main): Likewise.
67925         * tests/test-ldexpl.c (main): Likewise.
67926         * modules/frexp-tests (Depends-on): Add signbit.
67927         * modules/frexpl-tests (Depdends-on): Likewise.
67928         * modules/ldexpl-tests (Depdends-on): Likewise.
67929
67930 2007-04-06  Bruno Haible  <bruno@clisp.org>
67931
67932         * modules/signbit-tests: New file.
67933         * tests/test-signbit.c: New file.
67934
67935         * modules/signbit: New file.
67936         * lib/signbitf.c: New file.
67937         * lib/signbitd.c: New file.
67938         * lib/signbitl.c: New file.
67939         * m4/signbit.m4: New file.
67940         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67941         (signbit): New macro.
67942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67943         REPLACE_SIGNBIT.
67944         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67945         REPLACE_FREXPL into math.h.
67946
67947 2007-04-06  Bruno Haible  <bruno@clisp.org>
67948
67949         * modules/isnanf-nolibm-tests: New file.
67950         * tests/test-isnanf.c: New file.
67951
67952         * modules/isnanf-nolibm: New file.
67953         * lib/isnanf.h: New file.
67954         * lib/isnanf.c: New file.
67955         * lib/isnan.c: Consider the USE_FLOAT macro.
67956         * m4/isnanf.m4: New file.
67957
67958 2007-04-06  Bruno Haible  <bruno@clisp.org>
67959
67960         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67961         (Link): New section.
67962
67963         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67964
67965 2007-04-06  Bruno Haible  <bruno@clisp.org>
67966
67967         Assume the 'long double' type.
67968         * m4/longdouble.m4: Remove file.
67969         * config/srclist.txt: Don't mention longdouble.m4.
67970         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67971         * lib/float+.h: Likewise.
67972         * lib/frexp.c: Likewise.
67973         * lib/printf-args.h: Likewise.
67974         * lib/printf-args.c: Likewise.
67975         * lib/printf-frexp.c: Likewise.
67976         * lib/printf-parse.c: Likewise.
67977         * lib/vasnprintf.c: Likewise.
67978         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67979         * m4/intl.m4: Likewise.
67980         * m4/isnanl.m4: Likewise.
67981         * m4/printf.m4: Likewise.
67982         * m4/printf-frexpl.m4: Likewise.
67983         * m4/vasnprintf.m4: Likewise.
67984         * modules/allocsa (Files): Remove m4/longdouble.m4.
67985         * modules/gettext (Files): Likewise.
67986         * modules/relocatable-prog-wrapper (Files): Likewise.
67987         * modules/vasnprintf (Files): Likewise.
67988         * modules/isnanl (Files): Likewise.
67989         (Include): Simplify.
67990         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67991         (Include): Simplify.
67992         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67993         (Include): Simplify.
67994         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67995         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67996         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67997         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67998         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67999         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68000         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
68001         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68002         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
68003         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68004         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
68005         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68006         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
68007         * tests/test-isnanl.c: Likewise.
68008         * tests/test-snprintf-posix.h: Likewise.
68009         * tests/test-sprintf-posix.h: Likewise.
68010         * tests/test-vasnprintf-posix.c: Likewise.
68011         * tests/test-vasnprintf-posix2.c: Likewise.
68012         * tests/test-vasprintf-posix.c: Likewise.
68013
68014 2007-04-06  Bruno Haible  <bruno@clisp.org>
68015
68016         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
68017         * lib/math_.h [__DECC]: Include the overridden include file through
68018         #include_next, outside the double-inclusion guard.
68019         * lib/stdio_.h [__DECC]: Likewise.
68020         * lib/stdlib_.h [__DECC]: Likewise.
68021         * lib/string_.h [__DECC]: Likewise.
68022         * lib/time_.h [__DECC]: Likewise.
68023         * lib/wchar_.h [__DECC]: Likewise.
68024         * lib/wctype_.h [__DECC]: Likewise.
68025         * lib/inttypes_.h [__DECC]: Likewise.
68026         Reported by Albert Chin <china@thewrittenword.com> in
68027         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
68028
68029 2007-04-04  Eric Blake  <ebb9@byu.net>
68030
68031         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
68032         1.5.x.
68033
68034 2007-04-04  Bruno Haible  <bruno@clisp.org>
68035
68036         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
68037         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
68038
68039 2007-04-04  Bruno Haible  <bruno@clisp.org>
68040
68041         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
68042         results for "%010a" of Infinity and NaN.
68043         * tests/test-vasprintf-posix.c (test_function): Likewise.
68044         * tests/test-snprintf-posix.h (test_function): Likewise.
68045         * tests/test-sprintf-posix.h (test_function): Likewise.
68046         * tests/test-fprintf-posix.h (test_function): Remove these tests.
68047         * tests/test-printf-posix.h (test_function): Likewise.
68048         * tests/test-fprintf-posix.out: Update.
68049         Needed for FreeBSD 6.1.
68050
68051 2007-04-04  Bruno Haible  <bruno@clisp.org>
68052
68053         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
68054         directly used by the gnulib modules nor by gnulib-tool.
68055
68056 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68057
68058         * DEPENDENCIES: Give overall description of version dependency
68059         desirability.  Use more-typical names for apps.
68060         Add shell, coreutils, diffutils, grep, tar, gzip.
68061
68062 2007-04-04  Simon Josefsson  <simon@josefsson.org>
68063
68064         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
68065
68066 2007-04-04  Karl Berry  <karl@gnu.org>
68067
68068         * MODULES.html.sh (func_module): missing '.
68069
68070 2007-04-03  Bruno Haible  <bruno@clisp.org>
68071
68072         * modules/argmatch-tests (Makefile.am): New variable
68073         test_argmatch_LDADD.
68074         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
68075         * modules/array-list-tests (Makefile.am): New variable
68076         test_array_list_LDADD.
68077         * modules/array-oset-tests (Makefile.am): New variable
68078         test_array_oset_LDADD.
68079         * modules/avltree-list-tests (Makefile.am): New variable
68080         test_avltree_list_LDADD.
68081         * modules/avltree-oset-tests (Makefile.am): New variable
68082         test_avltree_oset_LDADD.
68083         * modules/avltreehash-list-tests (Makefile.am): New variable
68084         test_avltreehash_list_LDADD.
68085         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
68086         test_canonicalize_lgpl_LDADD.
68087         * modules/carray-list-tests (Makefile.am): New variable
68088         test_carray_list_LDADD.
68089         * modules/dirname-tests (Makefile.am): New variable
68090         test_dirname_LDADD.
68091         * modules/linked-list-tests (Makefile.am): New variable
68092         test_linked_list_LDADD.
68093         * modules/linkedhash-list-tests (Makefile.am): New variable
68094         test_linkedhash_list_LDADD.
68095         * modules/rbtree-list-tests (Makefile.am): New variable
68096         test_rbtree_list_LDADD.
68097         * modules/rbtree-oset-tests (Makefile.am): New variable
68098         test_rbtree_oset_LDADD.
68099         * modules/rbtreehash-list-tests (Makefile.am): New variable
68100         test_rbtreehash_list_LDADD.
68101         * modules/xvasprintf-tests (Makefile.am): New variable
68102         test_xvasprintf_LDADD.
68103         Reported by Eric Blake.
68104
68105 2007-04-03  Eric Blake  <ebb9@byu.net>
68106
68107         * DEPENDENCIES: Weaken m4 requirements.
68108
68109 2007-04-03  Bruno Haible  <bruno@clisp.org>
68110
68111         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
68112         * modules/isnanl-tests (configure.ac): Likewise.
68113
68114 2007-04-03  Ben Pfaff  <blp@gnu.org>
68115
68116         * modules/iconv_open: Add $(srcdir)/ to source directory
68117         references in Makefile fragments that call gperf, to fix VPATH
68118         builds.
68119
68120 2007-04-03  Bruno Haible  <bruno@clisp.org>
68121
68122         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
68123         * lib/ldexpl.c: Undo last change.
68124
68125 2007-04-03  Bruno Haible  <bruno@clisp.org>
68126
68127         * modules/printf-frexpl (Depends-on): Undo last change.
68128         (Files): Add m4/ldexpl.m4.
68129
68130 2007-04-03  Bruno Haible  <bruno@clisp.org>
68131
68132         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68133         * modules/isnanl (Link): New section.
68134
68135         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68136         * modules/frexp (Link): New section.
68137
68138         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68139         * modules/frexpl (Link): New section.
68140
68141         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68142         * modules/ldexpl (Link): New section.
68143
68144 2007-04-03  Bruno Haible  <bruno@clisp.org>
68145
68146         * modules/TEMPLATE-EXTENDED: New file.
68147         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68148
68149 2007-04-03  Bruno Haible  <bruno@clisp.org>
68150
68151         * DEPENDENCIES: New file.
68152         Suggested by Simon Josefsson.
68153
68154 2007-04-03  Bruno Haible  <bruno@clisp.org>
68155
68156         * doc/gnulib.texi: Escape @.
68157
68158 2007-04-03  James Youngman  <jay@gnu.org>
68159         and Paul Eggert  <eggert@cs.ucla.edu>
68160
68161         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68162         birthtime on all systems that have birthtime, not just those which
68163         use st_birthtimensec rather than st_birthtim.  Putting zero in
68164         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68165         that the birth time is not available for files on an NFS mount.
68166
68167 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68168
68169         * modules/memxor: Move back from crypto/, suggested by Bruno.
68170         * modules/crypto/hmac-sha1: Fix memxor dependency.
68171
68172         * modules/crypto/gc: Moved from ../.
68173
68174 2007-04-02  Eric Blake  <ebb9@byu.net>
68175
68176         * lib/ldexpl.c (includes): Avoid libm.
68177
68178         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68179
68180 2007-04-02  Bruno Haible  <bruno@clisp.org>
68181
68182         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68183         on IRIX.
68184
68185 2007-04-02  Bruno Haible  <bruno@clisp.org>
68186
68187         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68188         x86 or x86_64 platforms running MacOS X.
68189         Reported by Ryan Schmidt <@ryandesign.com>.
68190
68191 2007-04-02  Bruno Haible  <bruno@clisp.org>
68192
68193         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68194         i386.
68195
68196 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68197
68198         * modules/crypto/arcfour: Moved from ../.
68199         * modules/crypto/arcfour-tests: Moved from ../.
68200         * modules/crypto/arctwo: Moved from ../.
68201         * modules/crypto/arctwo-tests: Moved from ../.
68202         * modules/crypto/des: Moved from ../.
68203         * modules/crypto/des-tests: Moved from ../.
68204         * modules/crypto/gc-arcfour: Moved from ../.
68205         * modules/crypto/gc-arcfour-tests: Moved from ../.
68206         * modules/crypto/gc-arctwo: Moved from ../.
68207         * modules/crypto/gc-arctwo-tests: Moved from ../.
68208         * modules/crypto/gc-des: Moved from ../.
68209         * modules/crypto/gc-des-tests: Moved from ../.
68210         * modules/crypto/gc-hmac-md5: Moved from ../.
68211         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68212         * modules/crypto/gc-hmac-sha1: Moved from ../.
68213         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68214         * modules/crypto/gc-md2: Moved from ../.
68215         * modules/crypto/gc-md2-tests: Moved from ../.
68216         * modules/crypto/gc-md4: Moved from ../.
68217         * modules/crypto/gc-md4-tests: Moved from ../.
68218         * modules/crypto/gc-md5: Moved from ../.
68219         * modules/crypto/gc-md5-tests: Moved from ../.
68220         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68221         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68222         * modules/crypto/gc-random: Moved from ../.
68223         * modules/crypto/gc-rijndael: Moved from ../.
68224         * modules/crypto/gc-rijndael-tests: Moved from ../.
68225         * modules/crypto/gc-sha1: Moved from ../.
68226         * modules/crypto/gc-sha1-tests: Moved from ../.
68227         * modules/crypto/gc-tests: Moved from ../.
68228         * modules/crypto/hmac-md5: Moved from ../.
68229         * modules/crypto/hmac-md5-tests: Moved from ../.
68230         * modules/crypto/hmac-sha1: Moved from ../.
68231         * modules/crypto/hmac-sha1-tests: Moved from ../.
68232         * modules/crypto/md2: Moved from ../.
68233         * modules/crypto/md2-tests: Moved from ../.
68234         * modules/crypto/md4: Moved from ../.
68235         * modules/crypto/md4-tests: Moved from ../.
68236         * modules/crypto/md5: Moved from ../.
68237         * modules/crypto/md5-tests: Moved from ../.
68238         * modules/crypto/memxor: Moved from ../.
68239         * modules/crypto/rijndael: Moved from ../.
68240         * modules/crypto/rijndael-tests: Moved from ../.
68241         * modules/crypto/sha1: Moved from ../.
68242
68243 2007-03-30  James Youngman  <jay@gnu.org>
68244
68245         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68246         rename() to change the ctime of a file (because ctime is unaffected
68247         by rename on jfs2 on AIX 5.1).
68248         (main): Start by doing cleanup, in case a previous run failed leaving
68249         test files behind.
68250
68251 2007-03-31  Bruno Haible  <bruno@clisp.org>
68252
68253         Support old proprietary implementations of iconv.
68254         * modules/iconv_open: New file.
68255         * lib/iconv_.h: New file.
68256         * m4/iconv_h.m4: New file.
68257         * lib/iconv_open.c: New file.
68258         * lib/iconv_open-aix.gperf: New file.
68259         * lib/iconv_open-hpux.gperf: New file.
68260         * lib/iconv_open-irix.gperf: New file.
68261         * lib/iconv_open-osf.gperf: New file.
68262         * m4/iconv_open.m4: New file.
68263         * modules/linebreak (Depends-on): Add iconv_open.
68264         * modules/striconv (Depends-on): Likewise.
68265         * modules/striconveh (Depends-on): Likewise.
68266         * modules/unicodeio (Depends-on): Likewise.
68267         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68268         (iconv_t)(-1).
68269         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68270         conversion if cd is (iconv_t)(-1).
68271         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68272         is not possible.
68273
68274 2007-03-31  Bruno Haible  <bruno@clisp.org>
68275
68276         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68277         work on Solaris either. Protect also second use of "autodetect_jp".
68278
68279 2007-03-31  Bruno Haible  <bruno@clisp.org>
68280
68281         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68282         the function is not present.
68283
68284 2007-03-31  Bruno Haible  <bruno@clisp.org>
68285
68286         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68287         the function is not present.
68288
68289 2007-03-31  Bruno Haible  <bruno@clisp.org>
68290
68291         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68292         a bug in HP-UX iconv_open().
68293
68294 2007-03-31  Bruno Haible  <bruno@clisp.org>
68295
68296         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68297         (Mathematics <math.h>): New section, add fpieee.
68298         (Input/output <stdio.h>): Add fseterr.
68299         (Mathematics <math.h>): New section, add printf-frexp.
68300         (Container data structures): Add sublist.
68301         (Core language properties): Add fpucw, inline.
68302         (Functions for greatest-width integer types <inttypes.h>): Add
68303         imaxabs, imaxdiv, inttypes.
68304         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68305         isnanl-nolibm, ldexp.
68306         (Mathematics <math.h>): New section, add printf-frexpl.
68307         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68308         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68309         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68310         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68311         (Unicode string functions): Add unistr/u*-mbtoucr.
68312         (Java): Add javacomp-script, javaexec-script.
68313         (C#): Add csharpcomp-script, csharpexec-script.
68314         (Support for building libraries and executables): Add havelib,
68315         relocatable-*.
68316         (Support for maintaining and releasing projects): Renamed from
68317         'Support for maintaining and release projects'. Add announce-gen.
68318
68319 2007-03-31  Bruno Haible  <bruno@clisp.org>
68320
68321         * README: Talk primarily about git.
68322         (git and CVS): Renamed from CVS.
68323         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68324         gnulib is available through git.
68325         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68326
68327 2007-03-30  Bruno Haible  <bruno@clisp.org>
68328
68329         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68330         * lib/poll_.h: Likewise.
68331         * lib/stat_.h: Likewise.
68332         * lib/sys_time_.h: Likewise.
68333         * lib/sysexit_.h: Likewise.
68334         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68335         * lib/stdbool_.h: Likewise.
68336         * lib/byteswap_.h: Add double-inclusion guard.
68337
68338 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68339
68340         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68341
68342 2007-03-30  Karl Berry  <karl@gnu.org>
68343
68344         * config/srclist-update: double space after USA in the license
68345         substitution, since that's how it's usually (?) written.
68346
68347 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68348
68349         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68350         reported by Bruno Haible.
68351
68352 2007-03-29  Bruno Haible  <bruno@clisp.org>
68353
68354         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68355         a bug in AIX iconv().
68356
68357 2007-03-29  Bruno Haible  <bruno@clisp.org>
68358
68359         * modules/ldexpl-tests: New file.
68360         * tests/test-ldexpl.c: New file.
68361
68362 2007-03-29  Bruno Haible  <bruno@clisp.org>
68363
68364         * lib/ldexpl.c: Include fpucw.h.
68365         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68366         multiplication.
68367         * modules/ldexpl (Depends-on): Add fpucw.
68368
68369 2007-03-29  Bruno Haible  <bruno@clisp.org>
68370
68371         * modules/ldexpl: New file.
68372         * m4/ldexpl.m4: New file.
68373         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68374         set.
68375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68376         REPLACE_LDEXPL.
68377         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68378         REPLACE_LDEXPL.
68379         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68380         gl_FUNC_LDEXPL_WORKS.
68381         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68382         * modules/mathl (Files): Remove lib/ldexpl.c.
68383         (Depends-on): Add ldexpl.
68384
68385 2007-03-29  Bruno Haible  <bruno@clisp.org>
68386
68387         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68388
68389 2007-03-29  Bruno Haible  <bruno@clisp.org>
68390
68391         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68392         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68393         and possibly also HP-UX.
68394         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68395         work on AIX, IRIX, HP-UX, OSF/1.
68396         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68397         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68398         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68399         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68400         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68401         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68402
68403 2007-03-29  Bruno Haible  <bruno@clisp.org>
68404
68405         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68406
68407 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68408
68409         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68410         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68411
68412 2007-03-29  Eric Blake  <ebb9@byu.net>
68413
68414         * lib/acl-internal.h: Remove redundant include.
68415         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68416         Cygwin when a file is locked.
68417
68418 2007-03-29  Bruno Haible  <bruno@clisp.org>
68419
68420         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68421         file.
68422         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68423
68424 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68425
68426         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
68427         try to remove a parent directory if the child couldn't be removed
68428         (except for the first rmdir, which could fail because the child
68429         doesn't exist).  Problem reported by Jeff Blaine in
68430         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
68431
68432 2007-03-28  Bruno Haible  <bruno@clisp.org>
68433
68434         * lib/striconveh.c (utf8conv_carefully): New function.
68435         (mem_cd_iconveh_internal): Invoke it.
68436
68437 2007-03-28  Bruno Haible  <bruno@clisp.org>
68438
68439         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
68440         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
68441         input.
68442         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
68443         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
68444         unistr/u8-uctomb.
68445
68446 2007-03-28  Bruno Haible  <bruno@clisp.org>
68447
68448         * modules/unistr/u8-mbtoucr: New file.
68449         * lib/unistr/u8-mbtoucr.c: New file.
68450         * modules/unistr/u16-mbtoucr: New file.
68451         * lib/unistr/u16-mbtoucr.c: New file.
68452         * modules/unistr/u16-mbtoucr: New file.
68453         * lib/unistr/u16-mbtoucr.c: New file.
68454         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
68455
68456 2007-03-27  Simon Josefsson  <simon@josefsson.org>
68457             Bruno Haible  <bruno@clisp.org>
68458
68459         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68460         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68461         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68462
68463         * m4/stdio_h.m4: Add stubs for vasprintf too.
68464
68465         * modules/stdio: Support vasprintf in sed command.
68466
68467         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68468         vasprintf.h.  Add stdio module indicator.
68469
68470         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68471         vasprintf.h.
68472
68473         * lib/vasprintf.h: File removed.
68474
68475         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68476         * lib/vasprintf.c: Ditto.
68477         * lib/xvasprintf.c: Ditto.
68478         * tests/test-vasprintf-posix.c: Ditto.
68479         * tests/test-vasprintf.c: Ditto.
68480
68481 2007-03-27  Bruno Haible  <bruno@clisp.org>
68482
68483         Make vasnprintf multithread-safe.
68484         * lib/vasnprintf.c (decimal_point_char): New function.
68485         (VASNPRINTF): Use it.
68486         Suggested by Simon Josefsson.
68487
68488 2007-03-27  Eric Blake  <ebb9@byu.net>
68489
68490         Support sub-second birthtime on cygwin.
68491         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68492         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68493         (get_stat_birthtime): Also work with st_birthtim.
68494
68495 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68496
68497         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68498         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68499         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68500         (get_stat_birthtime_ns): Simplify compile-time tests.
68501         (get_stat_birthtime): Change the API to look like
68502         get_stat_mtime etc., except return a negative tv_nsec on error.
68503         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68504         Don't check for "spare" fields.
68505         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68506         or for struct stat.st_birthtime, as these tests aren't used.
68507         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68508
68509 2007-03-27  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/stat-time.h: Include <sys/stat.h>.
68512
68513 2007-03-27  James Youngman  <jay@gnu.org>
68514
68515         * lib/stat-time.h (get_stat_birthtime): New function for
68516           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68517         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68518           and its variants.
68519         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68520         * modules/stat-time-test: New file.
68521         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68522
68523 2007-03-26  Bruno Haible  <bruno@clisp.org>
68524
68525         Better support of signalling NaNs.
68526         * lib/atanl.c: Include isnanl.h.
68527         (atanl): Perform test for NaN at the beginning of the function and
68528         through a call to isnanl.
68529         * lib/cosl.c: Include isnanl.h.
68530         (cosl): Perform test for NaN at the beginning of the function and
68531         through a call to isnanl.
68532         * lib/ldexpl.c: Include isnanl.h.
68533         (ldexpl): Perform test for NaN through a call to isnanl.
68534         * lib/logl.c: Include isnanl.h.
68535         (logl): Perform test for NaN at the beginning of the function and
68536         through a call to isnanl.
68537         * lib/sinl.c: Include isnanl.h.
68538         (sinl): Perform test for NaN at the beginning of the function and
68539         through a call to isnanl.
68540         * lib/sqrtl.c: Include isnanl.h.
68541         (sqrtl): Perform test for NaN at the beginning of the function and
68542         through a call to isnanl.
68543         * lib/tanl.c: Include isnanl.h.
68544         (tanl): Perform test for NaN at the beginning of the function and
68545         through a call to isnanl.
68546         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68547         * modules/mathl (Depends-on): Add isnanl.
68548
68549 2007-03-26  Eric Blake  <ebb9@byu.net>
68550
68551         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68552         regression in logic sense of previous patch.
68553
68554 2007-03-26  Bruno Haible  <bruno@clisp.org>
68555
68556         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68557         unportable shell command "if ! ...".
68558         Reported by Ralf Wildenhues.
68559
68560 2007-03-25  Bruno Haible  <bruno@clisp.org>
68561
68562         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68563         <sysexits.h> file, and only add EX_CONFIG.
68564         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68565         absolute file name and whether it is sufficient. Substitute also
68566         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68567         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68568         ABSOLUTE_SYSEXITS_H into sysexits.h.
68569
68570 2007-03-25  Bruno Haible  <bruno@clisp.org>
68571
68572         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68573         hints is NULL.
68574
68575 2007-03-25  Bruno Haible  <bruno@clisp.org>
68576
68577         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68578         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68579
68580 2007-03-25  Bruno Haible  <bruno@clisp.org>
68581
68582         * lib/vasnprintf.c: Include langinfo.h.
68583         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68584         multithread-safe.
68585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68586         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68588         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68590         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68591         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68593         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68594         Reported by Simon Josefsson.
68595
68596 2007-03-25  Bruno Haible  <bruno@clisp.org>
68597
68598         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68599         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68600         * modules/vasnprintf (Depends-on): Add stdint.
68601
68602 2007-03-25  Bruno Haible  <bruno@clisp.org>
68603
68604         * modules/fpieee: New file.
68605         * m4/fpieee.m4: New file.
68606         * modules/isnan-nolibm (Depends-on): Add fpieee.
68607         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68608         * modules/isnanl (Depends-on): Add fpieee.
68609
68610 2007-03-25  Bruno Haible  <bruno@clisp.org>
68611
68612         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68613
68614 2007-03-25  Bruno Haible  <bruno@clisp.org>
68615
68616         Avoid test failures on IRIX 6.5.
68617         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68618         (main): Use it.
68619         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68620         macros.
68621         (main): Use them.
68622
68623 2007-03-25  Bruno Haible  <bruno@clisp.org>
68624
68625         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68626         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68627         exists but doesn't work.
68628         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68629         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68630         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68631         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68632         math.h.
68633
68634 2007-03-25  Bruno Haible  <bruno@clisp.org>
68635
68636         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68637         returns inf. Needed on IRIX 6.5.
68638
68639 2007-03-25  Bruno Haible  <bruno@clisp.org>
68640
68641         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68642         (main): Use isnanl instead of x != x idiom.
68643         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68644
68645         * tests/test-frexp.c: Include isnan.h.
68646         (main): Use isnan instead of x != x idiom.
68647         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68648
68649 2007-03-25  Bruno Haible  <bruno@clisp.org>
68650
68651         * tests/test-frexp.c (NaN): New function/macro.
68652         (main): Use it instead of 0.0 / 0.0.
68653         * tests/test-isnan.c (NaN): New function/macro.
68654         (main): Use it instead of 0.0 / 0.0.
68655         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68656         (test_function): Use it instead of 0.0 / 0.0.
68657         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68658         (test_function): Use it instead of 0.0 / 0.0.
68659         * tests/test-snprintf-posix.h (NaN): New function/macro.
68660         (test_function): Use it instead of 0.0 / 0.0.
68661         * tests/test-sprintf-posix.h (NaN): New function/macro.
68662         (test_function): Use it instead of 0.0 / 0.0.
68663         * tests/test-fprintf-posix.h (NaN): New function/macro.
68664         (test_function): Use it instead of 0.0 / 0.0.
68665         * tests/test-printf-posix.h (NaN): New function/macro.
68666         (test_function): Use it instead of 0.0 / 0.0.
68667
68668         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68669
68670 2007-03-25  Bruno Haible  <bruno@clisp.org>
68671
68672         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68673
68674 2007-03-25  Bruno Haible  <bruno@clisp.org>
68675
68676         * lib/regexec.c (merge_state_with_log): Make static.
68677
68678 2007-03-25  Bruno Haible  <bruno@clisp.org>
68679
68680         * lib/trigl.c (kernel_rem_pio2): Make static.
68681
68682 2007-03-25  Bruno Haible  <bruno@clisp.org>
68683
68684         * lib/sincosl.c (sincosl_table): Make static.
68685
68686 2007-03-25  Bruno Haible  <bruno@clisp.org>
68687
68688         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68689         if the compiler does not support C99.
68690
68691 2007-03-25  Bruno Haible  <bruno@clisp.org>
68692
68693         * modules/time (Makefile.am): Ensure all rule action lines start with a
68694         tab.
68695
68696 2007-03-24  Bruno Haible  <bruno@clisp.org>
68697
68698         * modules/tsearch-tests: New file.
68699         * tests/test-tsearch.sh: New file.
68700         * tests/test-tsearch.c: New file, mostly copied from glibc.
68701
68702         * modules/search-tests: New file.
68703         * tests/test-search.c: New file.
68704
68705         * modules/search: New file.
68706         * lib/search_.h: New file, incorporating lib/tsearch.h.
68707         * m4/search_h.m4: New file.
68708         * lib/tsearch.h: Remove file.
68709         * lib/tsearch.c: Include search.h instead of tsearch.h.
68710         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68711         HAVE_TSEARCH.
68712         * modules/tsearch (Files): Remove lib/tsearch.h.
68713         (Depends-on): Add search.
68714         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68715         (Include): Change tsearch.h into search.h.
68716
68717 2007-03-24  Bruno Haible  <bruno@clisp.org>
68718
68719         * modules/fpucw: New file.
68720         * lib/fpucw.h: New file.
68721         * lib/frexp.c: Include fpucw.h.
68722         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68723         (FUNC): Use them.
68724         * lib/printf-frexp.c: Include fpucw.h.
68725         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68726         (FUNC): Use them.
68727         * lib/vasnprintf.c: Include fpucw.h.
68728         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68729         'long double' calculations.
68730         * tests/test-frexpl.c: Include fpucw.h.
68731         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68732         * tests/test-printf-frexpl.c: Include fpucw.h.
68733         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68734         * modules/frexpl (Depends-on): Add fpucw.
68735         * modules/printf-frexpl (Depends-on): Likewise.
68736         * modules/fprintf-posix (Depends-on): Likewise.
68737         * modules/snprintf-posix (Depends-on): Likewise.
68738         * modules/sprintf-posix (Depends-on): Likewise.
68739         * modules/vasnprintf-posix (Depends-on): Likewise.
68740         * modules/vasprintf-posix (Depends-on): Likewise.
68741         * modules/vfprintf-posix (Depends-on): Likewise.
68742         * modules/vsnprintf-posix (Depends-on): Likewise.
68743         * modules/vsprintf-posix (Depends-on): Likewise.
68744         * modules/frexpl-tests (Depends-on): Likewise.
68745         * modules/printf-frexpl-tests (Depends-on): Likewise.
68746
68747 2007-03-24  Bruno Haible  <bruno@clisp.org>
68748
68749         * lib/float+.h: New file.
68750         * lib/isnan.c: Include float+.h.
68751         (SIZE): New macro.
68752         (FUNC): Compare only SIZE bytes of the value.
68753         * lib/vasnprintf.c: Include float+.h.
68754         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68755         SIZEOF_LDBL or SIZEOF_DBL bytes.
68756         * modules/isnan-nolibm (Files): Add lib/float+.h.
68757         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68758         * modules/isnanl (Files): Add lib/float+.h.
68759         * modules/vasnprintf (Files): Add lib/float+.h.
68760
68761 2007-03-24  Bruno Haible  <bruno@clisp.org>
68762
68763         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68764         include isnanl-nolibm.h.
68765
68766 2007-03-24  Bruno Haible  <bruno@clisp.org>
68767
68768         * tests/test-read-file.c (main): Don't produce spurious output for
68769         expected situations. Make the test fail if it encountered unexpected
68770         results.
68771
68772 2007-03-24  Bruno Haible  <bruno@clisp.org>
68773
68774         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68775         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68776
68777 2007-03-24  Bruno Haible  <bruno@clisp.org>
68778
68779         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68780
68781 2007-03-24  Bruno Haible  <bruno@clisp.org>
68782
68783         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68784         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68785
68786         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68787         * modules/utf8-ucs4: Turn into a symbolic link to module
68788         unistr/u8-mbtouc.
68789
68790         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68791         utf8-ucs4-unsafe.
68792         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68793         unistr/u8-mbtouc-unsafe.
68794
68795         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68796         * modules/utf16-ucs4: Turn into a symbolic link to module
68797         unistr/u16-mbtouc.
68798
68799         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68800         utf16-ucs4-unsafe.
68801         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68802         unistr/u16-mbtouc-unsafe.
68803
68804         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68805         * modules/ucs4-utf8: Turn into a symbolic link to module
68806         unistr/u8-ubtomb.
68807
68808         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68809         * modules/ucs4-utf16: Turn into a symbolic link to module
68810         unistr/u16-ubtomb.
68811
68812 2007-03-24  Bruno Haible  <bruno@clisp.org>
68813
68814         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68815         Enable the function only if HAVE_INLINE.
68816         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68817         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68818         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68819         Enable the function only if HAVE_INLINE.
68820         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68821         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68822         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68823         Enable the function only if HAVE_INLINE.
68824         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68825         Enable the function only if HAVE_INLINE.
68826         * modules/utf8-ucs4: Update.
68827         * modules/utf8-ucs4-unsafe: Update.
68828         * modules/utf16-ucs4: Update.
68829         * modules/utf16-ucs4-unsafe: Update.
68830         * modules/ucs4-utf8: Update.
68831         * modules/ucs4-utf16: Update.
68832
68833 2007-03-24  Bruno Haible  <bruno@clisp.org>
68834
68835         * lib/utf8-ucs4.h: Remove file.
68836         * lib/utf8-ucs4-unsafe.h: Remove file.
68837         * lib/utf16-ucs4.h: Remove file.
68838         * lib/utf16-ucs4-unsafe.h: Remove file.
68839         * lib/ucs4-utf8.h: Remove file.
68840         * lib/ucs4-utf16.h: Remove file.
68841         * lib/unistr.h: Include their previous contents.
68842         * m4/utf-ucs4.m4: Remove file.
68843         * m4/ucs4-utf.m4: Remove file.
68844         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68845         (Depends-on): Add unistr/base.
68846         (configure.ac): Remove gl_UTF_UCS4.
68847         (Makefile.am): Update.
68848         (Include): Change to unistr.h.
68849         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68850         (Depends-on): Add unistr/base.
68851         (configure.ac): Remove gl_UTF_UCS4.
68852         (Makefile.am): Update.
68853         (Include): Change to unistr.h.
68854         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68855         (Depends-on): Add unistr/base.
68856         (configure.ac): Remove gl_UTF_UCS4.
68857         (Makefile.am): Update.
68858         (Include): Change to unistr.h.
68859         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68860         (Depends-on): Add unistr/base.
68861         (configure.ac): Remove gl_UTF_UCS4.
68862         (Makefile.am): Update.
68863         (Include): Change to unistr.h.
68864         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68865         (Depends-on): Add unistr/base.
68866         (configure.ac): Remove gl_UCS4_UTF.
68867         (Makefile.am): Update.
68868         (Include): Change to unistr.h.
68869         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68870         (Depends-on): Add unistr/base.
68871         (configure.ac): Remove gl_UCS4_UTF.
68872         (Makefile.am): Update.
68873         (Include): Change to unistr.h.
68874         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68875         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68876         utf8-ucs4-unsafe.h.
68877         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68878         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68879         utf16-ucs4-unsafe.h.
68880         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68881         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68882         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68883         * lib/unistr/u8-strchr.c: Likewise.
68884         * lib/unistr/u8-strrchr.c: Likewise.
68885         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68886         * lib/unistr/u16-strchr.c: Likewise.
68887         * lib/unistr/u16-strrchr.c: Likewise.
68888         * lib/striconveh.c: Update.
68889         * lib/linebreak.c: Update.
68890
68891 2007-03-24  Bruno Haible  <bruno@clisp.org>
68892
68893         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68894         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68895
68896 2007-03-22  Bruno Haible  <bruno@clisp.org>
68897
68898         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68899
68900 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68901
68902         * MODULES.html.sh (File system functions): New module write-any-file.
68903         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68904         * m4/write-any-file.m4: New files.
68905
68906 2007-03-23  Eric Blake  <ebb9@byu.net>
68907
68908         * gnulib-tool: Rearrange space-tab sequences, since some editors
68909         like to eat them.
68910
68911 2007-03-23  Eric Blake  <ebb9@byu.net>
68912
68913         * lib/version-etc.c (version_etc_va): Update license wording to
68914         be more concise.  Recommended by Richard Stallman.
68915
68916 2007-03-22  Bruno Haible  <bruno@clisp.org>
68917
68918         * lib/poll.c (MSG_PEEK): New fallback definition.
68919
68920 2007-03-22  Bruno Haible  <bruno@clisp.org>
68921
68922         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68923         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68924         (main): Update.
68925         Fixes a compilation error on BeOS.
68926
68927 2007-03-22  Bruno Haible  <bruno@clisp.org>
68928
68929         * modules/frexpl-tests: New file.
68930         * tests/test-frexpl.c: New file.
68931
68932         * modules/frexpl: New file.
68933         * m4/frexpl.m4: New file.
68934         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68935         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68937         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68938         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68939         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68940
68941 2007-03-22  Bruno Haible  <bruno@clisp.org>
68942
68943         * lib/frexpl.c: Share code with lib/frexp.c.
68944         * modules/mathl (Files): Add lib/frexp.c.
68945         (Depends-on): Add isnanl-nolibm.
68946
68947 2007-03-22  Bruno Haible  <bruno@clisp.org>
68948
68949         * modules/printf-frexp (Files): Add m4/frexp.m4.
68950         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68951         only if the found frexp function actually works.
68952
68953 2007-03-22  Bruno Haible  <bruno@clisp.org>
68954
68955         * lib/frexp.c: Remove older implementation that uses divisions.
68956
68957 2007-03-21  Bruno Haible  <bruno@clisp.org>
68958
68959         * modules/frexp-tests: New file.
68960         * tests/test-frexp.c: New file.
68961
68962         * modules/frexp: New file.
68963         * lib/frexp.c: New file.
68964         * m4/frexp.m4: New file.
68965         * lib/math_.h (frexp): New declaration.
68966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68967         REPLACE_FREXP.
68968         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68969
68970 2007-03-21  Bruno Haible  <bruno@clisp.org>
68971
68972         * modules/isnanl-tests: New file.
68973         * tests/test-isnanl.c: New file.
68974
68975         * modules/isnanl: New file.
68976         * lib/isnanl.h: New file.
68977         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68978         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68979         gl_FUNC_ISNANL_WORKS.
68980         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68981         New macros.
68982
68983 2007-03-21  Bruno Haible  <bruno@clisp.org>
68984
68985         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68986         lib/isnanl.h.
68987         (Include): Update.
68988         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68989         * lib/vasnprintf.c: Update.
68990         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68991         tests/test-isnanl.h, remove tests/test-isnanl.c.
68992         (Makefile.am): Update.
68993         * tests/test-isnanl-nolibm.c: New file.
68994         * tests/test-isnanl.h: New file.
68995         * tests/test-isnanl.c: Remove file.
68996
68997 2007-03-21  Jim Meyering  <jim@meyering.net>
68998
68999         When trying to open ".", treat ESTALE like EACCES.
69000         * lib/savewd.c (savewd_save): Resort to forking not just upon
69001         failure with EACCES, but also when errno is ESTALE.
69002
69003 2007-03-20  Bruno Haible  <bruno@clisp.org>
69004
69005         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
69006         Needed on AIX 5.1. Reported by Matthew Woehlke.
69007
69008 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69009
69010         Suggestions by Bruno Haible:
69011         * lib/acl-internal.h: Include "gettext.h" rather than rolling
69012         our own.
69013         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
69014         * modules/acl (Depends-on): Add gettext.
69015
69016 2007-03-19  Bruno Haible  <bruno@clisp.org>
69017
69018         * modules/iconvme: Remove file.
69019         * lib/iconvme.h: Remove file.
69020         * lib/iconvme.c: Remove file.
69021         * m4/iconvme.m4: Remove file.
69022
69023 2007-03-19  Bruno Haible  <bruno@clisp.org>
69024
69025         * doc/relocatable-maint.texi: Break long shell script line.
69026         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69027
69028 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69029
69030         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
69031         handle file_has_acl.
69032         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
69033         * lib/acl.c: Move header inclusions and related macro defns into
69034         lib/acl-internal.h.
69035         (S_ISLNK): Remove defn, since that's now done for us.
69036         (file_has_acl): Move to lib/file-has-acl.c.
69037         Call acl_trivial if available.  This is the crucial part of the fix.
69038         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
69039         shared within the library.  Rewrite a bit, partly to make it compatible
69040         with the GNU coding style.
69041         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
69042         Remove unnecessary double-quotes.
69043         Don't test for acl_to_text; the build will catch that.
69044         Replace acl_entries if it doesn't exist and it is needed.
69045         Check for -lsec and acl_trivial (as used on Solaris 10).
69046         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
69047         lib/file-has-acl.c.
69048         (Depends-on): Add sys_stat, for S_ISLNK.
69049
69050 2007-03-19  Ben Pfaff  <blp@gnu.org>
69051
69052         * doc/gnulib.texi: Fix typos.
69053         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69054
69055 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69056
69057         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
69058         If size is zero here, buf must be zero.
69059
69060 2007-03-19  Simon Josefsson  <simon@josefsson.org>
69061
69062         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
69063         <bruno@clisp.org>.
69064
69065 2007-03-18  Bruno Haible  <bruno@clisp.org>
69066
69067         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
69068         Suggested by Eric Blake.
69069
69070 2007-03-18  Ben Pfaff  <blp@gnu.org>
69071
69072         * doc/relocatable.texi: Recommend using as prefix a directory
69073         that does not exist and will never be created.  Based on
69074         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
69075         and others.
69076
69077 2007-03-17  Bruno Haible  <bruno@clisp.org>
69078
69079         * lib/fchownat.c: Include lchown.h.
69080
69081 2007-03-17  Bruno Haible  <bruno@clisp.org>
69082
69083         Fix endless loop when the given allocated size was > INT_MAX.
69084         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
69085         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
69086         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
69087         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
69088         * lib/sprintf.c (sprintf): Likewise.
69089
69090 2007-03-17  Bruno Haible  <bruno@clisp.org>
69091
69092         * tests/test-argp-2.sh (func_compare): Output a context diff.
69093
69094 2007-03-17  Bruno Haible  <bruno@clisp.org>
69095
69096         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
69097         locale's decimal-point character.
69098
69099 2007-03-17  Bruno Haible  <bruno@clisp.org>
69100
69101         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
69102         before comparing it. Needed because on some platforms (e.g. x86) a
69103         'long double' occupies less bytes than sizeof (long double).
69104
69105 2007-03-17  Bruno Haible  <bruno@clisp.org>
69106
69107         * tests/test-crc.c (main): Make printf statements 64-bit clean.
69108         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
69109         * tests/test-getaddrinfo.c (simple): Likewise.
69110         * tests/test-read-file.c (main): Likewise.
69111
69112 2007-03-17  Bruno Haible  <bruno@clisp.org>
69113
69114         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
69115
69116 2007-03-17  Bruno Haible  <bruno@clisp.org>
69117
69118         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
69119         unused variable.
69120
69121 2007-03-17  Bruno Haible  <bruno@clisp.org>
69122
69123         * tests/test-c-strcasecmp.c: Include c-strcase.h.
69124         * tests/test-c-strncasecmp.c: Likewise.
69125
69126 2007-03-17  Bruno Haible  <bruno@clisp.org>
69127
69128         * modules/stdlib (Depends-on): Add unistd.
69129         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69130         Needed for MacOS X 10.3.
69131
69132 2007-03-17  Bruno Haible  <bruno@clisp.org>
69133
69134         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69135
69136 2007-03-17  Bruno Haible  <bruno@clisp.org>
69137
69138         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69139
69140 2007-03-17  Bruno Haible  <bruno@clisp.org>
69141
69142         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69143         to reflect files copied from gnulib (with or without modifications).
69144         Suggested by Jim Meyering.
69145
69146 2007-03-17  Eric Blake  <ebb9@byu.net>
69147
69148         * NEWS: Document stdlib change from 2007-02-18.
69149
69150 2007-03-17  Jim Meyering  <jim@meyering.net>
69151
69152         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69153         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69154         someone uses a name containing shell meta-characters.
69155         Reported by Alfred M. Szmidt.
69156
69157         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69158
69159 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69160
69161         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69162         and copy gettext configuration files only if configure.ac contains
69163         a use of AM_GNU_GETTEXT_VERSION.
69164
69165 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69166
69167         * build-aux/bootstrap (gnulib_name): New variable.
69168         (gnulib_tool_options): Use it.
69169
69170 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69171
69172         * tests/test-des.c: Use new namespace.
69173
69174 2007-03-15  Bruno Haible  <bruno@clisp.org>
69175
69176         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69177         Reported by James Youngman <jay@gnu.org>.
69178
69179 2007-03-15  Bruno Haible  <bruno@clisp.org>
69180
69181         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69182         declared prototype. Needed with cc on OSF/1 5.1.
69183
69184 2007-03-15  Bruno Haible  <bruno@clisp.org>
69185
69186         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69187         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69188         (struct gl_list_implementation): Add dispose_fn argument to the
69189         'create_empty', 'create' methods.
69190         (struct gl_list_impl_base): Add field 'dispose_fn'.
69191         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69192         argument.
69193         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69194         dispose_fn argument.
69195         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69196         dispose_fn on the dropped values.
69197         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69198         dispose_fn argument.
69199         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69200         dropped values.
69201         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69202         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69203         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69204         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69205         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69206         argument.
69207         (gl_tree_list_free): Call dispose_fn on the dropped values.
69208         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69209         the dropped values.
69210         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69211         Add dispose_fn argument.
69212         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69213         Call dispose_fn on the dropped values.
69214         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69215         Add dispose_fn argument.
69216         (gl_sublist_create): Initialize the 'dispose_fn' field.
69217         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69218         * tests/test-array_list.c (main): Update.
69219         * tests/test-carray_list.c (main): Update.
69220         * tests/test-avltree_list.c (main): Update.
69221         * tests/test-rbtree_list.c (main): Update.
69222         * tests/test-avltreehash_list.c (main): Update.
69223         * tests/test-rbtreehash_list.c (main): Update.
69224         * tests/test-linked_list.c (main): Update.
69225         * tests/test-linkedhash_list.c (main): Update.
69226         * tests/test-array_oset.c (main): Update.
69227
69228 2007-03-15  Bruno Haible  <bruno@clisp.org>
69229
69230         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69231         (gl_oset_create_empty): Add dispose_fn argument.
69232         (struct gl_oset_implementation): Add dispose_fn argument to
69233         'create_empty' method.
69234         (struct gl_oset_impl_base): Add dispose_fn field.
69235         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69236         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69237         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69238         values.
69239         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69240         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69241         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69242         dropped value.
69243         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69244         dropped value.
69245         * tests/test-array_oset.c (main): Update.
69246         * tests/test-avltree_oset.c (main): Update.
69247         * tests/test-rbtree_oset.c (main): Update.
69248         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69249
69250 2007-03-13  Bruno Haible  <bruno@clisp.org>
69251
69252         * tests/test-stdbool.c (i): Update after last patch.
69253
69254 2007-03-12  Bruno Haible  <bruno@clisp.org>
69255
69256         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69257         the iswprint macro. Needed on Solaris 2.5.1.
69258
69259 2007-03-12  Bruno Haible  <bruno@clisp.org>
69260
69261         * tests/test-printf-frexp.c (main): Declare x as volatile.
69262
69263 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69264
69265         * doc/gnulib.texi (Build robot for gnulib): New section.
69266
69267 2007-03-12  Jim Meyering  <jim@meyering.net>
69268
69269         * build-aux/bootstrap: New file.
69270         * build-aux/bootstrap.conf: New file, from coreutils.
69271
69272 2007-03-11  Bruno Haible  <bruno@clisp.org>
69273
69274         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69275
69276 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69277
69278         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69279         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69280         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69281
69282 2007-03-11  Bruno Haible  <bruno@clisp.org>
69283
69284         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69285         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69286
69287 2007-03-11  Bruno Haible  <bruno@clisp.org>
69288
69289         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69290         formula. Needed for SunPRO C 5.0.
69291
69292 2007-03-11  Bruno Haible  <bruno@clisp.org>
69293
69294         * modules/long-options (Depends-on): Add getopt.
69295
69296 2007-03-11  Bruno Haible  <bruno@clisp.org>
69297
69298         * modules/modechange (Depends-on): Add stdbool.
69299
69300 2007-03-11  Bruno Haible  <bruno@clisp.org>
69301
69302         * modules/i-ring (Depends-on): Add stdbool.
69303
69304 2007-03-11  Bruno Haible  <bruno@clisp.org>
69305
69306         * modules/gc-des (Depends-on): Add stdbool.
69307
69308 2007-03-11  Bruno Haible  <bruno@clisp.org>
69309
69310         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69311
69312 2007-03-11  Bruno Haible  <bruno@clisp.org>
69313
69314         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69315
69316 2007-03-11  Bruno Haible  <bruno@clisp.org>
69317
69318         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69319
69320 2007-03-11  Bruno Haible  <bruno@clisp.org>
69321
69322         * lib/vasnprintf.c (sprintf): Undefine.
69323
69324 2007-03-11  Bruno Haible  <bruno@clisp.org>
69325
69326         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69327         initializers in SunPRO C and Compaq C compilers.
69328
69329 2007-03-11  Bruno Haible  <bruno@clisp.org>
69330
69331         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69332         decrementing code ANSI C compliant.
69333
69334 2007-03-11  Bruno Haible  <bruno@clisp.org>
69335
69336         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69337         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69338
69339 2007-03-11  Bruno Haible  <bruno@clisp.org>
69340
69341         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69342         <stdbool.h> substitute doesn't pass.
69343
69344 2007-03-11  Bruno Haible  <bruno@clisp.org>
69345
69346         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69347
69348 2007-03-11  Bruno Haible  <bruno@clisp.org>
69349
69350         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69351         script, for submission to autobuild.josefsson.org.
69352
69353 2007-03-10  Bruno Haible  <bruno@clisp.org>
69354
69355         * modules/canonicalize-lgpl-tests: New file.
69356         * tests/test-canonicalize-lgpl.sh: New file.
69357         * tests/test-canonicalize-lgpl.c: New file.
69358
69359         * modules/c-strcase-tests: New file.
69360         * tests/test-c-strcase.sh: New file.
69361         * tests/test-c-strcasecmp.c: New file.
69362         * tests/test-c-strncasecmp.c: New file.
69363
69364         * modules/atexit-tests: New file.
69365         * tests/test-atexit.sh: New file.
69366         * tests/test-atexit.c: New file.
69367
69368 2007-03-10  Bruno Haible  <bruno@clisp.org>
69369
69370         * tests/test-binary-io.sh: Use temporary filenames that are not so
69371         likely to clash with those of other tests (in a parallel make).
69372         * tests/test-binary-io.c: Likewise.
69373
69374 2007-03-10  Bruno Haible  <bruno@clisp.org>
69375
69376         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69377         fallback; use #error instead.
69378         Suggested by Simon Josefsson.
69379
69380 2007-03-10  Bruno Haible  <bruno@clisp.org>
69381
69382         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69383         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69384         first and the last.
69385
69386 2007-03-10  Bruno Haible  <bruno@clisp.org>
69387
69388         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69389
69390 2007-03-10  Bruno Haible  <bruno@clisp.org>
69391
69392         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69393         "make distcheck".
69394         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69395         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69396         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69397
69398 2007-03-10  Bruno Haible  <bruno@clisp.org>
69399
69400         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69401         variable.
69402         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69403         variable.
69404
69405 2007-03-09  Eric Blake  <ebb9@byu.net>
69406         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69407
69408         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69409         types are not being provided by gnulib.
69410         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69411         types are supported.
69412
69413 2007-03-10  Bruno Haible  <bruno@clisp.org>
69414
69415         * lib/stdio_.h (__attribute__): New macro.
69416         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69417         vsprintf): Specify __attribute__ __format__ for GCC.
69418         Suggested by Eric Blake.
69419
69420 2007-03-09  Bruno Haible  <bruno@clisp.org>
69421
69422         * modules/printf-posix-tests: New file.
69423         * tests/test-printf-posix.sh: New file.
69424         * tests/test-printf-posix.c: New file.
69425
69426         * modules/printf-posix: New file.
69427         * lib/printf.c: New file.
69428         * m4/printf-posix-rpl.m4: New file.
69429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
69430         REPLACE_PRINTF.
69431         * lib/stdio_.h (printf): New declaration.
69432         (format, __format__, ____printf____, ____scanf____, ____strftime____,
69433         ____strfmon____): New macros.
69434         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
69435         REPLACE_PRINTF.
69436
69437 2007-03-09  Bruno Haible  <bruno@clisp.org>
69438
69439         * tests/test-vasnprintf-posix2.sh: New file.
69440         * tests/test-vasnprintf-posix2.c: New file.
69441         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
69442         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69443         (Makefile.am): Activate test-vasnprintf-posix2.sh.
69444
69445         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
69446         a locale dependent decimal point, rather than always '.'.
69447
69448 2007-03-09  Eric Blake  <ebb9@byu.net>
69449
69450         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
69451         spite of platforms like Tandem/NSK that define it to -1.
69452
69453 2007-03-08  Bruno Haible  <bruno@clisp.org>
69454
69455         * modules/vprintf-posix-tests: New file.
69456         * tests/test-vprintf-posix.sh: New file.
69457         * tests/test-vprintf-posix.c: New file.
69458         * tests/test-printf-posix.h: New file.
69459
69460         * modules/vprintf-posix: New file.
69461         * lib/vprintf.c: New file.
69462         * m4/vprintf-posix.m4: New file.
69463         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69464         REPLACE_VPRINTF.
69465         * lib/stdio_.h (vprintf): New declaration.
69466         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69467         REPLACE_VPRINTF.
69468
69469 2007-03-08  Bruno Haible  <bruno@clisp.org>
69470
69471         * modules/fprintf-posix-tests: New file.
69472         * tests/test-fprintf-posix.sh: New file.
69473         * tests/test-fprintf-posix.c: New file.
69474
69475         * modules/fprintf-posix: New file.
69476         * lib/fprintf.c: New file.
69477         * m4/fprintf-posix.m4: New file.
69478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69479         REPLACE_FPRINTF.
69480         * lib/stdio_.h (fprintf): New declaration.
69481         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69482         REPLACE_FPRINTF.
69483
69484 2007-03-08  Bruno Haible  <bruno@clisp.org>
69485
69486         * modules/vfprintf-posix-tests: New file.
69487         * tests/test-vfprintf-posix.sh: New file.
69488         * tests/test-vfprintf-posix.c: New file.
69489         * tests/test-fprintf-posix.h: New file.
69490         * tests/test-fprintf-posix.out: New file.
69491
69492         * modules/vfprintf-posix: New file.
69493         * lib/vfprintf.c: New file.
69494         * m4/vfprintf-posix.m4: New file.
69495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69496         REPLACE_VFPRINTF.
69497         * lib/stdio_.h (vfprintf): New declaration.
69498         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69499         REPLACE_VFPRINTF.
69500
69501 2007-03-08  Bruno Haible  <bruno@clisp.org>
69502
69503         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69504
69505 2007-03-08  Bruno Haible  <bruno@clisp.org>
69506
69507         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69508         instead of 'expr' invocations.
69509         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69510         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69511         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69512         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69513         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69514         Suggested by Paul Eggert.
69515
69516 2007-03-08  Bruno Haible  <bruno@clisp.org>
69517
69518         * modules/fseterr-tests: New file.
69519         * tests/test-fseterr.c: New file.
69520
69521         * modules/fseterr: New file.
69522         * lib/fseterr.h: New file.
69523         * lib/fseterr.c: New file.
69524
69525 2007-03-08  Bruno Haible  <bruno@clisp.org>
69526
69527         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69528         * lib/getopt_.h: Likewise.
69529         * lib/mbswidth.h: Likewise.
69530         * lib/setenv.h: Likewise.
69531         * lib/vasnprintf.h: Likewise.
69532         * lib/vasprintf.h: Likewise.
69533         * lib/verror.h: Likewise.
69534         * lib/xsetenv.h: Likewise.
69535         * lib/xvasprintf.h: Likewise.
69536
69537 2007-03-08  Jim Meyering  <jim@meyering.net>
69538
69539         * users.txt: Add parted.
69540
69541         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69542
69543 2007-03-07  Bruno Haible  <bruno@clisp.org>
69544
69545         * m4/printf.m4: Make the shell script snippets copy&pastable.
69546
69547 2007-03-02  Bruno Haible  <bruno@clisp.org>
69548
69549         * lib/netinet_in_.h: New file.
69550         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69551         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69552         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69553         (Depends-on): Add absolute-header.
69554         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69555         into netinet/in.h.
69556
69557 2007-03-03  Bruno Haible  <bruno@clisp.org>
69558
69559         * lib/sys_select_.h: New file.
69560         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69561         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69562         * modules/sys_select (Files): Add lib/sys_select_.h.
69563         (Depends-on): Add absolute-header.
69564         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69565         into sys/select.h.
69566
69567 2007-03-02  Bruno Haible  <bruno@clisp.org>
69568
69569         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69570         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69571         values.
69572         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69573         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69574         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69575         * modules/sys_socket (Depends-on): Add absolute-header.
69576         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69577         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69578         (Include): Remove requirement of inclusion of <sys/types.h>.
69579
69580 2007-03-02  Bruno Haible  <bruno@clisp.org>
69581
69582         * lib/byteswap_.h (bswap_32): Fix formula.
69583
69584 2007-03-06  Bruno Haible  <bruno@clisp.org>
69585
69586         * modules/sprintf-posix-tests: New file.
69587         * tests/test-sprintf-posix.c: New file.
69588
69589         * modules/sprintf-posix: New file.
69590         * lib/sprintf.c: New file.
69591         * m4/sprintf-posix.m4: New file.
69592         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69593         REPLACE_SPRINTF.
69594         * lib/stdio_.h (sprintf): New declaration.
69595         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69596         REPLACE_SPRINTF.
69597
69598 2007-03-06  Bruno Haible  <bruno@clisp.org>
69599
69600         * modules/vsprintf-posix-tests: New file.
69601         * tests/test-vsprintf-posix.c: New file.
69602         * tests/test-sprintf-posix.h: New file.
69603
69604         * modules/vsprintf-posix: New file.
69605         * lib/vsprintf.c: New file.
69606         * m4/vsprintf-posix.m4: New file.
69607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69608         REPLACE_VSPRINTF.
69609         * lib/stdio_.h (vsprintf): New declaration.
69610         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69611         REPLACE_VSPRINTF.
69612
69613 2007-03-06  Bruno Haible  <bruno@clisp.org>
69614
69615         * modules/vsnprintf (Depend-on): Remove minmax.
69616
69617 2007-03-06  Bruno Haible  <bruno@clisp.org>
69618
69619         * modules/snprintf-posix-tests: New file.
69620         * tests/test-snprintf-posix.c: New file.
69621
69622         * modules/snprintf-posix: New file.
69623         * m4/snprintf-posix.m4: New file.
69624         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69625         gl_FUNC_SNPRINTF.
69626         (gl_FUNC_SNPRINTF): Invoke it.
69627         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69628         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69629         is set.
69630         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69631
69632 2007-03-06  Bruno Haible  <bruno@clisp.org>
69633
69634         * modules/vsnprintf-posix-tests: New file.
69635         * tests/test-vsnprintf-posix.c: New file.
69636         * tests/test-snprintf-posix.h: New file.
69637
69638         * modules/vsnprintf-posix: New file.
69639         * m4/vsnprintf-posix.m4: New file.
69640         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69641         gl_FUNC_VSNPRINTF.
69642         (gl_FUNC_VSNPRINTF): Invoke it.
69643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69644         * lib/stdio_.h (vsnprintf): Define as a replacement if
69645         REPLACE_VSNPRINTF is set.
69646         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69647
69648 2007-03-06  Bruno Haible  <bruno@clisp.org>
69649
69650         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69651         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69652
69653 2007-03-06  Bruno Haible  <bruno@clisp.org>
69654
69655         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69656         (asinl): Declare also if HAVE_DECL_ASINL is set.
69657         (atanl): Declare also if HAVE_DECL_ATANL is set.
69658         (ceill): Declare also if HAVE_DECL_CEILL is set.
69659         (cosl): Declare also if HAVE_DECL_COSL is set.
69660         (expl): Declare also if HAVE_DECL_EXPL is set.
69661         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69662         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69663         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69664         (logl): Declare also if HAVE_DECL_LOGL is set.
69665         (sinl): Declare also if HAVE_DECL_SINL is set.
69666         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69667         (tanl): Declare also if HAVE_DECL_TANL is set.
69668         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69670         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69671         declaration of frexpl, ldexpl.
69672         * modules/printf-frexpl (Depends-on): Add math.
69673         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69674
69675 2007-03-05  Bruno Haible  <bruno@clisp.org>
69676
69677         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69678         frexpl and ldexpl are declared.
69679         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69680
69681 2007-03-05  Bruno Haible  <bruno@clisp.org>
69682
69683         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69684         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69685
69686 2007-03-05  Bruno Haible  <bruno@clisp.org>
69687
69688         * lib/stdio_.h: Include <stddef.h>.
69689
69690 2007-03-05  Bruno Haible  <bruno@clisp.org>
69691
69692         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69693
69694 2007-03-05  Bruno Haible  <bruno@clisp.org>
69695
69696         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69697         NetBSD 4, from Ralf Wildenhues.
69698
69699 2007-03-04  Bruno Haible  <bruno@clisp.org>
69700
69701         * lib/vasprintf.h: Update #if logic for the case when the functions
69702         exist but are overridden.
69703
69704 2007-03-04  Bruno Haible  <bruno@clisp.org>
69705
69706         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69707         implementations: glibc-2.4 and MacOS X 10.3.
69708         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69709         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69710         * tests/test-vasprintf-posix.c (test_function): Likewise.
69711
69712 2007-03-04  Bruno Haible  <bruno@clisp.org>
69713
69714         * modules/vasprintf-posix-tests: New file.
69715         * tests/test-vasprintf-posix.c: New file.
69716
69717         * modules/vasprintf-posix: New file.
69718         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69719         defined.
69720         * m4/vasprintf-posix.m4: New file.
69721         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69722         gl_FUNC_VASPRINTF.
69723         (gl_FUNC_VASPRINTF): Invoke it.
69724         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69725         here.
69726         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69727
69728 2007-03-04  Bruno Haible  <bruno@clisp.org>
69729
69730         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69731         REPLACE_GETTIMEOFDAY.
69732         * modules/sys_time (Makefile.am): Likewise.
69733         * m4/sys_time_h.m4: Likewise.
69734         * m4/gettimeofday.m4: Likewise.
69735
69736 2007-03-04  Bruno Haible  <bruno@clisp.org>
69737
69738         * modules/vasnprintf-posix-tests: New file.
69739         * tests/test-vasnprintf-posix.c: New file.
69740
69741         * modules/vasnprintf-posix: New file.
69742         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69743         printf-frexpl.h.
69744         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69745         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69746         REPLACE_VASNPRINTF is defined.
69747         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69748         gl_FUNC_VASNPRINTF.
69749         (gl_FUNC_VASNPRINTF): Invoke it.
69750         * m4/vasnprintf-posix.m4: New file.
69751         * m4/printf.m4: New file.
69752
69753 2007-03-04  Bruno Haible  <bruno@clisp.org>
69754
69755         Compile progreloc.c only if --enable-relocatable is specified.
69756         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69757         if --enable-relocatable was specified.
69758         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69759         lib_SOURCES.
69760
69761 2007-03-04  Jim Meyering  <jim@meyering.net>
69762
69763         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69764         Use it consistently, rather than enumerating errno constants.
69765
69766 2007-03-04  Bruno Haible  <bruno@clisp.org>
69767
69768         * modules/xvasprintf-tests: New file.
69769         * tests/test-xvasprintf.c: New file.
69770
69771         * modules/vasprintf-tests: New file.
69772         * tests/test-vasprintf.c: New file.
69773
69774         * modules/vasnprintf-tests: New file.
69775         * tests/test-vasnprintf.c: New file.
69776
69777         * modules/vsnprintf-tests: New file.
69778         * tests/test-vsnprintf.c: New file.
69779
69780         * modules/snprintf-tests: New file.
69781         * tests/test-snprintf.c: New file.
69782
69783 2007-03-04  Bruno Haible  <bruno@clisp.org>
69784
69785         Compile relocatable.c only if --enable-relocatable is specified.
69786         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69787         gl_RELOCATABLE_LIBRARY.
69788         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69789         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69790         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69791         gl_RELOCATABLE_LIBRARY.
69792         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69793         (Makefile.am): Remove lib_SOURCES.
69794         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69795         gl_RELOCATABLE_LIBRARY.
69796         (Makefile.am): Remove lib_SOURCES.
69797         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69798         always.
69799         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69800         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69801
69802 2007-03-04  Bruno Haible  <bruno@clisp.org>
69803
69804         * modules/argmatch-tests: New file.
69805         * tests/test-argmatch.c: New file.
69806
69807         * tests/test-allocsa.c (main): Halve the number of loop runs.
69808
69809         * modules/alloca-opt-tests: New file.
69810         * tests/test-alloca-opt.c: New file.
69811
69812 2007-03-04  Jim Meyering  <jim@meyering.net>
69813
69814         Work around difference between Linux ACLs and Solaris 10 ZFS.
69815         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69816         for EINVAL.
69817
69818 2007-03-03  Bruno Haible  <bruno@clisp.org>
69819
69820         * modules/relocatable-prog (Depends-on): Add back progreloc's
69821         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69822
69823 2007-03-03  Bruno Haible  <bruno@clisp.org>
69824
69825         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69826         * modules/relocatable-lib: New file.
69827
69828 2007-03-03  Bruno Haible  <bruno@clisp.org>
69829
69830         * modules/relocatable-prog: Renamed from modules/relocatable.
69831         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69832
69833 2007-03-03  Bruno Haible  <bruno@clisp.org>
69834
69835         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69836         m4/relocatable-lib.m4.
69837         (Depends-on): Remove 'relocatable'.
69838         (configure.ac): Add gl_RELOCATABLE_NOP.
69839
69840 2007-03-03  Bruno Haible  <bruno@clisp.org>
69841
69842         * modules/relocatable-prog-wrapper: New file.
69843         * modules/relocatable (Depends-on): Add it. Remove all other
69844         dependencies except progname.
69845         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69846
69847         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69848         (gl_FUNC_STRERROR): Nop.
69849         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69850
69851         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69852         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69853
69854         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69855         (gl_FUNC_READLINK): Update.
69856
69857         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69858
69859 2007-03-03  Bruno Haible  <bruno@clisp.org>
69860
69861         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69862         * modules/xreadlink (Depends-on): Add unistd.
69863         * modules/xreadlink-with-size (Depends-on): Likewise.
69864
69865 2007-03-03  Bruno Haible  <bruno@clisp.org>
69866
69867         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69868         extracted from gt_FUNC_SETENV.
69869         (gt_FUNC_SETENV): Remove macro.
69870         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69871         remove gt_FUNC_SETENV.
69872
69873 2007-03-03  Bruno Haible  <bruno@clisp.org>
69874
69875         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69876         ENABLE_RELOCATABLE here.
69877         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69878
69879 2007-03-03  Bruno Haible  <bruno@clisp.org>
69880
69881         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69882         * tests/test-rbtreehash_list.c: Include progname.h.
69883         (main): Call set_program_name.
69884
69885         * modules/rbtree-oset-tests (Depends-on): Add progname.
69886         * tests/test-rbtree_oset.c: Include progname.h.
69887         (main): Call set_program_name.
69888
69889         * modules/rbtree-list-tests (Depends-on): Add progname.
69890         * tests/test-rbtree_list.c: Include progname.h.
69891         (main): Call set_program_name.
69892
69893         * modules/linked-list-tests (Depends-on): Add progname.
69894         * tests/test-linked_list.c: Include progname.h.
69895         (main): Call set_program_name.
69896
69897 2007-03-03  Bruno Haible  <bruno@clisp.org>
69898
69899         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69900         All uses of __restrict changed to _Restrict_.
69901         * lib/glob_.h (__restrict): Remove macro.
69902
69903 2007-03-02  Bruno Haible  <bruno@clisp.org>
69904
69905         * modules/gettext (configure.ac): Require gettext infrastructure
69906         from version 0.16.1.
69907
69908 2007-03-02  Bruno Haible  <bruno@clisp.org>
69909
69910         * modules/linkedhash-list-tests (Depends-on): Add progname.
69911         * tests/test-linkedhash_list.c: Include progname.h.
69912         (main): Call set_program_name.
69913
69914         * modules/carray-list-tests (Depends-on): Add progname.
69915         * tests/test-carray_list.c: Include progname.h.
69916         (main): Call set_program_name.
69917
69918         * modules/avltreehash-list-tests (Depends-on): Add progname.
69919         * tests/test-avltreehash_list.c: Include progname.h.
69920         (main): Call set_program_name.
69921
69922         * modules/avltree-oset-tests (Depends-on): Add progname.
69923         * tests/test-avltree_oset.c: Include progname.h.
69924         (main): Call set_program_name.
69925
69926         * modules/avltree-list-tests (Depends-on): Add progname.
69927         * tests/test-avltree_list.c: Include progname.h.
69928         (main): Call set_program_name.
69929
69930         * modules/array-oset-tests (Depends-on): Add progname.
69931         * tests/test-array_oset.c: Include progname.h.
69932         (main): Call set_program_name.
69933
69934         * modules/array-list-tests (Depends-on): Add progname.
69935         * tests/test-array_list.c: Include progname.h.
69936         (main): Call set_program_name.
69937
69938         * modules/argp-tests (Depends-on): Add progname.
69939         * tests/test-argp.c: Include argp.h first. Include progname.h.
69940         (main): Call set_program_name.
69941
69942 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69943
69944         * doc/gnulib-tool.texi (Initial import): Reword description of
69945         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69946         limited effect even if defined after the first system include.
69947
69948 2007-03-01  Bruno Haible  <bruno@clisp.org>
69949
69950         * build-aux/config.libpath: Update to libtool-1.5.22.
69951         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69952
69953 2007-03-01  Bruno Haible  <bruno@clisp.org>
69954
69955         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69956         foo_CFLAGS.
69957         Reported by Ralf Wildenhues.
69958
69959 2007-03-01  Bruno Haible  <bruno@clisp.org>
69960
69961         * build-aux/install-reloc: Remove object files left over by some
69962         compilers.
69963         Reported by Ralf Wildenhues.
69964
69965 2007-03-01  Bruno Haible  <bruno@clisp.org>
69966
69967         * build-aux/install-reloc: Break long lines.
69968
69969 2007-03-01  Bruno Haible  <bruno@clisp.org>
69970
69971         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69972         Reported by Ralf Wildenhues.
69973
69974 2007-03-01  Bruno Haible  <bruno@clisp.org>
69975
69976         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69977         include ordering constraints.
69978
69979 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69980
69981         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69982         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69983         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69984         as another example.
69985         * lib/time_.h: Fix misspelling.
69986         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69987         Require gl_HEADER_TIME_H_DEFAULTS.
69988         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69989         * m4/time_r.m4 (gl_TIME_R): Likewise.
69990         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69991
69992 2007-03-01  Bruno Haible  <bruno@clisp.org>
69993
69994         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69995         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69996
69997 2007-03-01  Jim Meyering  <jim@meyering.net>
69998
69999         * modules/xreadlink (Maintainer): Add my name.
70000         * modules/xreadlink-with-size (Depends-on): Alphabetize.
70001
70002 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
70003             Bruno Haible  <bruno@clisp.org>
70004
70005         * build-aux/install-reloc: Compile also c-ctype.c.
70006         * build-aux/relocatable.sh.in: New file.
70007         * doc/relocatable.texi: New file.
70008         * doc/relocatable-maint.texi: New file.
70009         * doc/gnulib.texi: Include relocatable-maint.texi.
70010         * lib/progreloc.c: Include unistd.h unconditionally.
70011         * lib/relocwrapper.c: Include unistd.h unconditionally.
70012         Include c-ctype.h.
70013         (add_dotbin): Use c_tolower.
70014         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
70015         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
70016         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
70017         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
70018         to m4/relocatable-lib.m4.
70019         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
70020         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
70021         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
70022         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
70023         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
70024         * modules/relocatable: New file.
70025         * modules/relocatable-lib: New file.
70026         * modules/relocatable-script: New file.
70027
70028 2007-02-28  Bruno Haible  <bruno@clisp.org>
70029
70030         Import --enable-relocatable infrastructure.
70031         * build-aux/config.libpath: New file, from GNU gettext.
70032         * build-aux/install-reloc: New file, from GNU gettext.
70033         * build-aux/reloc-ldflags: New file, from GNU gettext.
70034         * lib/relocatable.h: New file, from GNU gettext.
70035         * lib/relocatable.c: New file, from GNU gettext.
70036         * lib/relocwrapper.c: New file, from GNU gettext.
70037         * m4/relocatable.m4: New file, from GNU gettext.
70038
70039 2007-02-28  Bruno Haible  <bruno@clisp.org>
70040
70041         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
70042
70043         * modules/xreadlink: New file, from GNU gettext with modifications.
70044         * lib/xreadlink.c: New file, from GNU gettext.
70045         * lib/xreadlink.h: Add comments.
70046         (xreadlink): New declaration.
70047
70048         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
70049         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
70050         lib/xreadlink-with-size.c.
70051         (configure.ac): Remove gl_XREADLINK invocation.
70052         (Makefile.am): Augment lib_SOURCES.
70053         * m4/xreadlink.m4: Remove file.
70054         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
70055         (xreadlink_with_size): Renamed from xreadink.
70056         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
70057         * modules/canonicalize (Depends-on): Replace xreadlink with
70058         xreadlink-with-size.
70059         * lib/canonicalize.c (canonicalize_filename_mode): Update.
70060
70061 2007-02-25  Jim Meyering  <jim@meyering.net>
70062
70063         * build-aux/announce-gen: When complaining about excess arguments,
70064         list them.
70065
70066 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70067
70068         * README: Document signed integer overflow situation more
70069         accurately.
70070
70071 2007-02-25  Bruno Haible  <bruno@clisp.org>
70072
70073         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
70074         'a' or 'A' conversion.
70075
70076 2007-02-25  Bruno Haible  <bruno@clisp.org>
70077
70078         * modules/filename: Renamed from modules/pathname.
70079         (Files): Replace lib/pathname.h with lib/filename.h. Replace
70080         lib/concatpath.c with lib/concat-filename.c.
70081         (Makefile.am): Update.
70082         (Include): Replace pathname.h with filename.h.
70083         * lib/filename.h: Renamed from lib/pathname.h.
70084         (concatenated_filename): Renamed from concatenated_pathname.
70085         * lib/concat-filename.c: Renamed from lib/concatpath.c.
70086         (concatenated_filename): Renamed from concatenated_pathname.
70087         * lib/findprog.c: Include filename.h instead of pathname.h.
70088         (find_in_path): Update.
70089         * lib/javacomp.c: Include filename.h instead of pathname.h.
70090         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
70091         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
70092         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
70093         is_oldgcj_14_13_usable, is_javac_usable): Update.
70094         * lib/javaexec.c: Include filename.h instead of pathname.h.
70095         (execute_java_class): Update.
70096         * modules/findprog: Update.
70097         * modules/javacomp: Update.
70098         * modules/javaexec: Update.
70099         * MODULES.html.sh (File system functions): Add 'filename', remove
70100         'pathname'.
70101
70102 2007-02-25  Bruno Haible  <bruno@clisp.org>
70103
70104         * modules/printf-frexpl-tests: New file.
70105         * tests/test-printf-frexpl.c: New file.
70106
70107         * modules/printf-frexpl: New file.
70108         * lib/printf-frexpl.h: New file.
70109         * lib/printf-frexpl.c: New file.
70110         * m4/printf-frexpl.m4: New file.
70111
70112 2007-02-25  Bruno Haible  <bruno@clisp.org>
70113
70114         * modules/printf-frexp-tests: New file.
70115         * tests/test-printf-frexp.c: New file.
70116
70117         * modules/printf-frexp: New file.
70118         * lib/printf-frexp.h: New file.
70119         * lib/printf-frexp.c: New file.
70120         * m4/printf-frexp.m4: New file.
70121
70122 2007-02-25  Bruno Haible  <bruno@clisp.org>
70123
70124         Assume automake >= 1.10 for the tests.
70125         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
70126         * modules/arctwo-tests: Likewise.
70127         * modules/argp-tests: Likewise.
70128         * modules/avltree-list-tests: Likewise.
70129         * modules/avltree-oset-tests: Likewise.
70130         * modules/avltreehash-list-tests: Likewise.
70131         * modules/carray-list-tests: Likewise.
70132         * modules/crc-tests: Likewise.
70133         * modules/des-tests: Likewise.
70134         * modules/gc-arcfour-tests: Likewise.
70135         * modules/gc-arctwo-tests: Likewise.
70136         * modules/gc-des-tests: Likewise.
70137         * modules/gc-hmac-md5-tests: Likewise.
70138         * modules/gc-hmac-sha1-tests: Likewise.
70139         * modules/gc-md2-tests: Likewise.
70140         * modules/gc-md4-tests: Likewise.
70141         * modules/gc-md5-tests: Likewise.
70142         * modules/gc-pbkdf2-sha1-tests: Likewise.
70143         * modules/gc-rijndael-tests: Likewise.
70144         * modules/gc-sha1-tests: Likewise.
70145         * modules/gc-tests: Likewise.
70146         * modules/getaddrinfo-tests: Likewise.
70147         * modules/hmac-md5-tests: Likewise.
70148         * modules/hmac-sha1-tests: Likewise.
70149         * modules/linked-list-tests: Likewise.
70150         * modules/linkedhash-list-tests: Likewise.
70151         * modules/lock-tests: Likewise.
70152         * modules/md2-tests: Likewise.
70153         * modules/md4-tests: Likewise.
70154         * modules/md5-tests: Likewise.
70155         * modules/rbtree-list-tests: Likewise.
70156         * modules/rbtree-oset-tests: Likewise.
70157         * modules/rbtreehash-list-tests: Likewise.
70158         * modules/read-file-tests: Likewise.
70159         * modules/rijndael-tests: Likewise.
70160         * modules/stdint-tests: Likewise.
70161         * modules/tls-tests: Likewise.
70162
70163 2007-02-24  Bruno Haible  <bruno@clisp.org>
70164
70165         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70166         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70167         function; instead check whether isnan with a double argument links.
70168         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70169         function; instead check whether isnan with a 'long double' argument
70170         links.
70171         Reported by Eric Blake <ebb9@byu.net>.
70172
70173 2007-02-24  Bruno Haible  <bruno@clisp.org>
70174
70175         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70176         defined.
70177         * lib/isnanl.c: Remove all code. Just include isnan.c.
70178         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70179
70180 2007-02-25  Jim Meyering  <jim@meyering.net>
70181
70182         Avoid conflicting types for 'unsetenv' on FreeBSD.
70183         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70184         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70185         in stdlib.h.
70186
70187 2007-02-24  Bruno Haible  <bruno@clisp.org>
70188
70189         * modules/isnanl-nolibm-tests: New file.
70190         * tests/test-isnanl.c: New file.
70191
70192         * modules/isnanl-nolibm: New file.
70193         * lib/isnanl.h: New file.
70194         * lib/isnanl.c: New file.
70195         * m4/isnanl.m4: New file.
70196
70197 2007-02-24  Bruno Haible  <bruno@clisp.org>
70198
70199         * modules/isnan-nolibm-tests: New file.
70200         * tests/test-isnan.c: New file.
70201
70202         * modules/isnan-nolibm: New file.
70203         * lib/isnan.h: New file.
70204         * lib/isnan.c: New file.
70205         * m4/isnan.m4: New file.
70206
70207 2007-02-24  Bruno Haible  <bruno@clisp.org>
70208
70209         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70210         assume that an exponent fits in 20 bits.
70211
70212 2007-02-24  Jim Meyering  <jim@meyering.net>
70213
70214         * m4/regex.m4: Update the description of the configure-time option,
70215         --without-included-regex, to state accurately what the defaults are,
70216         and perhaps to give people an idea why using this option is risky.
70217
70218 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70219
70220         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70221         loops on small arguments.  This attempts to avoid the problem
70222         Bruno Haible reported for AIX 4.3.2 in
70223         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70224
70225 2007-02-23  Bruno Haible  <bruno@clisp.org>
70226
70227         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70228         Needed for help2man.
70229
70230 2007-02-23  Karl Berry  <karl@gnu.org>
70231
70232         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70233         exists, foo.h should be cvs-ignored, not committed.
70234
70235 2007-02-23  Eric Blake  <ebb9@byu.net>
70236
70237         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70238         * lib/stat-time.h (includes): Likewise.
70239         * lib/utimecmp.c (includes): Likewise.
70240         * lib/utimens.h (includes): Likewise.
70241         * lib/getdate.y (includes): Also include "timespec.h" for use
70242         internal to the module.
70243         * modules/utimens (Depends-on): Revert yesterday's patch.
70244         * modules/nanosleep (Depends-on): Add missing dependency.
70245
70246 2007-02-22  Bruno Haible  <bruno@clisp.org>
70247
70248         * lib/glob.c: Don't include getlogin_r.h.
70249
70250 2007-02-22  Jim Meyering  <jim@meyering.net>
70251
70252         * modules/utimens (Depends-on): Add timespec, required for
70253         utimens.h's inclusion of timespec.h.
70254
70255 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70256
70257         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70258         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70259         Schwab in
70260         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70261         I'll try to think of a better way to fix the Solaris problem.
70262
70263         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70264         like glibc; on Solaris 10, it fails with errno == EINVAL.
70265         POSIX says the behavior is unspecified if the first argument is NULL,
70266         so play it safe and never pass NULL to the system getcwd.
70267
70268 2007-02-21  Jim Meyering  <jim@meyering.net>
70269
70270         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70271         of gettimeofday.  It would conflict with the one now always
70272         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70273         an IRIX 6.5 build failure.
70274
70275 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70276
70277         Minor fixups to port to Solaris 10 with Sun C 5.8.
70278         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70279         * modules/getcwd (Depends-on): Add dirfd.
70280         * lib/putenv.c (putenv): #undef it.
70281         (rpl_putenv): New decl.
70282         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70283
70284 2007-02-20  Bruno Haible  <bruno@clisp.org>
70285
70286         * modules/stdio-tests: New file.
70287         * tests/test-stdio.c: New file.
70288
70289         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70290         (Depends-on): Add stdio.
70291         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70292         (Include): Use <stdio.h> instead of vsnprintf.h.
70293         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70294         HAVE_DECL_VSNPRINTF.
70295         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70296
70297         * modules/snprintf (Files): Remove lib/snprintf.h.
70298         (Depends-on): Add stdio.
70299         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70300         (Include): Use <stdio.h> instead of snprintf.h.
70301         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70302         HAVE_DECL_SNPRINTF.
70303         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70304         * lib/getaddrinfo.c: Likewise.
70305
70306         * modules/stdio: New file.
70307         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70308         * lib/snprintf.h: Remove file.
70309         * lib/vsnprintf.h: Remove file.
70310         * lib/.cppi-disable: Remove snprintf.h.
70311         * m4/stdio_h.m4: New file.
70312         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70313
70314 2007-02-20  Jim Meyering  <jim@meyering.net>
70315
70316         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70317         used by e.g., mingw.  From Bruno Haible.
70318
70319 2007-02-19  Bruno Haible  <bruno@clisp.org>
70320
70321         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70322         warnings.
70323         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70324
70325 2007-02-19  Bruno Haible  <bruno@clisp.org>
70326
70327         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70328         from mingw users.
70329
70330 2007-02-19  Bruno Haible  <bruno@clisp.org>
70331
70332         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70333         warnings.
70334         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70335
70336 2007-02-19  Jim Meyering  <jim@meyering.net>
70337
70338         Don't use FD after a successful "fdopendir (fd)".
70339         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70340         Reset it by calling dirfd on the just-obtained DIR*.
70341
70342         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70343         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70344
70345 2007-02-18  Bruno Haible  <bruno@clisp.org>
70346
70347         * lib/readlink.c: Include <unistd.h>.
70348         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70349         HAVE_READLINK.
70350         * modules/readlink (Depends-on): Add unistd.
70351         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70352         (Include): Add <unistd.h>.
70353
70354         * lib/getlogin_r.h: Remove file.
70355         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70356         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70357         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70358         HAVE_DECL_GETLOGIN_R.
70359         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70360         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70361         (Include): Use <unistd.h> instead of getlogin_r.h.
70362
70363         * lib/getcwd.h: Remove file.
70364         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70365         * lib/xgetcwd.c: Likewise.
70366         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70367         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70368         * modules/getcwd (Files): Remove lib/getcwd.h.
70369         (Depends-on): Add unistd.
70370         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70371         (Include): Use <unistd.h> instad of getcwd.h.
70372
70373         * lib/ftruncate.c: Include <unistd.h> first.
70374         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70375         Set HAVE_FTRUNCATE.
70376         * modules/ftruncate (Depends-on): Add unistd.
70377         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70378
70379         * lib/fchdir.c: Include <unistd.h> first.
70380         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70382         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70383         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70384         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70385
70386         * lib/dup2.c: Include <unistd.h> first.
70387         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70388         HAVE_DUP2.
70389         * modules/dup2 (Depends-on): Add unistd.
70390         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70391
70392         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70393         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70394         REPLACE_CHOWN. Don't define chown as a macro here.
70395         * modules/chown (Depends-on): Add unistd.
70396         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70397
70398         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70399         Add definition for GL_LINK_WARNING.
70400         (chown, dup2): New declarations.
70401         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70402         link warning.
70403         (ftruncate): New declaration.
70404         (getcwd): New declaration, taken from old getcwd.h.
70405         (getlogin_r): New declaration, taken from old getlogin_r.h.
70406         (readlink): New declaration.
70407         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70408         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70409         (gl_PREREQ_UNISTD): Remove macro.
70410         (gl_UNISTD_MODULE_INDICATOR): New macro.
70411         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70412         many new variables. Don't set UNISTD_H.
70413         * modules/unistd (Description): Change.
70414         (Depends-on): Add link-warning.
70415         (configure.ac): Update.
70416         (Makefile.am): Create unistd.h always. Substitute many new variables
70417         into it.
70418
70419 2007-02-18  Bruno Haible  <bruno@clisp.org>
70420
70421         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70422         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70423         HAVE_GETSUBOPT.
70424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
70425         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
70426         * lib/getsubopt.h: Remove file.
70427         * modules/getsubopt (Files): Remove lib/getsubopt.h.
70428         (Depends-on): Add stdlib.
70429         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70430         (Includes): Use <stdlib.h> instead of getsubopt.h.
70431         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
70432         Set HAVE_GETSUBOPT.
70433         * lib/getsubopt.c: Don't include getsubopt.h.
70434
70435 2007-02-18  Bruno Haible  <bruno@clisp.org>
70436
70437         * modules/fchdir (Depends-on): Add dup2.
70438
70439 2007-02-18  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/stdlib_.h: Handle glibc's special invocation convention
70442         specially.
70443
70444 2007-02-18  Bruno Haible  <bruno@clisp.org>
70445
70446         * modules/stdlib-tests: New file.
70447         * tests/test-stdlib.c: New file.
70448
70449         * modules/mkstemp (Files): Remove lib/mkstemp.h.
70450         (Depends-on): Add stdlib.
70451         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70452         (Includes): Use <stdlib.h> instead of mkstemp.h.
70453         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70454         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
70455         * lib/mkstemp.c: Don't include mkstemp.h.
70456         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
70457         * lib/stdlib--.h: Don't include mkstemp.h.
70458
70459         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70460         (Depends-on): Add stdlib.
70461         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70462         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70463         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70464         HAVE_MKDTEMP.
70465         * lib/mkdtemp.c: Don't include mkdtemp.h.
70466         * lib/clean-temp.c: Don't include mkdtemp.h.
70467
70468         * modules/exit (Files): Remove lib/exit.h.
70469         (Depends-on): Add stdlib.
70470         (Makefile.am): Remove lib_SOURCES.
70471         (Include): Use <stdlib.h> instead of exit.h.
70472         * lib/argmatch.c: Don't include exit.h.
70473         * lib/execute.c: Likewise.
70474         * lib/pagealign_alloc.c: Likewise.
70475         * lib/pipe.c: Likewise.
70476         * lib/wait-process.c: Likewise.
70477         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70478         * lib/exitfail.c: Likewise.
70479         * lib/savewd.c: Likewise.
70480         * lib/xsetenv.c: Likewise.
70481
70482         * modules/stdlib: New file.
70483         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70484         and extra comments about mkstemp().
70485         * lib/exit.h: Remove file.
70486         * lib/mkdtemp.h: Remove file.
70487         * lib/mkstemp.h: Remove file.
70488         * m4/stdlib_h.m4: New file.
70489         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70490
70491 2007-02-18  Bruno Haible  <bruno@clisp.org>
70492
70493         * modules/math-tests: New file.
70494         * tests/test-math.c: New file.
70495
70496         * modules/math: New file.
70497         * modules/mathl (Files): Remove lib/mathl.h.
70498         (Depends-on): Add math.
70499         (Makefile.am): Don't mention mathl.h.
70500         (Include): Use <math.h> instead of mathl.h.
70501         * lib/math_.h: New file.
70502         * lib/mathl.h: Remove file.
70503         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70504         mathl.h.
70505         * lib/asinl.c: Likewise.
70506         * lib/atanl.c: Likewise.
70507         * lib/ceill.c: Likewise.
70508         * lib/cosl.c: Likewise.
70509         * lib/expl.c: Likewise.
70510         * lib/floorl.c: Likewise.
70511         * lib/frexpl.c: Likewise.
70512         * lib/ldexpl.c: Likewise.
70513         * lib/logl.c: Likewise.
70514         * lib/sincosl.c: Likewise.
70515         * lib/sinl.c: Likewise.
70516         * lib/sqrtl.c: Likewise.
70517         * lib/tanl.c: Likewise.
70518         * lib/trigl.c: Likewise.
70519         * m4/math_h.m4: New file.
70520         * MODULES.html.sh (Mathematics): Add math.
70521
70522 2007-02-17  Bruno Haible  <bruno@clisp.org>
70523
70524         * modules/wctype-tests: New file.
70525         * tests/test-wctype.c: New file.
70526
70527         * modules/wchar-tests: New file.
70528         * tests/test-wchar.c: New file.
70529
70530         * modules/unistd-tests: New file.
70531         * tests/test-unistd.c: New file.
70532
70533         * modules/time-tests: New file.
70534         * tests/test-time.c: New file.
70535
70536         * modules/sysexits-tests: New file.
70537         * tests/test-sysexits.c: New file.
70538
70539         * modules/sys_time-tests: New file.
70540         * tests/test-sys_time.c: New file.
70541
70542         * modules/sys_stat-tests: New file.
70543         * tests/test-sys_stat.c: New file.
70544
70545         * modules/sys_socket-tests: New file.
70546         * tests/test-sys_socket.c: New file.
70547
70548         * modules/sys_select-tests: New file.
70549         * tests/test-sys_select.c: New file.
70550
70551         * modules/string-tests: New file.
70552         * tests/test-string.c: New file.
70553
70554         * modules/stdbool-tests: New file.
70555         * tests/test-stdbool.c: New file.
70556
70557         * modules/netinet_in-tests: New file.
70558         * tests/test-netinet_in.c: New file.
70559
70560         * modules/inttypes-tests: New file.
70561         * tests/test-inttypes.c: New file.
70562
70563         * modules/fcntl-tests: New file.
70564         * tests/test-fcntl.c: New file.
70565
70566         * modules/byteswap-tests: New file.
70567         * tests/test-byteswap.c: New file.
70568
70569         * modules/arpa_inet-tests: New file.
70570         * tests/test-arpa_inet.c: New file.
70571
70572 2007-02-17  Bruno Haible  <bruno@clisp.org>
70573
70574         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70575         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70576         if the corresponding module is not enabled. Emit link warnings if
70577         the function is used nevertheless.
70578         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70579         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70580         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70581         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70582         * modules/inttypes (Depends-on): Add link-warning.
70583         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70584         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70585         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70586         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70587         * modules/imaxdiv (configure.ac): Likewise.
70588         * modules/strtoimax (configure.ac): Likewise.
70589         * modules/strtoumax (configure.ac): Likewise.
70590
70591 2007-02-17  Bruno Haible  <bruno@clisp.org>
70592
70593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70594         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70595         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70596         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70597
70598 2007-02-17  Bruno Haible  <bruno@clisp.org>
70599
70600         * modules/link-warning: New file.
70601         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70602         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70603         * modules/string (Depends-on): Add link-warning.
70604         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70605         string.h.
70606         * MODULES.html.sh (Support for building libraries and executables): Add
70607         link-warning.
70608
70609 2007-02-17  Bruno Haible  <bruno@clisp.org>
70610
70611         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70612         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70613         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70614         long lines.
70615
70616 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70617             Bruno Haible  <bruno@clisp.org>
70618
70619         * modules/tmpfile: New file.
70620         * lib/tmpfile.c: New file.
70621         * m4/tmpfile.m4: New file.
70622         * MODULES.html.sh (func_all_modules): New section "Input/output".
70623
70624 2007-02-15  Bruno Haible  <bruno@clisp.org>
70625
70626         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70627         (supports_delete_on_close): New function.
70628         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70629
70630 2007-02-14  Bruno Haible  <bruno@clisp.org>
70631
70632         * modules/mbspcasecmp-tests: New file.
70633         * tests/test-mbspcasecmp.sh: New file.
70634         * tests/test-mbspcasecmp.c: New file.
70635
70636         New module mbspcasecmp.
70637         * modules/mbspcasecmp: New file.
70638         * lib/mbspcasecmp.c: New file.
70639         * lib/string_.h (strncasecmp): Change warning message.
70640         (mbspcasecmp): New declaration.
70641         * m4/mbspcasecmp.m4: New file.
70642         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70643         GNULIB_MBSPCASECMP.
70644         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70645         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70646
70647 2007-02-14  Bruno Haible  <bruno@clisp.org>
70648
70649         * modules/mbsncasecmp-tests: New file.
70650         * tests/test-mbsncasecmp.sh: New file.
70651         * tests/test-mbsncasecmp.c: New file.
70652
70653         New module mbsncasecmp.
70654         * modules/mbsncasecmp: New file.
70655         * lib/mbsncasecmp.c: New file.
70656         * lib/string_.h (mbsncasecmp): New declaration.
70657         * m4/mbsncasecmp.m4: New file.
70658         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70659         GNULIB_MBSNCASECMP.
70660         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70661         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70662
70663 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70664
70665         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70666         Verify that it doesn't overlap with our flags.
70667         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70668         do not have the desired effect in multibyte locales; instead, use
70669         mbscasecmp.
70670         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70671         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70672         we don't require GNU fnmatch ourselves (if our users require it, they
70673         should do so explicitly).
70674
70675         Fix regex code so it doesn't rely on strcasecmp.
70676         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70677         Otherwise, include gnulib's langinfo.h.
70678         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70679         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70680         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70681         * modules/regex (FILES): Remove m4/codeset.m4.
70682         (Depends-on): Add localcharset.  Remove strcase.
70683
70684 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70685
70686         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70687         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70688
70689 2007-02-13  Bruno Haible  <bruno@clisp.org>
70690
70691         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70692         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70693
70694 2007-02-12  Bruno Haible  <bruno@clisp.org>
70695
70696         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70697         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70698         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70699         time warning rather than a link error.
70700
70701 2007-02-12  Bruno Haible  <bruno@clisp.org>
70702
70703         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70704         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70705         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70706
70707 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70708
70709         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70710         args, not 2.
70711
70712 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70713
70714         New module 'time', so that apps can include <time.h> as per
70715         POSIX and GNU instead of separate include files like time_r.h
70716         and timegm.h.  This implementation tries out a simpler approach
70717         for replacing decls in standard include files (as compared to
70718         the string module), somewhat as an experiment.
70719
70720         * config/srclist.txt: Comment out mktime.c for now.
70721         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70722         since it doesn't apply any more.  Use generic wording instead.
70723         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70724         'time'.
70725         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70726         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70727         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70728         Don't include <sys/types.h>; no longer needed since we assume C89.
70729         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70730         * lib/strftime.c: Likewise.
70731         * lib/time_r.c: Likewise.
70732         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70733         * lib/nanosleep.c: Include <time.h> first, to check interface.
70734         * lib/strptime.c: Likewise.
70735         * lib/time_r.c: Likewise.
70736         * lib/timegm.c: Likewise.
70737         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70738         needed.
70739         * lib/timegm.c: Don't include timegm.h; no longer needed.
70740         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70741         time.h now handles any problems in that area.
70742         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70743         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70744         that time.h defines struct timespec.
70745         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70746         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70747         handles that.
70748         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70749         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70750         needed.  Set REPLACE_LOCALTIME.
70751         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70752         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70753         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70754         nanosleep; time_h.m4 now does that.  Don't require
70755         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70756         module handles this now.
70757         * modules/getdate (Depends-on): Remove timespec.  Add time.
70758         * modules/nanosleep (Depends-on): Likewise.
70759         * modules/stat-time (Depends-on): Likewise.
70760         * modules/nanosleep (Include): Include time.h, not timespec.h.
70761         * modules/strptime (Files): Remove lib/strptime.h.
70762         (Depends-on): Add extensions, time.
70763         (Include): Include time.h, not strptime.h.
70764         * modules/time_r (Files): Remove lib/time_r.h.
70765         (Depends-on): Add time.
70766         (Include): Include time.h, not time_r.h.
70767         * modules/timegm: Likewise.
70768         * modules/timespec (Description): Now does timespec-related decls
70769         of our own, instead of struct timespec itself.
70770         (Depends-on): Add time; remove extensions.
70771         (Maintainer): Add self.
70772         * modules/utimecmp (Depends-on): Add time; remove timespec.
70773         * modules/utimens (Depends-on): Likewise.
70774         * modules/xnanosleep (Depends-on): Likewise.
70775
70776 2007-02-11  Bruno Haible  <bruno@clisp.org>
70777
70778         * lib/c-strstr.c: Include allocsa.h.
70779         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70780         * lib/c-strcasestr.c: Include allocsa.h.
70781         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70782         * lib/strcasestr.c: Include allocsa.h.
70783         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70784         * lib/mbsstr.c: Include allocsa.h.
70785         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70786         allocsa/freesa instead of malloc/free.
70787         * lib/mbscasestr.c: Include allocsa.h.
70788         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70789         allocsa/freesa instead of malloc/free.
70790         * modules/c-strstr (Depends-on): Add allocsa.
70791         * modules/c-strcasestr (Depends-on): Likewise.
70792         * modules/strcasestr (Depends-on): Likewise.
70793         * modules/mbsstr (Depends-on): Likewise.
70794         * modules/mbscasestr (Depends-on): Likewise.
70795
70796 2007-02-11  Bruno Haible  <bruno@clisp.org>
70797
70798         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70799
70800         * modules/mbsspn-tests: New file.
70801         * tests/test-mbsspn.sh: New file.
70802         * tests/test-mbsspn.c: New file.
70803
70804 2007-02-11  Bruno Haible  <bruno@clisp.org>
70805
70806         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70807
70808         * modules/mbspbrk-tests: New file.
70809         * tests/test-mbspbrk.sh: New file.
70810         * tests/test-mbspbrk.c: New file.
70811
70812 2007-02-11  Bruno Haible  <bruno@clisp.org>
70813
70814         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70815         unneeded cast.
70816
70817         * modules/mbscspn-tests: New file.
70818         * tests/test-mbscspn.sh: New file.
70819         * tests/test-mbscspn.c: New file.
70820
70821 2007-02-11  Bruno Haible  <bruno@clisp.org>
70822
70823         * modules/mbscasecmp-tests: New file.
70824         * tests/test-mbscasecmp.sh: New file.
70825         * tests/test-mbscasecmp.c: New file.
70826
70827 2007-02-11  Bruno Haible  <bruno@clisp.org>
70828
70829         Ensure O(n) worst-case complexity of mbscasestr.
70830         * lib/mbscasestr.c: Include stdbool.h.
70831         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70832         functions.
70833         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70834         the bookkeeping indicates that it's worth it.
70835         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70836
70837         * modules/mbscasestr-tests: New file.
70838         * tests/test-mbscasestr1.c: New file.
70839         * tests/test-mbscasestr2.sh: New file.
70840         * tests/test-mbscasestr2.c: New file.
70841         * tests/test-mbscasestr3.sh: New file.
70842         * tests/test-mbscasestr3.c: New file.
70843         * tests/test-mbscasestr4.sh: New file.
70844         * tests/test-mbscasestr4.c: New file.
70845         * m4/locale-tr.m4: New file.
70846
70847 2007-02-11  Bruno Haible  <bruno@clisp.org>
70848
70849         Ensure O(n) worst-case complexity of mbsstr.
70850         * lib/mbsstr.c: Include stdbool.h.
70851         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70852         functions.
70853         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70854         bookkeeping indicates that it's worth it.
70855         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70856
70857         * modules/mbsstr-tests: New file.
70858         * tests/test-mbsstr1.c: New file.
70859         * tests/test-mbsstr2.sh: New file.
70860         * tests/test-mbsstr2.c: New file.
70861         * tests/test-mbsstr3.sh: New file.
70862         * tests/test-mbsstr3.c: New file.
70863         * m4/locale-fr.m4: New file.
70864
70865 2007-02-11  Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/mbsrchr.c (mbsrchr): Fix bug.
70868
70869         * modules/mbsrchr-tests: New file.
70870         * tests/test-mbsrchr.sh: New file.
70871         * tests/test-mbsrchr.c: New file.
70872
70873 2007-02-11  Bruno Haible  <bruno@clisp.org>
70874
70875         * lib/mbschr.c (mbschr): Fix bug.
70876
70877         * modules/mbschr-tests: New file.
70878         * tests/test-mbschr.sh: New file.
70879         * tests/test-mbschr.c: New file.
70880         * m4/locale-zh.m4: New file.
70881
70882 2007-02-11  Bruno Haible  <bruno@clisp.org>
70883
70884         Support for copying multibyte string iterators.
70885         * lib/mbiter.h: Include <string.h>.
70886         (mbiter_multi_copy): New function.
70887         (mbi_copy): New macro.
70888         * lib/mbuiter.h: Include <string.h>.
70889         (mbuiter_multi_copy): New function.
70890         (mbui_copy): New macro.
70891
70892 2007-02-11  Bruno Haible  <bruno@clisp.org>
70893
70894         New module mbslen.
70895         * modules/mbslen: New file.
70896         * lib/mbslen.c: New file.
70897         * lib/string_.h (mbslen): New declaration.
70898         * m4/mbslen.m4: New file.
70899         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70900         GNULIB_MBSLEN.
70901         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70902         * MODULES.html.sh (Internationalization functions): Add mbslen.
70903
70904 2007-02-11  Bruno Haible  <bruno@clisp.org>
70905
70906         Ensure O(n) worst-case complexity of strcasestr substitute.
70907         * lib/strcasestr.c: Include stdbool.h.
70908         (knuth_morris_pratt): New function.
70909         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70910         bookkeeping indicates that it's worth it.
70911         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70912
70913         * modules/strcasestr-tests: New file.
70914         * tests/test-strcasestr.c: New file.
70915
70916 2007-02-11  Bruno Haible  <bruno@clisp.org>
70917
70918         Ensure O(n) worst-case complexity of c_strcasestr.
70919         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70920         (knuth_morris_pratt): New function.
70921         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70922         the bookkeeping indicates that it's worth it.
70923         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70924
70925         * modules/c-strcasestr-tests: New file.
70926         * tests/test-c-strcasestr.c: New file.
70927
70928 2007-02-11  Bruno Haible  <bruno@clisp.org>
70929
70930         Ensure O(n) worst-case complexity of c_strstr.
70931         * lib/c-strstr.c: Include stdbool.h, string.h.
70932         (knuth_morris_pratt): New function.
70933         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70934         bookkeeping indicates that it's worth it.
70935         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70936
70937         * lib/c-strstr.c: Complete rewrite for maintainability.
70938
70939         * modules/c-strstr-tests: New file.
70940         * tests/test-c-strstr.c: New file.
70941
70942 2007-02-11  Bruno Haible  <bruno@clisp.org>
70943
70944         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70945         5.2.1 and earlier, whereby \055 was treated just like the range
70946         delimiter '-'.
70947         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70948
70949 2007-02-08  Bruno Haible  <bruno@clisp.org>
70950
70951         * modules/regex (Depends-on): Add stdbool.
70952         Reported by Dalibor Topic <robilad@kaffe.org>.
70953
70954 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70957         Prefer returning from main to exiting from it.
70958         Remove unnecessary parens after sizeof.
70959
70960 2007-02-05  Bruno Haible  <bruno@clisp.org>
70961
70962         New module mbssep.
70963         * modules/mbssep: New file.
70964         * lib/mbssep.c: New file.
70965         * lib/string_.h (strsep): Add a conditional link warning.
70966         (mbssep): New declaration.
70967         * m4/mbssep.m4: New file.
70968         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70969         GNULIB_MBSSEP.
70970         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70971         * MODULES.html.sh (Internationalization functions): Add mbssep.
70972
70973 2007-02-05  Bruno Haible  <bruno@clisp.org>
70974
70975         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70976         Optimize search in case of 1 delimiter.
70977
70978 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70979
70980         * lib/acl.h: Include sys/types.h before sys/acl.h.
70981
70982 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70983
70984         Merge upstream fix for glibc bugzilla #3957:
70985
70986         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70987
70988         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70989         bit for RE_HAT_LISTS_NOT_NEWLINE.
70990         (build_charclass_op): Remove bogus comment.
70991
70992 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70993
70994         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70995
70996 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70997
70998         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70999         * lib/memmem.c [!defined _LIBC]: Include config.h.
71000
71001 2007-02-04  Bruno Haible  <bruno@clisp.org>
71002
71003         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
71004         warning message.
71005
71006 2007-02-04  Bruno Haible  <bruno@clisp.org>
71007
71008         New module mbstok_r.
71009         * modules/mbstok_r: New file.
71010         * lib/mbstok_r.c: New file.
71011         * lib/string_.h (strtok_r): Change argument names to match the
71012         comments. Add a conditional link warning.
71013         (mbstok_r): New declaration.
71014         * m4/mbstok_r.m4: New file.
71015         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71016         GNULIB_MBSTOK_R.
71017         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
71018         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
71019
71020 2007-02-04  Bruno Haible  <bruno@clisp.org>
71021
71022         New module mbsspn.
71023         * modules/mbsspn: New file.
71024         * lib/mbsspn.c: New file.
71025         * lib/string_.h (strspn): Add a conditional link warning.
71026         (mbsspn): New declaration.
71027         * m4/mbsspn.m4: New file.
71028         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71029         GNULIB_MBSSPN.
71030         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
71031         * MODULES.html.sh (Internationalization functions): Add mbsspn.
71032
71033 2007-02-04  Bruno Haible  <bruno@clisp.org>
71034
71035         New module mbspbrk.
71036         * modules/mbspbrk: New file.
71037         * lib/mbspbrk.c: New file.
71038         * lib/string_.h (strpbrk): Add a conditional link warning.
71039         (mbspbrk): New declaration.
71040         * m4/mbspbrk.m4: New file.
71041         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71042         GNULIB_MBSPBRK.
71043         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
71044         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
71045
71046 2007-02-04  Bruno Haible  <bruno@clisp.org>
71047
71048         New module mbscspn.
71049         * modules/mbscspn: New file.
71050         * lib/mbscspn.c: New file.
71051         * lib/string_.h (strcspn): Add a conditional link warning.
71052         (mbscspn): New declaration.
71053         * m4/mbscspn.m4: New file.
71054         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71055         GNULIB_MBSCSPN.
71056         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
71057         * MODULES.html.sh (Internationalization functions): Add mbscspn.
71058
71059 2007-02-04  Bruno Haible  <bruno@clisp.org>
71060
71061         New module mbscasestr, reduced goal of strcasestr.
71062         * modules/mbscasestr: New file.
71063         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
71064         (mbscasestr): Renamed from strcasestr.
71065         * lib/strcasestr.c: Don't include mbuiter.h.
71066         (strcasestr): Remove support for multibyte locales.
71067         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
71068         Change the conditional link warning.
71069         (mbscasestr): New declaration.
71070         * m4/mbscasestr.m4: New file.
71071         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
71072         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
71073         REPLACE_STRCASESTR.
71074         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
71075         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71076         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71077         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
71078         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
71079         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71080         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
71081         (Depends-on): Remove mbuiter.
71082         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
71083
71084 2007-02-04  Bruno Haible  <bruno@clisp.org>
71085
71086         Simplify handling of strncasecmp.
71087         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
71088         the conditional link warning.
71089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71090         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
71091         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
71092         * modules/strcase (configure.ac): Don't invoke
71093         gl_STRING_MODULE_INDICATOR.
71094         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
71095
71096 2007-02-04  Bruno Haible  <bruno@clisp.org>
71097
71098         New module mbscasecmp, reduced goal of strcasecmp.
71099         * modules/mbscasecmp: New file.
71100         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
71101         (mbscasecmp): Renamed from strcasecmp.
71102         * lib/strcasecmp.c: Don't include mbuiter.h.
71103         (strcasecmp): Remove support for multibyte locales.
71104         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
71105         Change the conditional link warning.
71106         (mbscasecmp): New declaration.
71107         * m4/mbscasecmp.m4: New file.
71108         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
71109         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
71110         REPLACE_STRCASECMP.
71111         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
71112         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71113         GNULIB_MBSCASECMP.
71114         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
71115         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
71116         * modules/strcase (Files): Remove m4/mbrtowc.m4.
71117         (Depends-on): Remove mbuiter.
71118         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
71119
71120 2007-02-04  Bruno Haible  <bruno@clisp.org>
71121
71122         New module mbsstr. Remove module strstr.
71123         * modules/mbsstr: New file.
71124         * modules/strstr: Remove file.
71125         * lib/mbsstr.c: Renamed from lib/strstr.c.
71126         (mbsstr): Renamed from strstr.
71127         * lib/string_.h (strstr): Remove declaration. Change the conditional
71128         link warning.
71129         (mbsstr): New declaration.
71130         * m4/mbsstr.m4: New file.
71131         * m4/strstr.m4: Remove file.
71132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71133         REPLACE_STRSTR.
71134         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71135         Don't initialize GNULIB_STRSTR.
71136         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71137         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71138         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71139         (Support for systems lacking ANSI C 89): Remove strstr.
71140
71141 2007-02-04  Bruno Haible  <bruno@clisp.org>
71142
71143         New module mbsrchr.
71144         * modules/mbsrchr: New file.
71145         * lib/mbsrchr.c: New file.
71146         * lib/string_.h (strrchr): Add a conditional link warning.
71147         (mbsrchr): New declaration.
71148         * m4/mbsrchr.m4: New file.
71149         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71150         GNULIB_MBSRCHR.
71151         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71152         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71153
71154 2007-02-04  Bruno Haible  <bruno@clisp.org>
71155
71156         New module mbschr.
71157         * modules/mbschr: New file.
71158         * lib/mbschr.c: New file.
71159         * lib/string_.h (strchr): Add a conditional link warning.
71160         (mbschr): New declaration.
71161         * m4/mbschr.m4: New file.
71162         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71163         GNULIB_MBSCHR.
71164         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71165         * MODULES.html.sh (Internationalization functions): Add mbschr.
71166
71167 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71168
71169         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71170
71171         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71172
71173 2007-02-04  Bruno Haible  <bruno@clisp.org>
71174
71175         New module description section 'configure.ac-early'.
71176         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71177         (func_get_autoconf_early_snippet): New function.
71178         (func_import, func_create_testdir): Use it. Remove special cases for
71179         modules 'extensions' and 'lock'.
71180         * modules/extensions (configure.ac-early): Require
71181         gl_USE_SYSTEM_EXTENSIONS.
71182         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71183
71184 2007-02-04  Bruno Haible  <bruno@clisp.org>
71185
71186         Make use of gcj-4.3's -fsource and -ftarget option.
71187         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71188         and if so try the options -fsource and -ftarget.
71189         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71190         source_version, ftarget_option, target_version arguments.
71191         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71192         (is_envjavac_oldgcj_14_14_usable): Renamed from
71193         is_envjavac_gcj_14_14_usable.
71194         (is_envjavac_oldgcj_14_13_usable): Renamed from
71195         is_envjavac_gcj_14_13_usable.
71196         (is_gcj_present): Update.
71197         (is_gcj_43, is_gcj43_usable): New functions.
71198         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71199         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71200         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71201         try the options -fsource and -ftarget.
71202
71203 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71204
71205         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71206         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71207         larger value.
71208
71209 2007-02-03  Jim Meyering  <jim@meyering.net>
71210
71211         Give tools a better chance to allocate space for very large buffers.
71212         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71213
71214         Make pwd and readlink work also when run with an unreadable parent dir
71215         on systems with openat support.
71216         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71217         provided getcwd function, even when we have openat support.
71218         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71219
71220 2007-02-02  Bruno Haible  <bruno@clisp.org>
71221
71222         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71223         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71224         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71225         portability problems if one of these functions is only used on specific
71226         platforms.
71227         Reported by Paul Eggert.
71228
71229 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71230
71231         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71232         is causing more trouble than it's curing.
71233         * lib/regex_internal.h (__mempcpy): Remove.
71234         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71235         (and make the code a tad smaller to boot).
71236         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71237
71238 2007-02-02  Jim Meyering  <jim@meyering.net>
71239
71240         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71241         section, not in the Makefile.am: one.
71242
71243 2007-02-02  Eric Blake  <ebb9@byu.net>
71244
71245         * lib/strchrnul.c: Always include config.h first.
71246
71247         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71248         gnulib strstr is not necessary here.
71249
71250 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71251
71252         * m4/socklen.m4: Fix typo.
71253
71254 2007-02-02  Eric Blake  <ebb9@byu.net>
71255
71256         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71257         * modules/netinet_in (Makefile.am): Likewise.
71258
71259 2007-02-01  Bruno Haible  <bruno@clisp.org>
71260
71261         * lib/string_.h (GL_LINK_WARNING): New macro.
71262         (strcasecmp, strstr, strcasestr): If provided by the system,
71263         conditionally define as a macro that leads to a warning instead of to
71264         an error.
71265         (strncasecmp): Conditionally define as a macro that leads to a warning.
71266
71267 2007-02-01  Karl Berry  <karl@gnu.org>
71268
71269         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71270
71271 2007-02-01  Bruno Haible  <bruno@clisp.org>
71272
71273         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71274         renamings.
71275
71276 2007-02-01  Eric Blake  <ebb9@byu.net>
71277
71278         * modules/regex (Depends-on): Revert dependence on mempcpy.
71279         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71280         module's definition of mempcpy.
71281         Reported by Paul Eggert.
71282
71283 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71284
71285         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71286         the symbol XYZ before redefining it.  This fixes a problem with
71287         programs that don't use XYZ, when compiled on systems that define
71288         XYZ to something else.
71289
71290 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71291
71292         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71293         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71294         writeable to group or other and (2) is intended to have a special
71295         mode bit that is set or cleared.  In such a case, the directory
71296         should be neither group- nor other-writeable until the special
71297         mode bits are right.
71298
71299 2007-01-31  Eric Blake  <ebb9@byu.net>
71300
71301         * modules/mountlist (Depends-on): Add strstr.
71302
71303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71304         bug.
71305         * modules/string (Makefile.am): Remove redundant replacement.
71306         * modules/regex (Depends-on): Add mempcpy.
71307
71308 2007-01-31  Bruno Haible  <bruno@clisp.org>
71309
71310         New module description field 'Link'.
71311         * gnulib-tool (func_usage): Document --extract-link-directive.
71312         (sed_extract_prog): Recognize 'Link' directive.
71313         (func_get_link_directive): New function.
71314         (func_import): Show summary of link directives.
71315         Handle --extract-link-directive option.
71316         * modules/acl (Link): New section.
71317         * modules/clock-time (Link): New section.
71318         * modules/euidaccess (Link): New section.
71319         * modules/gettext (Link): New section.
71320         * modules/iconv (Link): New section.
71321         * modules/lock (Link): New section.
71322         * modules/nanosleep (Link): New section.
71323         * modules/readline (Link): New section.
71324
71325 2007-01-27  Bruno Haible  <bruno@clisp.org>
71326
71327         Enforce the use of gnulib modules for unportable <string.h> functions.
71328         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71329         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71330         (gl_HEADER_STRING_H_BODY): Require it.
71331         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71332         the symbol XYZ to one that gives a link error.
71333         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71334         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71335         * modules/mempcpy (configure.ac): Likewise.
71336         * modules/memrchr (configure.ac): Likewise.
71337         * modules/stpcpy (configure.ac): Likewise.
71338         * modules/stpncpy (configure.ac): Likewise.
71339         * modules/strcase (configure.ac): Likewise.
71340         * modules/strcasestr (configure.ac): Likewise.
71341         * modules/strchrnul (configure.ac): Likewise.
71342         * modules/strdup (configure.ac): Likewise.
71343         * modules/strndup (configure.ac): Likewise.
71344         * modules/strnlen (configure.ac): Likewise.
71345         * modules/strpbrk (configure.ac): Likewise.
71346         * modules/strsep (configure.ac): Likewise.
71347         * modules/strstr (configure.ac): Likewise.
71348         * modules/strtok_r (configure.ac): Likewise.
71349
71350 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71351
71352         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71353
71354 2007-01-30  Jim Meyering  <jim@meyering.net>
71355
71356         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71357
71358 2007-01-29  Bruno Haible  <bruno@clisp.org>
71359
71360         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71361         * lib/execute.c: Likewise.
71362         * lib/pipe.c: Likewise.
71363         * lib/printf-args.h: Likewise.
71364         * lib/printf-args.c: Likewise.
71365         * lib/printf-parse.c: Likewise.
71366         * lib/vasnprintf.c: Likewise.
71367
71368 2007-01-29  Eric Blake  <ebb9@byu.net>
71369
71370         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71371         declaration.
71372
71373 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71374
71375         * lib/strptime.h (strptime): Use 'restrict' for args where
71376         POSIX requires this.
71377         * lib/strptime.c (strptime): Likewise.
71378         Change license notice from LGPL to GPL, since gnulib-tool will
71379         change this as needed.
71380         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71381         defined.
71382         Include "strptime.h" first, to check interface.
71383         Do not #undef _LIBC and _NL_CURRENT.
71384         Do not include <stdlib.h>; no longer needed.
71385         Include "time_r.h" and declare ptime_locale_status
71386         only if _LIBC is not defined.
71387         (__P): Remove unused macro.
71388         (match_string): Bring back glibc version, but use it only if _LIBC
71389         is defined.
71390         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71391         Remove unnecessary assertion and abort() call.
71392         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71393         * m4/strptime.m4: Fix serial number comment.
71394         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71395         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71396         (Depends-on): Add time_r.
71397
71398 2007-01-29  Bruno Haible  <bruno@clisp.org>
71399
71400         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71401         strptime.
71402         * modules/strptime (Depends-on): Add stdbool.
71403         * lib/strptime.h: Include <time.h> always. Add comments.
71404
71405 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71406
71407         * modules/strptime: New file.
71408         * lib/strptime.h: New file.
71409         * lib/strptime.c: New file.
71410         * m4/strptime.m4: New file.
71411
71412 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71413
71414         * MODULES.html.sh: New module mpsort.
71415         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71416
71417         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71418         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71419         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71420         All uses changed.
71421         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71422         All uses changed.
71423         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
71424         to _Restrict_.
71425         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
71426         the parameter matches the prototype.
71427
71428 2007-01-28  Jim Meyering  <jim@meyering.net>
71429
71430         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
71431         sys/time.h here, reverting that part of the previous patch:
71432         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
71433
71434 2007-01-28  Bruno Haible  <bruno@clisp.org>
71435
71436         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
71437         value of $(SYS_TIME_H).
71438         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
71439         remove it conditionally, too. [added by Jim Meyering]
71440         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
71441         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71442         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
71443         GETTIMEOFDAY_REPLACEMENT to 1.
71444
71445 2007-01-28  Bruno Haible  <bruno@clisp.org>
71446
71447         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
71448         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
71449         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
71450         Set UNISTD_H instead of UNISTD_H2.
71451         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
71452
71453 2007-01-28  Bruno Haible  <bruno@clisp.org>
71454
71455         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
71456         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
71457
71458 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71459
71460         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71461         (func_create_testdir): Ensure C locale for `grep' and `tr'
71462         character ranges.
71463         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71464         ACLOCAL_AMFLAGS parsing state machine.
71465
71466 2007-01-27  Bruno Haible  <bruno@clisp.org>
71467
71468         * modules/unistr/base: Update.
71469
71470 2007-01-27  Bruno Haible  <bruno@clisp.org>
71471
71472         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71473         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71474         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71475         modules/unistr/u32-mbtouc.
71476         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71477         * lib/unistr.h: Update.
71478         * lib/linebreak.c: Update.
71479         * modules/unistr/u32-mbtouc: Renamed from
71480         modules/unistr/u32-mbtouc-safe.
71481         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71482         * lib/unistr.h: Update.
71483         * lib/unistr/u32-to-u8.c: Update.
71484         * lib/unistr/u32-to-u16.c: Update.
71485
71486 2007-01-27  Bruno Haible  <bruno@clisp.org>
71487
71488         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71489         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71490         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71491         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71492         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71493         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71494         modules/unistr/u16-mbtouc.
71495         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71496         * lib/unistr.h: Update.
71497         * lib/linebreak.c: Update.
71498         * modules/linebreak: Update.
71499         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71500         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71501         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71502         * modules/unistr/u16-mbtouc: Renamed from
71503         modules/unistr/u16-mbtouc-safe.
71504         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71505         * lib/unistr.h: Update.
71506         * lib/unistr/u16-to-u8.c: Update.
71507         * modules/unistr/u16-to-u8: Update.
71508         * lib/unistr/u16-to-u32.c: Update.
71509         * modules/unistr/u16-to-u32: Update.
71510
71511 2007-01-27  Bruno Haible  <bruno@clisp.org>
71512
71513         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71514         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71515         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71516         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71517         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71518         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71519         modules/unistr/u8-mbtouc.
71520         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71521         * lib/unistr.h: Update.
71522         * lib/striconveh.c: Update.
71523         * modules/striconveh: Update.
71524         * lib/linebreak.c: Update.
71525         * modules/linebreak: Update.
71526         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71527         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71528         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71529         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71530         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71531         * lib/unistr.h: Update.
71532         * lib/striconveh.c: Update.
71533         * modules/striconveh: Update.
71534         * lib/unistr/u8-to-u16.c: Update.
71535         * modules/unistr/u8-to-u16: Update.
71536         * lib/unistr/u8-to-u32.c: Update.
71537         * modules/unistr/u8-to-u32: Update.
71538
71539 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71540
71541         Sync from Libtool.
71542         * lib/argz.c: Do not include strings.h nor memory.h, include
71543         string.h unconditionally.  Patch by Simon Josefsson.
71544
71545 2007-01-27  Bruno Haible  <bruno@clisp.org>
71546
71547         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71548         from gl_HEADER_STRING_H_BODY.
71549         (gl_HEADER_STRING_H_BODY): Require it.
71550         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71551         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71552         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71553         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71554         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71555         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71556         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71557         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71558         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71559         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71560         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71561         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71562         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71563         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71564         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71565
71566 2007-01-27  Bruno Haible  <bruno@clisp.org>
71567
71568         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71569         check_PROGRAMS into noinst_PROGRAMS.
71570         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71571         check_PROGRAMS in this case.
71572         (func_import): Set for_test to false.
71573         (func_create_testdir): Set for_test to true.
71574
71575 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71576             Bruno Haible  <bruno@clisp.org>
71577
71578         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71579         (Depends-on): Add string.
71580         (Includes): Use <string.h> instead of strcasestr.h.
71581         * modules/string (Makefile.am): Also substitute the value of
71582         REPLACE_STRCASESTR.
71583         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71584         assume strcasestr is declared in <string.h> not <strings.h>. Also
71585         set REPLACE_STRCASESTR.
71586         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71587         REPLACE_STRCASESTR.
71588         * lib/strcasestr.h: Remove file.
71589         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71590         * lib/string_.h (strcasestr): New declaration.
71591
71592 2007-01-27  Bruno Haible  <bruno@clisp.org>
71593
71594         * lib/string_.h: Use 'extern'.
71595
71596 2007-01-27  Jim Meyering  <jim@meyering.net>
71597
71598         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71599         of set-but-not-used local, "q".
71600
71601         * lib/mempcpy.c: Include <config.h> before <string.h>.
71602         This fixes a compilation error on HP-UX, due to the system's
71603         "restrict"-using mempcpy prototype.
71604
71605 2007-01-26  Bruno Haible  <bruno@clisp.org>
71606
71607         Small optimization.
71608         * lib/javacomp.c: Include c-strstr.h.
71609          (is_envjavac_gcj): Use c_strstr instead of strstr.
71610         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71611
71612 2007-01-26  Bruno Haible  <bruno@clisp.org>
71613
71614         * MODULES.html.sh (Unicode string functions): Add the new modules.
71615
71616         * modules/uniconv/u32-strconv-to-locale: New file.
71617         * lib/uniconv/u32-strconv-to-locale.c: New file.
71618
71619         * modules/uniconv/u16-strconv-to-locale: New file.
71620         * lib/uniconv/u16-strconv-to-locale.c: New file.
71621
71622         * modules/uniconv/u8-strconv-to-locale: New file.
71623         * lib/uniconv/u8-strconv-to-locale.c: New file.
71624
71625         * modules/uniconv/u32-strconv-from-locale: New file.
71626         * lib/uniconv/u32-strconv-from-locale.c: New file.
71627
71628         * modules/uniconv/u16-strconv-from-locale: New file.
71629         * lib/uniconv/u16-strconv-from-locale.c: New file.
71630
71631         * modules/uniconv/u8-strconv-from-locale: New file.
71632         * lib/uniconv/u8-strconv-from-locale.c: New file.
71633
71634         * modules/uniconv/u32-strconv-to-enc: New file.
71635         * lib/uniconv/u32-strconv-to-enc.c: New file.
71636         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71637         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71638
71639         * modules/uniconv/u16-strconv-to-enc: New file.
71640         * lib/uniconv/u16-strconv-to-enc.c: New file.
71641         * lib/uniconv/u-strconv-to-enc.h: New file.
71642         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71643         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71644
71645         * modules/uniconv/u8-strconv-to-enc: New file.
71646         * lib/uniconv/u8-strconv-to-enc.c: New file.
71647         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71648         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71649
71650         * modules/uniconv/u32-strconv-from-enc: New file.
71651         * lib/uniconv/u32-strconv-from-enc.c: New file.
71652         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71653         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71654
71655         * modules/uniconv/u16-strconv-from-enc: New file.
71656         * lib/uniconv/u16-strconv-from-enc.c: New file.
71657         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71658         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71659
71660         * modules/uniconv/u8-strconv-from-enc: New file.
71661         * lib/uniconv/u8-strconv-from-enc.c: New file.
71662         * lib/uniconv/u-strconv-from-enc.h: New file.
71663         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71664         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71665
71666         * modules/uniconv/u32-conv-from-enc: New file.
71667         * lib/uniconv/u32-conv-from-enc.c: New file.
71668         * modules/uniconv/u32-conv-from-enc-tests: New file.
71669         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71670
71671         * modules/uniconv/u16-conv-from-enc: New file.
71672         * lib/uniconv/u16-conv-from-enc.c: New file.
71673         * lib/uniconv/u-conv-from-enc.h: New file.
71674         * modules/uniconv/u16-conv-from-enc-tests: New file.
71675         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71676
71677         * modules/uniconv/u8-conv-from-enc: New file.
71678         * lib/uniconv/u8-conv-from-enc.c: New file.
71679         * modules/uniconv/u8-conv-from-enc-tests: New file.
71680         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71681
71682         * modules/uniconv/base: New file.
71683         * lib/uniconv.h: New file.
71684
71685 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71686
71687         * doc/gnulib-tool.texi (Initial import): Update to match current
71688         behavior with strdup module.
71689         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71690         * lib/memmem.h: Remove; all uses removed.  This is now done
71691         by <string.h>.
71692         * lib/mempcpy.h: Likewise.
71693         * lib/memrchr.h: Likewise.
71694         * lib/stpcpy.h: Likewise.
71695         * lib/stpncpy.h: Likewise.
71696         * lib/strcase.h: Likewise.
71697         * lib/strchrnul.h: Likewise.
71698         * lib/strdup.h: Likewise.
71699         * lib/strndup.h: Likewise.
71700         * lib/strnlen.h: Likewise.
71701         * lib/strpbrk.h: Likewise.
71702         * lib/strsep.h: Likewise.
71703         * lib/strstr.h: Likewise.
71704         * lib/strtok_r.h: Likewise.
71705         * lib/string_.h: New file.
71706         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71707         Rely on <string.h> instead.
71708         * lib/canon-host.c: Likewise.
71709         * lib/chdir-long.c: Likewise.
71710         * lib/concatpath.c: Likewise.
71711         * lib/exclude.c: Likewise.
71712         * lib/fchdir.c: Likewise.
71713         * lib/getaddrinfo.c: Likewise.
71714         * lib/getcwd.c: Likewise.
71715         * lib/getsubopt.c: Likewise.
71716         * lib/glob.c: Likewise.
71717         * lib/hard-locale.c: Likewise.
71718         * lib/iconvme.c: Likewise.
71719         * lib/javacomp.c: Likewise.
71720         * lib/mempcpy.c: Likewise.
71721         * lib/memrchr.c: Likewise.
71722         * lib/regex_internal.h: Likewise.
71723         * lib/stpncpy.c: Likewise.
71724         * lib/strcasecmp.c: Likewise.
71725         * lib/strchrnul.c: Likewise.
71726         * lib/strdup.c: Likewise.
71727         * lib/striconv.c: Likewise.
71728         * lib/striconveh.c: Likewise.
71729         * lib/striconveha.c: Likewise.
71730         * lib/strncasecmp.c: Likewise.
71731         * lib/strndup.c: Likewise.
71732         * lib/strnlen.c: Likewise.
71733         * lib/strsep.c: Likewise.
71734         * lib/strstr.c: Likewise.
71735         * lib/strtok_r.c: Likewise.
71736         * lib/userspec.c: Likewise.
71737         * lib/w32spawn.h: Likewise.
71738         * lib/xstrndup.c: Likewise.
71739         * lib/mountlist.c (strstr): Remove decl.
71740         * m4/string_h.m4: New file.
71741         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71742         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71743         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71744         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71745         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71746         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71747         Set REPLACE_STRCASECMP if necessary.
71748         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71749         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71750         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71751         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71752         HAVE_DECL_STRDUP if necessary.
71753         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71754         since gl_FUNC_STRNDUP does that now.
71755         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71756         Check for decl here...
71757         (gl_PREREQ_STRNLEN): ... not here.
71758         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71759         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71760         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71761         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71762         necessary.
71763         * modules/string: New file.
71764         * modules/memmem (Files): Remove special-purpose include file.
71765         (Depends-on): Add string.
71766         (Include): Include <string.h>, not the removed file.
71767         * modules/mempcpy: Likewise.
71768         * modules/memrchr: Likewise.
71769         * modules/stpcpy: Likewise.
71770         * modules/stpncpy: Likewise.
71771         * modules/strcase: Likewise.
71772         * modules/strchrnul: Likewise.
71773         * modules/strdup: Likewise.
71774         * modules/strndup: Likewise.
71775         * modules/strnlen: Likewise.
71776         * modules/strpbrk: Likewise.
71777         * modules/strsep: Likewise.
71778         * modules/strstr: Likewise.
71779         * modules/strtok_r: Likewise.
71780         * tests/test-dirname.c: Don't include "strdup.h", since
71781         <string.h> now suffices.
71782         * tests/test-memmem.c: Don't include "memmem.h", since
71783         <string.h> now suffices.
71784
71785 2007-01-25  Bruno Haible  <bruno@clisp.org>
71786
71787         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71788         *resultp is 0.
71789
71790         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71791         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71792         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71793         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71794
71795         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71796         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71797         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71798         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71799         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71800         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71801
71802 2007-01-24  Bruno Haible  <bruno@clisp.org>
71803
71804         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71805         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71806         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71807         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71808         gl_FUNC_FTS_CORE.
71809         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71810         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71811         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71812         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71813         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71814         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71815         gl_FUNC_FCHOWNAT.
71816         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71817         gl_FUNC_STRFTIME.
71818         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71819         Reported by Ralf Wildenhues.
71820
71821 2007-01-24  Bruno Haible  <bruno@clisp.org>
71822
71823         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71824         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71825         gl_GETADDRINFO.
71826         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71827         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71828         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71829
71830 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71831
71832         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71833         Don't use 'exit'; just return from 'main'.
71834         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71835
71836         * lib/fnmatch_.h: Readjust white space and comments to match
71837         glibc, to avoid spurious diffs.
71838
71839 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71842         2004-12-01 change by Jakub Jelinek, since this code won't compile
71843         if !LIBC.  Problem reported by Bob Proulx.
71844
71845 2007-01-23  Bruno Haible  <bruno@clisp.org>
71846
71847         * lib/striconveh.c: Include c-strcaseeq.h.
71848         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71849         * modules/striconveh (Depends-on): Add c-strcaseeq.
71850
71851 2007-01-23  Bruno Haible  <bruno@clisp.org>
71852
71853         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71854
71855         * modules/c-strcaseeq: New file.
71856         * lib/c-strcaseeq.h: New file.
71857
71858         * modules/streq: New file.
71859         * lib/streq.h: New file.
71860
71861 2007-01-23  Bruno Haible  <bruno@clisp.org>
71862
71863         * modules/striconveha-tests: New file.
71864         * tests/test-striconveha.c: New file.
71865
71866         * lib/striconveha.h: Include <stdbool.h>.
71867         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71868         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71869         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71870         (mem_iconveha): New function.
71871         (str_iconveha_notranslit): Renamed from str_iconveha.
71872         (str_iconveha): New function.
71873         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71874         c-strcase.
71875
71876 2007-01-23  Bruno Haible  <bruno@clisp.org>
71877
71878         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71879         encodings without forgiving before trying any encoding with handler.
71880         (str_iconveha): Try all encodings without forgiving before trying any
71881         encoding with handler.
71882
71883 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71884
71885         Import the following changes from libc.
71886
71887         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71888
71889         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71890
71891         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71892
71893         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71894         normal_bracket label.
71895
71896         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71897
71898         [BZ #361]
71899         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71900         to normal_bracket after fetching the next character.
71901
71902 2007-01-22  Bruno Haible  <bruno@clisp.org>
71903
71904         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71905         argument.
71906         * lib/striconveh.c (iconv_carefully_1): New function.
71907         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71908         argument.
71909         (str_cd_iconveh): Update.
71910         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71911         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71912         * tests/test-striconveh.c (MAGIC): New macro.
71913         (new_offsets): New function.
71914         (main): Test call with and without offsets.
71915
71916 2007-01-22  Bruno Haible  <bruno@clisp.org>
71917
71918         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71919         * modules/sys_select (Makefile.am): Likewise.
71920         * modules/sys_socket (Makefile.am): Likewise.
71921         * modules/sys_time (Makefile.am): Likewise.
71922
71923 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71924
71925         * modules/gettimeofday (License): Change from GPL to LGPL, since
71926         gettimeofday is a library function.
71927
71928 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71929
71930         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71931
71932 2007-01-21  Bruno Haible  <bruno@clisp.org>
71933
71934         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71935
71936 2007-01-21  Bruno Haible  <bruno@clisp.org>
71937
71938         * modules/striconveha: New file.
71939         * lib/striconveha.h: New file.
71940         * lib/striconveha.c: New file.
71941         * MODULES.html.sh (Internationalization functions): Add striconveha.
71942         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71943         string.
71944         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71945
71946 2007-01-21  Bruno Haible  <bruno@clisp.org>
71947
71948         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71949         * lib/striconveh.c (str_iconveh): Likewise.
71950
71951 2007-01-21  Bruno Haible  <bruno@clisp.org>
71952
71953         * lib/striconveh.h (mem_iconveh): New declaration.
71954         * lib/striconveh.c (mem_iconveh): New function.
71955         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71956
71957 2007-01-21  Bruno Haible  <bruno@clisp.org>
71958
71959         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71960
71961         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71962         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71963         original result buffer.
71964         (str_cd_iconveh): Update.
71965         * tests/test-striconveh.c (main): Update.
71966
71967         * lib/striconv.h (mem_cd_iconv): Change specification.
71968         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71969         result buffer.
71970         (str_cd_iconv): Update.
71971         * tests/test-striconv.c (main): Update.
71972
71973 2007-01-21  Bruno Haible  <bruno@clisp.org>
71974
71975         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71976
71977 2007-01-20  Jim Meyering  <jim@meyering.net>
71978
71979         * lib/userspec.c (parse_with_separator): If a user or group string
71980         starts with "+", skip the corresponding name-to-ID look-up, since
71981         such a look-up must fail: user and group names may not include "+".
71982
71983 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71984
71985         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71986         since we now assume the sys_time module.
71987         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71988         check for sys/time.h; no longer needed.
71989         * modules/poll (Depends-on): Depend on sys_time.
71990
71991 2007-01-18  Bruno Haible  <bruno@clisp.org>
71992
71993         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71994         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71995
71996         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71997         gettimeofday.
71998
71999         * tests/test-gettimeofday.c: Include <time.h>.
72000         (dummy): Remove variable.
72001
72002         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
72003         gl_HEADER_SYS_TIME_H.
72004         (gl_HEADER_SYS_TIME_H): New macro.
72005
72006         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
72007         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72008         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
72009         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
72010         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72011         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
72012         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
72013         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72014         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
72015         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
72016         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72017
72018         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
72019         last change; it caused a compilation error when cross-compiling to
72020         Cygwin.
72021
72022 2007-01-18  Jim Meyering  <jim@meyering.net>
72023
72024         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
72025         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
72026         than the race-prone "test -d sys || mkdir sys".
72027         (configure.ac): Use AC_PROG_MKDIR_P.
72028         * modules/sys_select: Likewise.
72029         * modules/sys_socket: Likewise.
72030         * modules/sys_time: Likewise.
72031
72032 2007-01-18  Eric Blake  <ebb9@byu.net>
72033
72034         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
72035         replace gettimeofday.
72036         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
72037         name, to avoid infinite recursion.
72038
72039 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
72040
72041         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
72042         module sys_time.
72043         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
72044         assume timespec.h defines struct timeval.
72045         * lib/settime.c: Likewise.
72046         * lib/utimens.c: Likewise.
72047         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
72048         since we now assume the gettimeofday module.
72049         * lib/tempname.c (__gen_tempname): Likewise.
72050         * lib/gettimeofday.h: Remove.
72051         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
72052         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
72053         Include <time.h>, for 'time()'.
72054         (localtime_buffer_addr): Also use this workaround if
72055         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
72056         to simplify the uses.  All uses changed.
72057         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
72058         that #undef is inside {}, and 'const' follows type name consistently.
72059         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
72060         (gettimeofday): Do not use the maximum possible value for
72061         tv->tv_usec, since that might break usages other than ls.c.
72062         Instead, we'll leave ls.c alone.  This undoes today's patch
72063         by Bruno.  Add a compile-time warning for 1s-clock resolution;
72064         we've never observed the problem but might as well keep the
72065         canary.
72066         * lib/nanosleep.c: Include timespec.h first, for interface check.
72067         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
72068         now assume the sys_time module.
72069         * lib/tempname.c: Likewise.
72070         * lib/timespec.h: Likewise.
72071         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
72072         needed.
72073         * lib/strftime.c: Likewise.
72074         * lib/timespec.h: Likewise.
72075         * lib/posixtm.c: Include posixtm.h first, for interface check.
72076         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
72077         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
72078         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
72079         * lib/sys_time_.h: New file.
72080         * lib/timespec.h (struct timespec): Use long int, not long.
72081         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72082         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
72083         Remove obsolescent call to AC_HEADER_TIME.
72084         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
72085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72086         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72087         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
72088         Likewise.
72089         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
72090         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
72091         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
72092         into the sys_time module.  Check for gettimeofday just once.
72093         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
72094         for gettimeofday signature to just check the signature.  Merely
72095         compile it, since linking doesn't test signature.  Improve test for
72096         whether gettimeofday.o is actually needed.
72097         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
72098         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
72099         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
72100         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72101         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
72102         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
72103         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
72104         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
72105         than worrying about sys/time.h.
72106         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72107         Don't bother worrying about TIME_WITH_SYS_TIME.
72108         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
72109         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
72110         * m4/sys_time_h.m4: New file.
72111         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
72112         Don't include sys/time.h.  Return from main rather than exiting.
72113         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
72114         all uses changed.
72115         * modules/gethrxtime (Depends-on): Add sys_time.
72116         * modules/gettime (Depends-on): Likewise.
72117         * modules/gettimeofday (Depends-on): Likewise.
72118         * modules/nanosleep (Depends-on): Likewise.
72119         * modules/settime (Depends-on): Likewise.
72120         * modules/tempname (Depends-on): Likewise.
72121         * modules/utimens (Depends-on): Likewise.
72122         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
72123         (Include): Change back to <sys/time.h>.
72124         (Maintainer): Add self.
72125         * modules/sys_time: New file.
72126         * modules/tempname (Depends-on): Add gettimeofday.
72127         * tests/test-gettimeofday.c: Include <sys/time.h>
72128         rather than gettimeofday.h.
72129
72130 2007-01-17  Bruno Haible  <bruno@clisp.org>
72131
72132         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72133         the license default to GPL.
72134         (func_create_testdir): Don't complain if a module is LGPL and its
72135         tests module depends on GPLed modules.
72136
72137 2007-01-17  Bruno Haible  <bruno@clisp.org>
72138
72139         * lib/gettimeofday.c (gettimeofday): Add code for the case
72140         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72141         maximum possible value for tv->tv_usec, rather than the minimum one.
72142
72143 2005-10-08  Martin Lambers  <marlam@marlam.de>
72144 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72145 2007-01-16  Bruno Haible  <bruno@clisp.org>
72146
72147         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72148         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72149         gl_FUNC_GETTIMEOFDAY.
72150         (Include): Add gettimeofday.h.
72151         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72152         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72153         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72154         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72155         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72156         * lib/gettimeofday.h: New file.
72157         * lib/gettimeofday.c: Include <sys/timeb.h>.
72158         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72159         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72160         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72161         fall back on time().
72162
72163         * tests/test-gettimeofday.c: New file.
72164         * modules/gettimeofday-tests: New file.
72165
72166 2007-01-16  Eric Blake  <ebb9@byu.net>
72167
72168         * modules/fnmatch (Depends-on): Depend on wchar.
72169         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72170         * m4/fnmatch.m4: Likewise.
72171         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72172         * m4/mbchar.m4: Likewise.
72173         * modules/mbswidth (Depends-on): Depend on wchar.
72174         * lib/mbswidth.c: Assume <wchar.h>.
72175         * m4/mbswidth.m4: Likewise.
72176         * modules/quotearg (Depends-on): Depend on wchar.
72177         * lib/quotearg.c: Assume <wchar.h>.
72178         * m4/quotearg.m4: Likewise.
72179         * modules/regex (Depends-on): Depend on wchar.
72180         * lib/regex_internal.h: Assume <wchar.h>.
72181         * m4/regex.m4: Likewise.
72182         * modules/stdint (Depends-on): Depend on wchar.
72183         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72184         * m4/stdint.m4: Likewise.
72185         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72186         * modules/strftime (Depends-on): Depend on wchar.
72187         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72188         * modules/strtol (Depends-on): Depend on wchar.
72189         * lib/strtol.c: Assume <wchar.h>.
72190         * modules/wcwidth (Depends-on): Depend on wchar.
72191         * lib/wcwidth.h: Assume <wchar.h>.
72192         * m4/wcwidth.m4: Likewise.
72193
72194 2007-01-16  Bruno Haible  <bruno@clisp.org>
72195
72196         * modules/csharpexec-script: New, created from...
72197         * modules/csharpexec: ... this.
72198
72199 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72200
72201         * modules/javaexec-script: New, created from...
72202         * modules/javaexec: ... this.
72203
72204 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72205
72206         * modules/poll (Dependencies): Add sys_select.
72207
72208 2007-01-15  Jim Meyering  <jim@meyering.net>
72209
72210         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72211         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72212         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72213         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72214
72215 2007-01-15  Bruno Haible  <bruno@clisp.org>
72216
72217         * modules/striconveh: New file.
72218         * lib/striconveh.h: New file.
72219         * lib/striconveh.c: New file.
72220         * MODULES.html.sh (Internationalization functions): Add striconveh.
72221
72222         * modules/striconveh-tests: New file.
72223         * tests/test-striconveh.c: New file.
72224
72225 2007-01-15  Bruno Haible  <bruno@clisp.org>
72226
72227         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72228         not from GNU libiconv or GNU libc.
72229
72230 2007-01-15  Bruno Haible  <bruno@clisp.org>
72231
72232         * doc/gnulib-intro.texi (Copyright): Explain the different license
72233         terms for module descriptions, autoconf macros, tests, documentation.
72234
72235 2007-01-14  Bruno Haible  <bruno@clisp.org>
72236
72237         * modules/striconv-tests: New file.
72238         * tests/test-striconv.c: New file.
72239
72240 2007-01-14  Bruno Haible  <bruno@clisp.org>
72241
72242         * modules/iconv-tests: New file.
72243         * tests/test-iconv.c: New file.
72244
72245 2007-01-14  Bruno Haible  <bruno@clisp.org>
72246
72247         * gnulib-tool (func_get_license): For test modules, use the license of
72248         the main module.
72249
72250 2007-01-14  Bruno Haible  <bruno@clisp.org>
72251
72252         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72253         if iconv is found to exist.
72254
72255 2007-01-14  Bruno Haible  <bruno@clisp.org>
72256
72257         * modules/c-ctype-tests: New file.
72258         * tests/test-c-ctype.c: New file.
72259
72260 2007-01-14  Bruno Haible  <bruno@clisp.org>
72261
72262         * modules/binary-io-tests: New file.
72263         * tests/test-binary-io.sh: New file.
72264         * tests/test-binary-io.c: New file.
72265
72266 2007-01-14  Bruno Haible  <bruno@clisp.org>
72267
72268         * modules/array-oset-tests: New file.
72269         * tests/test-array_oset.c: New file.
72270
72271 2007-01-14  Bruno Haible  <bruno@clisp.org>
72272
72273         * modules/array-list-tests: New file.
72274         * tests/test-array_list.c: New file.
72275
72276 2007-01-14  Bruno Haible  <bruno@clisp.org>
72277
72278         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72279         and make.
72280         Reported by Simon Josefsson in
72281         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72282
72283 2007-01-14  Bruno Haible  <bruno@clisp.org>
72284
72285         * modules/allocsa-tests: New file.
72286         * tests/test-allocsa.c: New file.
72287
72288 2007-01-14  Bruno Haible  <bruno@clisp.org>
72289
72290         * modules/fchdir (Depends-on): Add absolute-header.
72291         * modules/unistd (Depends-on): Likewise.
72292
72293 2006-12-30  Bruno Haible  <bruno@clisp.org>
72294
72295         * modules/fchdir: New file.
72296         * modules/unistd (Files): Add lib/unistd_.h.
72297         (Makefile.am): Generate unistd.h from unistd_.h.
72298         * lib/fchdir.c: New file.
72299         * lib/dirent_.h: New file.
72300         * lib/unistd_.h: New file.
72301         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72302         * m4/fchdir.m4: New file.
72303         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72304         (gl_HEADER_UNISTD): Invoke it.
72305         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72306         function.
72307         * lib/backupfile.c (opendir, closedir): Undefine.
72308         * lib/chown.c (open, close): Undefine.
72309         * lib/clean-temp.c (open, close): Undefine.
72310         * lib/copy-file.c (open, close): Undefine.
72311         * lib/execute.c (open, close): Undefine.
72312         * lib/fsusage.c (open, close): Undefine.
72313         * lib/gc-gnulib.c (open, close): Undefine.
72314         * lib/getcwd.c (opendir, closedir): Undefine.
72315         * lib/glob.c (opendir, closedir): Undefine.
72316         * lib/javacomp.c (open, close): Undefine.
72317         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72318         * lib/openat-proc.c (open, close): Undefine.
72319         * lib/pagealign_alloc.c (open, close): Undefine.
72320         * lib/pipe.c (open, close): Undefine.
72321         * lib/progreloc.c (open, close): Undefine.
72322         * lib/savedir.c (opendir, closedir): Undefine.
72323         * lib/utime.c (open, close): Undefine.
72324         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72325
72326 2007-01-10  Bruno Haible  <bruno@clisp.org>
72327
72328         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72329
72330 2007-01-12  Eric Blake  <ebb9@byu.net>
72331
72332         Provide a robust <wchar.h>.  Further simplifications are now
72333         possible in other modules, but not included here.
72334         * modules/wchar: New module.
72335         * m4/wchar.m4: New file.
72336         * lib/wchar_.h: Likewise.
72337         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72338         of the new module.
72339         * MODULES.html.sh (Extended multibyte and wide character utilities):
72340         New section.
72341
72342 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72345         to a reasonable default for memory allocation.
72346         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72347         file system that reports garbage st_size values for symlinks.
72348         Problem reported by Liyang Hu.
72349
72350 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72351
72352         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72353         Emacs .#* auto-save files).
72354
72355 2007-01-11  Bruno Haible  <bruno@clisp.org>
72356
72357         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72358         directory.
72359
72360 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72361
72362         Use @...@ consistently in lib/wctype_.h.
72363         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72364         on it being set to 1 or 0.
72365         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72366         go back to AC_SUBSTing it.
72367         * modules/wctype (Makefile.am): Undo previous change.
72368
72369 2007-01-10  Eric Blake  <ebb9@byu.net>
72370
72371         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72372         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72373         * modules/wctype (Makefile.am): Likewise.
72374         Reported by Chris McGuire.
72375
72376 2007-01-10  Jim Meyering  <jim@meyering.net>
72377
72378         fts.c: a small readability/maintainability improvement
72379         * lib/fts.c (fts_read): Make this code slightly more readable and
72380         maintainable by hoisting the "sp->fts_cur = p" assignments to
72381         immediately follow the statements that set P.  Derived from
72382         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72383
72384 2007-01-10  Eric Blake  <ebb9@byu.net>
72385
72386         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72387         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72389         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72390         Reported by Chris McGuire.
72391
72392 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72393
72394         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72395         in sed script.
72396
72397 2007-01-09  Bruno Haible  <bruno@clisp.org>
72398
72399         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72400         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72401         variables.
72402         (func_module): Use them.
72403
72404 2007-01-09  Bruno Haible  <bruno@clisp.org>
72405
72406         * modules/unistr/base: New file.
72407         * lib/unistr.h: New file.
72408
72409         * modules/unistr/u8-to-u16: New file.
72410         * lib/unistr/u8-to-u16.c: New file.
72411
72412         * modules/unistr/u8-to-u32: New file.
72413         * lib/unistr/u8-to-u32.c: New file.
72414
72415         * modules/unistr/u16-to-u8: New file.
72416         * lib/unistr/u16-to-u8.c: New file.
72417
72418         * modules/unistr/u16-to-u32: New file.
72419         * lib/unistr/u16-to-u32.c: New file.
72420
72421         * modules/unistr/u32-to-u8: New file.
72422         * lib/unistr/u32-to-u8.c: New file.
72423
72424         * modules/unistr/u32-to-u16: New file.
72425         * lib/unistr/u32-to-u16.c: New file.
72426
72427         * modules/unistr/u8-check: New file.
72428         * modules/unistr/u16-check: New file.
72429         * modules/unistr/u32-check: New file.
72430         * lib/unistr/u8-check.c: New file.
72431         * lib/unistr/u16-check.c: New file.
72432         * lib/unistr/u32-check.c: New file.
72433
72434         * modules/unistr/u8-chr: New file.
72435         * modules/unistr/u16-chr: New file.
72436         * modules/unistr/u32-chr: New file.
72437         * lib/unistr/u8-chr.c: New file.
72438         * lib/unistr/u16-chr.c: New file.
72439         * lib/unistr/u32-chr.c: New file.
72440
72441         * modules/unistr/u8-cmp: New file.
72442         * modules/unistr/u16-cmp: New file.
72443         * modules/unistr/u32-cmp: New file.
72444         * lib/unistr/u8-cmp.c: New file.
72445         * lib/unistr/u16-cmp.c: New file.
72446         * lib/unistr/u32-cmp.c: New file.
72447
72448         * modules/unistr/u8-cpy: New file.
72449         * modules/unistr/u16-cpy: New file.
72450         * modules/unistr/u32-cpy: New file.
72451         * lib/unistr/u8-cpy.c: New file.
72452         * lib/unistr/u16-cpy.c: New file.
72453         * lib/unistr/u32-cpy.c: New file.
72454         * lib/unistr/u-cpy.h: New file.
72455
72456         * modules/unistr/u8-cpy-alloc: New file.
72457         * modules/unistr/u16-cpy-alloc: New file.
72458         * modules/unistr/u32-cpy-alloc: New file.
72459         * lib/unistr/u8-cpy-alloc.c: New file.
72460         * lib/unistr/u16-cpy-alloc.c: New file.
72461         * lib/unistr/u32-cpy-alloc.c: New file.
72462         * lib/unistr/u-cpy-alloc.h: New file.
72463
72464         * modules/unistr/u8-endswith: New file.
72465         * modules/unistr/u16-endswith: New file.
72466         * modules/unistr/u32-endswith: New file.
72467         * lib/unistr/u8-endswith.c: New file.
72468         * lib/unistr/u16-endswith.c: New file.
72469         * lib/unistr/u32-endswith.c: New file.
72470         * lib/unistr/u-endswith.h: New file.
72471
72472         * modules/unistr/u8-mblen: New file.
72473         * modules/unistr/u16-mblen: New file.
72474         * modules/unistr/u32-mblen: New file.
72475         * lib/unistr/u8-mblen.c: New file.
72476         * lib/unistr/u16-mblen.c: New file.
72477         * lib/unistr/u32-mblen.c: New file.
72478
72479         * modules/unistr/u8-mbtouc: New file.
72480         * modules/unistr/u16-mbtouc: New file.
72481         * modules/unistr/u32-mbtouc: New file.
72482         * lib/unistr/u8-mbtouc.c: New file.
72483         * lib/unistr/u16-mbtouc.c: New file.
72484         * lib/unistr/u32-mbtouc.c: New file.
72485
72486         * modules/unistr/u8-mbtouc-safe: New file.
72487         * modules/unistr/u16-mbtouc-safe: New file.
72488         * modules/unistr/u32-mbtouc-safe: New file.
72489         * lib/unistr/u8-mbtouc-safe.c: New file.
72490         * lib/unistr/u16-mbtouc-safe.c: New file.
72491         * lib/unistr/u32-mbtouc-safe.c: New file.
72492
72493         * modules/unistr/u8-move: New file.
72494         * modules/unistr/u16-move: New file.
72495         * modules/unistr/u32-move: New file.
72496         * lib/unistr/u8-move.c: New file.
72497         * lib/unistr/u16-move.c: New file.
72498         * lib/unistr/u32-move.c: New file.
72499         * lib/unistr/u-move.h: New file.
72500
72501         * modules/unistr/u8-next: New file.
72502         * modules/unistr/u16-next: New file.
72503         * modules/unistr/u32-next: New file.
72504         * lib/unistr/u8-next.c: New file.
72505         * lib/unistr/u16-next.c: New file.
72506         * lib/unistr/u32-next.c: New file.
72507
72508         * modules/unistr/u8-prev: New file.
72509         * modules/unistr/u16-prev: New file.
72510         * modules/unistr/u32-prev: New file.
72511         * lib/unistr/u8-prev.c: New file.
72512         * lib/unistr/u16-prev.c: New file.
72513         * lib/unistr/u32-prev.c: New file.
72514
72515         * modules/unistr/u8-set: New file.
72516         * modules/unistr/u16-set: New file.
72517         * modules/unistr/u32-set: New file.
72518         * lib/unistr/u8-set.c: New file.
72519         * lib/unistr/u16-set.c: New file.
72520         * lib/unistr/u32-set.c: New file.
72521         * lib/unistr/u-set.h: New file.
72522
72523         * modules/unistr/u8-startswith: New file.
72524         * modules/unistr/u16-startswith: New file.
72525         * modules/unistr/u32-startswith: New file.
72526         * lib/unistr/u8-startswith.c: New file.
72527         * lib/unistr/u16-startswith.c: New file.
72528         * lib/unistr/u32-startswith.c: New file.
72529         * lib/unistr/u-startswith.h: New file.
72530
72531         * modules/unistr/u8-stpcpy: New file.
72532         * modules/unistr/u16-stpcpy: New file.
72533         * modules/unistr/u32-stpcpy: New file.
72534         * lib/unistr/u8-stpcpy.c: New file.
72535         * lib/unistr/u16-stpcpy.c: New file.
72536         * lib/unistr/u32-stpcpy.c: New file.
72537         * lib/unistr/u-stpcpy.h: New file.
72538
72539         * modules/unistr/u8-stpncpy: New file.
72540         * modules/unistr/u16-stpncpy: New file.
72541         * modules/unistr/u32-stpncpy: New file.
72542         * lib/unistr/u8-stpncpy.c: New file.
72543         * lib/unistr/u16-stpncpy.c: New file.
72544         * lib/unistr/u32-stpncpy.c: New file.
72545         * lib/unistr/u-stpncpy.h: New file.
72546
72547         * modules/unistr/u8-strcat: New file.
72548         * modules/unistr/u16-strcat: New file.
72549         * modules/unistr/u32-strcat: New file.
72550         * lib/unistr/u8-strcat.c: New file.
72551         * lib/unistr/u16-strcat.c: New file.
72552         * lib/unistr/u32-strcat.c: New file.
72553         * lib/unistr/u-strcat.h: New file.
72554
72555         * modules/unistr/u8-strchr: New file.
72556         * modules/unistr/u16-strchr: New file.
72557         * modules/unistr/u32-strchr: New file.
72558         * lib/unistr/u8-strchr.c: New file.
72559         * lib/unistr/u16-strchr.c: New file.
72560         * lib/unistr/u32-strchr.c: New file.
72561
72562         * modules/unistr/u8-strcmp: New file.
72563         * modules/unistr/u16-strcmp: New file.
72564         * modules/unistr/u32-strcmp: New file.
72565         * lib/unistr/u8-strcmp.c: New file.
72566         * lib/unistr/u16-strcmp.c: New file.
72567         * lib/unistr/u32-strcmp.c: New file.
72568
72569         * modules/unistr/u8-strcpy: New file.
72570         * modules/unistr/u16-strcpy: New file.
72571         * modules/unistr/u32-strcpy: New file.
72572         * lib/unistr/u8-strcpy.c: New file.
72573         * lib/unistr/u16-strcpy.c: New file.
72574         * lib/unistr/u32-strcpy.c: New file.
72575         * lib/unistr/u-strcpy.h: New file.
72576
72577         * modules/unistr/u8-strcspn: New file.
72578         * modules/unistr/u16-strcspn: New file.
72579         * modules/unistr/u32-strcspn: New file.
72580         * lib/unistr/u8-strcspn.c: New file.
72581         * lib/unistr/u16-strcspn.c: New file.
72582         * lib/unistr/u32-strcspn.c: New file.
72583         * lib/unistr/u-strcspn.h: New file.
72584
72585         * modules/unistr/u8-strdup: New file.
72586         * modules/unistr/u16-strdup: New file.
72587         * modules/unistr/u32-strdup: New file.
72588         * lib/unistr/u8-strdup.c: New file.
72589         * lib/unistr/u16-strdup.c: New file.
72590         * lib/unistr/u32-strdup.c: New file.
72591         * lib/unistr/u-strdup.h: New file.
72592
72593         * modules/unistr/u8-strlen: New file.
72594         * modules/unistr/u16-strlen: New file.
72595         * modules/unistr/u32-strlen: New file.
72596         * lib/unistr/u8-strlen.c: New file.
72597         * lib/unistr/u16-strlen.c: New file.
72598         * lib/unistr/u32-strlen.c: New file.
72599         * lib/unistr/u-strlen.h: New file.
72600
72601         * modules/unistr/u8-strmblen: New file.
72602         * modules/unistr/u16-strmblen: New file.
72603         * modules/unistr/u32-strmblen: New file.
72604         * lib/unistr/u8-strmblen.c: New file.
72605         * lib/unistr/u16-strmblen.c: New file.
72606         * lib/unistr/u32-strmblen.c: New file.
72607
72608         * modules/unistr/u8-strmbtouc: New file.
72609         * modules/unistr/u16-strmbtouc: New file.
72610         * modules/unistr/u32-strmbtouc: New file.
72611         * lib/unistr/u8-strmbtouc.c: New file.
72612         * lib/unistr/u16-strmbtouc.c: New file.
72613         * lib/unistr/u32-strmbtouc.c: New file.
72614
72615         * modules/unistr/u8-strncat: New file.
72616         * modules/unistr/u16-strncat: New file.
72617         * modules/unistr/u32-strncat: New file.
72618         * lib/unistr/u8-strncat.c: New file.
72619         * lib/unistr/u16-strncat.c: New file.
72620         * lib/unistr/u32-strncat.c: New file.
72621         * lib/unistr/u-strncat.h: New file.
72622
72623         * modules/unistr/u8-strncmp: New file.
72624         * modules/unistr/u16-strncmp: New file.
72625         * modules/unistr/u32-strncmp: New file.
72626         * lib/unistr/u8-strncmp.c: New file.
72627         * lib/unistr/u16-strncmp.c: New file.
72628         * lib/unistr/u32-strncmp.c: New file.
72629
72630         * modules/unistr/u8-strncpy: New file.
72631         * modules/unistr/u16-strncpy: New file.
72632         * modules/unistr/u32-strncpy: New file.
72633         * lib/unistr/u8-strncpy.c: New file.
72634         * lib/unistr/u16-strncpy.c: New file.
72635         * lib/unistr/u32-strncpy.c: New file.
72636         * lib/unistr/u-strncpy.h: New file.
72637
72638         * modules/unistr/u8-strnlen: New file.
72639         * modules/unistr/u16-strnlen: New file.
72640         * modules/unistr/u32-strnlen: New file.
72641         * lib/unistr/u8-strnlen.c: New file.
72642         * lib/unistr/u16-strnlen.c: New file.
72643         * lib/unistr/u32-strnlen.c: New file.
72644         * lib/unistr/u-strnlen.h: New file.
72645
72646         * modules/unistr/u8-strpbrk: New file.
72647         * modules/unistr/u16-strpbrk: New file.
72648         * modules/unistr/u32-strpbrk: New file.
72649         * lib/unistr/u8-strpbrk.c: New file.
72650         * lib/unistr/u16-strpbrk.c: New file.
72651         * lib/unistr/u32-strpbrk.c: New file.
72652         * lib/unistr/u-strpbrk.h: New file.
72653
72654         * modules/unistr/u8-strrchr: New file.
72655         * modules/unistr/u16-strrchr: New file.
72656         * modules/unistr/u32-strrchr: New file.
72657         * lib/unistr/u8-strrchr.c: New file.
72658         * lib/unistr/u16-strrchr.c: New file.
72659         * lib/unistr/u32-strrchr.c: New file.
72660
72661         * modules/unistr/u8-strspn: New file.
72662         * modules/unistr/u16-strspn: New file.
72663         * modules/unistr/u32-strspn: New file.
72664         * lib/unistr/u8-strspn.c: New file.
72665         * lib/unistr/u16-strspn.c: New file.
72666         * lib/unistr/u32-strspn.c: New file.
72667         * lib/unistr/u-strspn.h: New file.
72668
72669         * modules/unistr/u8-strstr: New file.
72670         * modules/unistr/u16-strstr: New file.
72671         * modules/unistr/u32-strstr: New file.
72672         * lib/unistr/u8-strstr.c: New file.
72673         * lib/unistr/u16-strstr.c: New file.
72674         * lib/unistr/u32-strstr.c: New file.
72675         * lib/unistr/u-strstr.h: New file.
72676
72677         * modules/unistr/u8-strtok: New file.
72678         * modules/unistr/u16-strtok: New file.
72679         * modules/unistr/u32-strtok: New file.
72680         * lib/unistr/u8-strtok.c: New file.
72681         * lib/unistr/u16-strtok.c: New file.
72682         * lib/unistr/u32-strtok.c: New file.
72683         * lib/unistr/u-strtok.h: New file.
72684
72685         * modules/unistr/u8-uctomb: New file.
72686         * modules/unistr/u16-uctomb: New file.
72687         * modules/unistr/u32-uctomb: New file.
72688         * lib/unistr/u8-uctomb.c: New file.
72689         * lib/unistr/u16-uctomb.c: New file.
72690         * lib/unistr/u32-uctomb.c: New file.
72691
72692         * MODULES.html.sh (Unicode string functions): Add the new modules.
72693
72694 2007-01-08  Bruno Haible  <bruno@clisp.org>
72695
72696         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72697         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72698         subdirectories.
72699
72700 2007-01-08  Karl Berry  <karl@gnu.org>
72701
72702         * doc/error.texi: mention that main() fns must set program_name
72703         when progname is used.
72704
72705 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72706
72707         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72708         WCTYPE_H is empty, for the benefit of builds from non-distclean
72709         directories.  Problem reported by Eric Blake in
72710         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72711
72712 2007-01-08  Bruno Haible  <bruno@clisp.org>
72713
72714         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72715         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72716         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72717         PROVIDE_CANONICALIZE_FILENAME_MODE.
72718         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72719
72720 2007-01-08  Bruno Haible  <bruno@clisp.org>
72721
72722         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72723         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72724         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72725         * lib/fts.c: Likewise.
72726         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72727
72728 2006-12-25  Bruno Haible  <bruno@clisp.org>
72729
72730         * modules/utf8-ucs4-safe: New file.
72731         * lib/utf8-ucs4-safe.h: New file.
72732         * lib/unistr/utf8-ucs4-safe.c: New file.
72733
72734         * modules/utf16-ucs4-safe: New file.
72735         * lib/utf16-ucs4-safe.h: New file.
72736         * lib/unistr/utf16-ucs4-safe.c: New file.
72737
72738         * MODULES.html.sh (Unicode string functions): Add the new modules.
72739
72740 2007-01-08  Bruno Haible  <bruno@clisp.org>
72741
72742         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72743         (Depends-on): Add unitypes.
72744         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72745         (u8_mbtouc_aux): Move out to separate file.
72746         (u8_mbtouc): Use ucs4_t, uint8_t types.
72747         * lib/unistr/utf8-ucs4.c: New file.
72748
72749         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72750         (Depends-on): Add unitypes.
72751         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72752         (u16_mbtouc_aux): Move out to separate file.
72753         (u16_mbtouc): Use ucs4_t, uint16_t types.
72754         * lib/unistr/utf16-ucs4.c: New file.
72755
72756         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72757         (Depends-on): Add unitypes.
72758         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72759         (u8_uctomb_aux): Move out to separate file.
72760         (u8_uctomb): Use ucs4_t, uint8_t types.
72761         * lib/unistr/ucs4-utf8.c: New file.
72762
72763         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72764         (Depends-on): Add unitypes.
72765         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72766         (u16_uctomb_aux): Move out to separate file.
72767         (u16_uctomb): Use ucs4_t, uint16_t types.
72768         * lib/unistr/ucs4-utf16.c: New file.
72769
72770 2006-12-25  Bruno Haible  <bruno@clisp.org>
72771
72772         * modules/unitypes: New file.
72773         * lib/unitypes.h: New file.
72774         * MODULES.html.sh (func_all_modules): New section "Unicode string
72775         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72776         this section. Add unitypes.
72777
72778 2007-01-08  Bruno Haible  <bruno@clisp.org>
72779
72780         Avoid variable names that conflict with those from libtool.
72781         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72782         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72783         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72784         library_names_spec to acl_library_names_spec, hardcode_* to
72785         acl_hardcode_*.
72786         Reported by Ralf Wildenhues.
72787
72788 2007-01-08  Bruno Haible  <bruno@clisp.org>
72789
72790         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72791         definition.
72792         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72793         definition.
72794         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72795         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72796         definition.
72797         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72798         definition.
72799         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72800         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72801         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72802         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72803         definition.
72804         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72805         definition.
72806         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72807         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72808         GC_USE_<algorithm>.
72809         * lib/gc-libgcrypt.c: Likewise.
72810         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72811         * modules/gc-arctwo (configure.ac): Likewise.
72812         * modules/gc-des (configure.ac): Likewise.
72813         * modules/gc-hmac-md5 (configure.ac): Likewise.
72814         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72815         * modules/gc-md2 (configure.ac): Likewise.
72816         * modules/gc-md4 (configure.ac): Likewise.
72817         * modules/gc-md5 (configure.ac): Likewise.
72818         * modules/gc-random (configure.ac): Likewise.
72819         * modules/gc-rijndael (configure.ac): Likewise.
72820         * modules/gc-sha1 (configure.ac): Likewise.
72821
72822 2007-01-08  Bruno Haible  <bruno@clisp.org>
72823
72824         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72825         macro definition.
72826         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72827         definition.
72828         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72829         definition.
72830         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72831         * modules/fcntl-safer (configure.ac): Likewise.
72832         * modules/fopen-safer (configure.ac): Likewise.
72833         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72834         GNULIB_FWRITEERROR macro definition.
72835
72836 2007-01-08  Bruno Haible  <bruno@clisp.org>
72837
72838         * m4/gnulib-common.m4: New file.
72839         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72840         (func_get_filelist): Add m4/gnulib-common.m4.
72841
72842 2007-01-08  Bruno Haible  <bruno@clisp.org>
72843
72844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72845         command.
72846
72847 2007-01-08  Jim Meyering  <jim@meyering.net>
72848
72849         Use a more robust test for a "can't happen" condition.
72850         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72851         narrowed the st_size value.  Presuming the "can't happen" condition
72852         is true, that narrowing could conceivably convert an invalid st_size
72853         value into a valid one.  Instead, use a change based on Matthew
72854         Woehlke's original patch.
72855
72856         Slight readability improvement: use an assert-like macro
72857         in place of literal "abort ()" uses.
72858         * lib/fts.c (fts_assert): Define.
72859         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72860         Use this macro instead of a bare 'abort'.
72861
72862 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72863
72864         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72865         simply work around them.
72866         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72867         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72868         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72869         declaring.
72870         Don't bother to define as macros, since the standard doesn't require it.
72871         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72872         longer worry about IRIX 5.3.
72873         (HAVE_WCTYPE_CTMP_BUG): Remove.
72874
72875 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72876
72877         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72878         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72879         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72880         Problems reported by Georg Schwarz for IRIX 5.3.
72881
72882         * gnulib-tool (autoconf_minversion): Take the maximum version number
72883         found, not the minimum.  Problem reported by James Youngman.
72884
72885 2007-01-03  Karl Berry  <karl@gnu.org>
72886
72887         * doc/error.texi: new file, explaining interaction with progname.
72888         * doc/gnulib.texi: include it.  Update copyright.
72889
72890 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72891
72892         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72893         AC_CANONICAL_HOST, to improve autobuild outputs.
72894
72895 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72896             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72897
72898         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72899         sockets, server sockets, and other file descriptors.  Count errors
72900         to compute the return value.  Reorder the code a bit to be easier
72901         to follow.  Don't set event bits that were not requested (except
72902         POLLERR and POLLHUP).
72903
72904 2007-01-01  Bruno Haible  <bruno@clisp.org>
72905
72906         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72907
72908 2007-01-03  Jim Meyering  <jim@meyering.net>
72909
72910         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72911
72912 2007-01-02  Bruno Haible  <bruno@clisp.org>
72913
72914         * modules/settime (Include): Require timespec.h.
72915         * modules/nanosleep (Include): Likewise.
72916
72917 2007-01-01  Bruno Haible  <bruno@clisp.org>
72918
72919         * gnulib-tool (func_emit_copyright_notice): Bump year.
72920         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72921
72922 2007-01-01  Bruno Haible  <bruno@clisp.org>
72923
72924         Improve support for OpenBSD.
72925         * build-aux/config.rpath (libname_spec): Export.
72926         (library_names_spec): New variable. Export.
72927         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72928         library_names_spec from the config.rpath output. Locate shared library
72929         through the name pattern in library_names_spec.
72930
72931 2007-01-01  Eric Blake  <ebb9@byu.net>
72932
72933         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72934
72935 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72938         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72939         assume the C locale, and avoid an "eval" that could cause trouble.
72940         Problem with SORT reported by Bob Proulx.
72941
72942         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72943         Define.  Trivial patch from Henning Nielsen Lund, originally
72944         sent to bug-grep@gnu.org today.
72945
72946 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72947
72948         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72949         struct stat.  Problem reported by Henning Nielsen Lund.
72950         * lib/acl.c: Include acl.h first, to check interface.  Don't
72951         bother to include sys/types.h and sys/stat.h again.
72952
72953 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72954
72955         Import the following change from libc; problem reported by
72956         Sven Verdoolaege.
72957
72958         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72959
72960         [BZ #1373]
72961         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72962
72963 2006-12-28  Jim Meyering  <jim@meyering.net>
72964
72965         * build-aux/announce-gen: Do not assume that the package
72966         builds any of tar.gz, tar.bz2, and .xdelta files.
72967         Suggestion from Simon Josefsson.
72968
72969 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72970
72971         * modules/announce-gen: New file.
72972
72973 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72974
72975         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72976         handles its gotchas now.
72977         * lib/mbswidth.c: Likewise.
72978         * lib/wcwidth.h: Likewise.
72979         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72980         and iswcntrl; the wctype module does this stuff now.
72981         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72982         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72983         * modules/mbchar (Depends-on): Add wctype.
72984         * modules/mbswidth (Depends-on): Likewise.
72985         * modules/wcwidth (Depends-on): Likewise.
72986
72987 2006-12-27  Eric Blake  <ebb9@byu.net>
72988
72989         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72990         module uses more than what <wctype.h> is required to provide.
72991
72992 2006-12-26  Eric Blake  <ebb9@byu.net>
72993
72994         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72995
72996 2006-12-26  Eric Blake  <ebb9@byu.net>
72997
72998         * modules/absolute-header: New module.
72999         * modules/fcntl (Depends-on): Depend on it.
73000         * modules/inttypes (Depends-on): Likewise.
73001         * modules/stdint (Depends-on): Likewise.
73002         * modules/sys_stat (Depends-on): Likewise.
73003         * modules/wctype (Depends-on): Likewise.
73004         * MODULES.html.sh (Support for building libraries and
73005         executables): Document it.
73006
73007 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
73008
73009         * gnulib-tool (SED): Remove, undoing previous change.
73010         The problem was that it broke coreutils on Solaris, because
73011         "sed --posix" leaked into a makefile.
73012         (sed): New alias, if 'alias' and GNU sed.
73013
73014 2006-12-24  Jim Meyering  <jim@meyering.net>
73015
73016         Work around an fchownat bug in glibc-2.4:
73017         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
73018         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
73019         in spite of the -P option.
73020         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
73021         New macros.
73022         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
73023         * modules/openat (Files): Add lib/fchownat.c.
73024         * lib/openat.c (fchownat): Don't define here.  Move to...
73025         * lib/fchownat.c: ...this new file.
73026
73027 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73028
73029         Fix bug reported by Bruno Haible in
73030         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
73031         where quotearg.c didn't compile on Mac OS X 10.2 because it
73032         lacks <wchar.h> and wint_t.
73033         * lib/wctype_.h (__wctype_wint_t): New type.
73034         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
73035         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
73036         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
73037         Arg is now of type __wctype_wint_t, not wint_t.
73038         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
73039         substitute HAVE_WINT_T.
73040         * modules/wctype (Files): Add m4/wint_t.m4.
73041         (wctype.h): Substitute HAVE_WINT_T.
73042
73043 2006-12-23  Bruno Haible  <bruno@clisp.org>
73044
73045         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
73046
73047 2006-12-23  Bruno Haible  <bruno@clisp.org>
73048
73049         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
73050         S_ISLNK.
73051         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
73052         mingw.
73053
73054 2006-12-22  Bruno Haible  <bruno@clisp.org>
73055
73056         * lib/copy-file.c: Include acl.h.
73057         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
73058         Close the file descriptors only after being done with copy_acl.
73059         * modules/copy-file (Depends-on): Add acl.
73060
73061 2006-12-22  Bruno Haible  <bruno@clisp.org>
73062
73063         * gnulib-tool (SED): New variable.
73064         Use $SED instead of sed everywhere.
73065
73066 2006-12-22  Bruno Haible  <bruno@clisp.org>
73067
73068         * modules/no-c++: New file.
73069         * m4/no-c++.m4: New file.
73070         * MODULES.html.sh (Support for building libraries and executables):
73071         Add no-c++.
73072
73073 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
73074
73075         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73076         Include <limits.h>, and use its INT_MAX to rewrite the
73077         j loop so that it does not overflow 'int'.  Problem reported by
73078         Ralf Wildenhues in
73079         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
73080         Play it safe by shifting left by 1 rather than multiplying by 2,
73081         as GCC is less likely to optimize this away when the value
73082         is signed (when it assumes overflow leads to undefined behavior).
73083         Also, don't assume time_t uses two's complement.
73084
73085 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
73086
73087         * MODULES.html.sh: New module wctype.
73088         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
73089         * lib/fnmatch.c: Don't bother to include <wchar.h> before
73090         <wctype.h>, since the new wctype module should fix this.
73091         * lib/quotearg.c: Include <wctype.h> unconditionally, since
73092         the wctype module should arrange for it.
73093         * lib/regex_internal.h: Likewise.
73094         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
73095         since the wctype module should handle this now.
73096         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
73097         * modules/fnmatch (Depends-on): Add wctype.
73098         * modules/quotearg (Depends-on): Likewise.
73099         * modules/regex (Depends-on): Likewise.
73100
73101 2006-12-19  Bruno Haible  <bruno@clisp.org>
73102
73103         * lib/strdup.h [C++]: Wrap definitions in extern "C".
73104         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
73105
73106 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73107
73108         * modules/savewd (Depends-on): Fix dependency on fcntl.
73109
73110 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73111
73112         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
73113         conforms to C99, rather than relying on the user's environment
73114         setting of STDINT_H.
73115
73116 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73117         and Eric Blake  <ebb9@byu.net>
73118
73119         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
73120         This is more consistent with the other defines here.
73121         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
73122         Port to z/OS.  Problem reported by Paul Gilmartin.
73123         Change local vars to use gl_ prefix rather than ac_.
73124         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
73125         with other defines.
73126         * modules/double-slash-root: New module.
73127         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73128         (Depends-on): Add double-slash-root.
73129         * MODULES.html.sh (File system functions): Mention new module.
73130
73131 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73132
73133         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73134         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73135         This is for the benefit of gzip, which doesn't do i18n.
73136
73137 2006-12-12  Jim Meyering  <jim@meyering.net>
73138
73139         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73140         Reported by Andreas Schwab <schwab@suse.de>.
73141
73142 2006-12-12  Bruno Haible  <bruno@clisp.org>
73143
73144         Merge these changes.
73145         2006-09-05  Bruno Haible  <bruno@clisp.org>
73146         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73147         iconv_alloc succeeded.
73148         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73149         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73150         test for " && dest " at the end - dest is always != NULL there. Call
73151         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73152         with 2xNULL arguments, also to flush the state storage. Handle the
73153         IRIX iconv behaviour. Realloc the final result, to throw away unused
73154         memory.
73155
73156 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73157
73158         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73159         and fchmodat unconditionally, since glibc 2.4 has them.
73160         Problem reported by Arkadiusz Miskiewicz.
73161
73162 2006-12-10  Bruno Haible  <bruno@clisp.org>
73163
73164         * gnulib-tool (func_import): Show the include files only for those
73165         modules that are copied and specified.
73166         Reported by Karl Berry.
73167
73168 2006-12-08  Jim Meyering  <jim@meyering.net>
73169
73170         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73171         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73172
73173         * build-aux/announce-gen: Add two new options, both optional:
73174         --bootstrap-tools=TOOL_LIST
73175               a comma-separated list of tools, e.g.,
73176               autoconf,automake,bison,gnulib
73177         --gnulib-snapshot-date=DATE
73178               if gnulib is in the bootstrap tool list,
73179               then report this as the snapshot date.
73180               If not specified, use the current date/time.
73181               If you specify a date here, be sure it's UTC.
73182
73183 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73184
73185         * tests/test-argp-2.sh: Fix test to match actual output.
73186         (func_compare): Fix sed script to be portable.
73187
73188 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73189
73190         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73191         workaround for this case.  It is not autoconfigured now; offhand
73192         it's hard to see how to autoconfigure it.
73193
73194 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73195
73196         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73197         a directory that is about to be chowned.  Such a directory's
73198         initial file permissions should permit the owner only and this
73199         should not be changed until after the chown, since the group and
73200         other bits would be incorrect if they granted permission before
73201         the chown.
73202
73203         Fix porting problem for iswctype reported by Georg Schwarz in:
73204         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73205         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73206         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73207         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73208         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73209
73210 2006-12-03  Jim Meyering  <jim@meyering.net>
73211
73212         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73213         p->fts_statp may not yet be defined.
73214         (fts_read): Instead, set it in the caller, once p->fts_statp is
73215         sure to be defined, and corresponds to a top-level directory.
73216         This bug made du -x fail.  Here's the coreutils test case:
73217         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73218         Reported by Mike Frysinger.
73219
73220 2006-12-01  Jim Meyering  <jim@meyering.net>
73221
73222         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73223         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73224         Reported by Simon Josefsson.
73225
73226 2006-11-30  Jim Meyering  <jim@meyering.net>
73227
73228         * m4/warning.m4: Use the all-permissive copyright notice
73229         recommended by RMS (rather than LGPL).
73230         * m4/vararrays.m4: Likewise.
73231         * m4/flexmember.m4: Likewise.
73232
73233 2006-11-29  Bruno Haible  <bruno@clisp.org>
73234
73235         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73236         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73237         using +=.
73238         Reported by Simon Josefsson <simon@josefsson.org>.
73239
73240 2006-11-28  James Youngman <jay@gnu.org>
73241
73242         * README: Advise users that they might find the bug-gnulib@gnu.org
73243         and autotools-announce@gnu.org mailing lists useful.
73244
73245 2006-11-28  Bruno Haible  <bruno@clisp.org>
73246
73247         * m4/ptrdiff_max.m4: Remove file.
73248
73249 2006-11-21  Bruno Haible  <bruno@clisp.org>
73250
73251         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73252         _AC_COMPUTE_INT.
73253         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73254         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73255         _AC_COMPUTE_INT.
73256         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73257         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73258         _AC_COMPUTE_INT.
73259         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73260
73261 2006-11-28  Jim Meyering  <jim@meyering.net>
73262
73263         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73264         warning from "gcc -Wshadow" about shadowing the builtin.
73265
73266 2006-11-27  Bruno Haible  <bruno@clisp.org>
73267
73268         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73269         _AC_COMPUTE_INT.
73270         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73271
73272 2006-11-27  Bruno Haible  <bruno@clisp.org>
73273             Paul Eggert  <eggert@cs.ucla.edu>
73274
73275         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73276
73277 2006-11-26  Bruno Haible  <bruno@clisp.org>
73278
73279         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73280         noinst_LTLIBRARIES.
73281
73282 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73283             Bruno Haible  <bruno@clisp.org>
73284
73285         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73286         if compiling with "gcc -ansi".
73287
73288 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73289
73290         Fix some incompatibilities with gcc -ansi -pedantic.
73291         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73292         if compiling pedantically with GCC, unless it's C99 or later.
73293         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73294         it mishandles gcc -ansi -pedantic as well.
73295         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73296         if gcc -pedantic.
73297         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73298         initializers for struct if -pedantic, unless it's C99 or later.
73299
73300 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73301
73302         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73303         Don't close an fd more than once. Identical atimes indicate
73304         success, not failure.
73305
73306 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73307
73308         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73309
73310 2006-11-23  Jim Meyering  <jim@meyering.net>
73311
73312         * build-aux/announce-gen: New file.  From coreutils.
73313
73314 2006-11-22  Jim Meyering  <jim@meyering.net>
73315
73316         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73317         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73318         (fts_read): Use a temporary to narrow the overused st_size member
73319         before using it in a switch statement.  Reported by Matthew Woehlke.
73320
73321         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73322         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73323
73324 2006-11-20  Bruno Haible  <bruno@clisp.org>
73325
73326         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73327         changequote instead of pairs of brackets.
73328         Reported by Andreas Schwab <schwab@suse.de>.
73329
73330 2006-11-21  Jim Meyering  <jim@meyering.net>
73331
73332         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73333         so as to remain compatible with older compilers.
73334         Patch from Michael Deutschmann.
73335
73336 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73337
73338         * MODULES.html.sh (File system functions): Add openat.
73339
73340         * lib/openat.h (rpl_fstatat): New macro, if
73341         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73342         (fstatat): Define to rpl_fstatat under the same conditions,
73343         unless COMPILING_FSTATAT.
73344         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73345         seems to have the bug.
73346         * lib/fstatat.c: New file.
73347         * modules/openat (Files): Add it.
73348
73349 2006-11-20  Bruno Haible  <bruno@clisp.org>
73350
73351         * Makefile: New file.
73352
73353 2006-11-20  Jim Meyering  <jim@meyering.net>
73354
73355         The beginnings of syntax-related checks for gnulib.
73356         * lib/Makefile: New file.
73357         * lib/t-idcache: New script.  Ensure that the two halves of
73358         idcache.c stay in sync.
73359
73360         * lib/idcache.c: Adjust comments in user- and group- portions to
73361         be more accurate, and to be consistent with one another.
73362
73363 2006-11-20  Jim Meyering  <jim@meyering.net>
73364
73365         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73366         continue using the flexible array member (thus, this module performs
73367         half as many malloc calls), with the addition that...
73368         (getgroup, getuser): Consistently record a non-match via an empty
73369         "name" string, and map an empty string match to a NULL return value.
73370         * modules/idcache (Depends-on): Re-add flexmember.
73371
73372         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73373         (getuidbyname, getgroup, getgidbyname): Likewise.
73374
73375         Use cleaner syntax: NULL rather than 0.
73376         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73377
73378 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73379
73380         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73381         It mishandled the case where the group was missing.
73382         Problem reported by Greg Schafer.
73383         * modules/idcache: Likewise.
73384
73385 2006-11-18  Jim Meyering  <jim@meyering.net>
73386
73387         * check-module (%exempt_header): Add exception for some
73388         conditionally-included headers.
73389
73390         * modules/i-ring (Depends-on): Add verify.
73391         (License): Change to LGPL.
73392
73393 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73394
73395         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73396         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73397         and inttostr.h.  Use snprintf rather than uinttostr, so that
73398         LGPLed code doesn't depend on GPLed.
73399
73400 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73401
73402         * modules/inline (License): Change from GPL to LGPL.
73403
73404 2006-11-17  Jim Meyering  <jim@meyering.net>
73405
73406         * modules/d-type (License): Switch to LGPL.
73407
73408 2006-11-15  Bruno Haible  <bruno@clisp.org>
73409
73410         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73411
73412 2006-11-15  Eric Blake  <ebb9@byu.net>
73413
73414         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73415         the module dependency.
73416
73417 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73418             Bruno Haible  <bruno@clisp.org>
73419
73420         * gnulib-tool (func_create_testdir): Add license consistency check.
73421
73422 2006-11-15  Eric Blake  <ebb9@byu.net>
73423
73424         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
73425         random "(cached)" in configure output.
73426
73427 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73428
73429         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
73430         test for conforming inttypes.h is both announced and cached.
73431
73432         * MODULES.html.sh (seen_modules, seen_files): New variables.
73433         (func_module): Rewrite to use a few less gnulib-tool and sed
73434         invocations.  Avoid a couple of quadratic algorithms for ...
73435         (missed_modules, missed_files): ... these, with ...
73436         (func_append, func_tmpdir): ... these new functions, from
73437         gnulib-tool.  Analogously, install traps for cleanup.
73438
73439         * tests/test-gc.c (main): Remove unused variables.
73440         * tests/test-read-file.c: Include stdlib.h, for 'free'.
73441
73442 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
73443
73444         * modules/inttostr (License): Change to LGPL.
73445
73446 2006-11-14  Eric Blake  <ebb9@byu.net>
73447
73448         * modules/tempname (License): Change to LGPL.
73449
73450 2006-11-14  Eric Blake  <ebb9@byu.net>
73451
73452         * doc/functions.texi (Function Portability): *printf functions on
73453         Cygwin now understand all POSIX size specifiers.
73454
73455 2006-11-14  Bruno Haible  <bruno@clisp.org>
73456
73457         * modules/c-ctype (License): Change to LGPL.
73458
73459 2006-11-12  Bruno Haible  <bruno@clisp.org>
73460
73461         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73462         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73463         for GNOME libraries, for which the include files are installed in
73464         subdirectories of $prefix/include.
73465
73466 2006-11-12  Bruno Haible  <bruno@clisp.org>
73467
73468         * m4/lib-link.m4: Require at least autoconf-2.54.
73469         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73470         name to underscores for the --with option.
73471
73472 2006-11-13  Bruno Haible  <bruno@clisp.org>
73473
73474         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73475         the tests directory.
73476         Reported by Ralf Wildenhues.
73477
73478 2006-11-13  Bruno Haible  <bruno@clisp.org>
73479
73480         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73481         (func_emit_initmacro_end): Undo the override here.
73482         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73483         Works around the famous automake error in coreutils.
73484
73485 2006-11-13  Eric Blake  <ebb9@byu.net>
73486
73487         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73488         element, not its node.
73489
73490 2006-11-12  Bruno Haible  <bruno@clisp.org>
73491
73492         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73493         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73494
73495 2006-11-12  Bruno Haible  <bruno@clisp.org>
73496
73497         * gnulib-tool: New option --local-symlink.
73498         (func_usage): Document it.
73499         (lsymbolic): New variable.
73500         (func_import, func_create_testdir): If --symlink was not specified,
73501         test whether --local-symlink was specified and the file comes from
73502         the local_gnulib_dir.
73503
73504 2006-11-12  Bruno Haible  <bruno@clisp.org>
73505
73506         * gnulib-tool (func_ln): New function.
73507         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73508
73509 2006-11-12  Bruno Haible  <bruno@clisp.org>
73510
73511         Finish support for source files in subdirectories.
73512         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73513         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73514         AUTOMAKE_OPTIONS.
73515         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73516
73517 2006-11-12  Bruno Haible  <bruno@clisp.org>
73518
73519         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73520         EXTRA_lib_SOURCES augmentation.
73521         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73522
73523 2006-11-12  Jim Meyering  <jim@meyering.net>
73524
73525         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73526         file descriptors.  This also averts a failure on systems with
73527         native openat support when a traversed directory lacks "x" access.
73528         * lib/fts_.h: Include "i-ring.h"
73529         (struct FTS) [fts_fd_ring]: New member.
73530         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73531         (FCHDIR): Add parentheses.
73532         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73533         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73534         When descending, rather than simply closing the previous
73535         fts_cwd_fd value, push that file descriptor onto the ring.
73536         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73537         (fts_open): Initialize the new fd_ring member.
73538         (fts_close): Clear the ring.
73539         (fts_safe_changedir): When possible, use our new fd_ring to skip
73540         the diropen and fstat and dev/ino comparison that would normally
73541         accompany a virtual `chdir ("..")'.
73542
73543         * modules/fts (Depends-on): Add i-ring.
73544         * modules/i-ring: New module.
73545         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73546         * m4/i-ring.m4: New file.
73547
73548 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73549
73550         * gnulib-tool (func_create_testdir): Fix replacement of
73551         `build-aux' in configure.ac.  Run autotools in gltests
73552         subdirectory.
73553         (func_create_testdir, func_create_megatestdir, test): There is
73554         no need for '--force' in most autotool invocations in a new
73555         tree.  Actually fail the whole test if any of the tools, or the
73556         configure or make stages fail.
73557
73558         Sync from Automake.
73559         * build-aux/gnupload: Revert last change.  Add pointer to upload
73560         instructions of the GNU Maintenance Instructions.
73561         Suggestion by Karl Berry.
73562
73563 2006-11-10  Jim Meyering  <jim@meyering.net>
73564
73565         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73566
73567 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73568
73569         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73570         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73571         (bind_textdomain_codeset) [! ENABLE_NLS]:
73572         Evaluate all the arguments.  That way, callers get compatible behavior
73573         if the arguments have side effects.  Also, it avoids some GCC
73574         diagnostics in some cases; Joel E. Denny reported problems when Bison
73575         was configured with --enable-gcc-warnigs.
73576
73577 2006-11-10  Jim Meyering  <jim@meyering.net>
73578
73579         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73580         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73581         account.
73582
73583 2006-11-10  Jim Meyering  <jim@meyering.net>
73584
73585         * modules/inline: New file/module.
73586         * modules/xalloc (Files): Remove m4/inline.m4.
73587         (Depends-on): Add inline, instead.
73588         * modules/oset: Likewise.
73589         * modules/list: Likewise.
73590
73591 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73592
73593         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73594         Problem reported by Matthew Woehlke.
73595
73596 2006-11-09  Bruno Haible  <bruno@clisp.org>
73597
73598         * lib/tempname.c (gen_tempname): Remove variant that invokes
73599         __gen_tempname.
73600         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73601         __gen_tempname.
73602
73603 2006-11-08  Bruno Haible  <bruno@clisp.org>
73604
73605         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73606         to 'yes' instead of 'cross-compiling'.
73607
73608 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73609
73610         * lib/quotearg.h (quotearg_free): New decl.
73611         * lib/quotearg.c (quotearg_free): New function.
73612         (slot0, nslots, slotvec0, slotvec):
73613         Now file-scope so that quotearg_free can get at them.
73614
73615 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73616
73617         Sync from Automake.
73618         * build-aux/gnupload: Add missing 'gnu' to example URL.
73619         Report by Karl Berry.
73620
73621 2006-11-08  Bruno Haible  <bruno@clisp.org>
73622
73623         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73624         Suggested by Paul Eggert.
73625
73626 2006-11-08  Jim Meyering  <jim@meyering.net>
73627
73628         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73629         It's already included if !_LIBC.
73630         (fts_safe_changedir): Add a comment.
73631
73632 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73633
73634         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73635         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73636         Matthew Woehlke.
73637
73638         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73639         definitions up, to avoid colliding with change below.
73640         (static_inline) [HAVE_INLINE]: New macro.
73641         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73642         Provide extern decls when !HAVE_INLINE.  Do not define unless
73643         static_inline is defined, either by us or by xmalloc.c.  Use
73644         static_inline rather than static inline.
73645         (XCALLOC): Optimize sizeof(T) = 1 case.
73646         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73647
73648 2006-11-07  Bruno Haible  <bruno@clisp.org>
73649
73650         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73651         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73652         AC_C_INLINE.
73653         * modules/xalloc (Files): Add m4/inline.m4.
73654
73655 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73656
73657         * README: Fix typo.
73658         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73659         (Miscellanous Notes): ...from this.
73660
73661 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73662
73663         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73664         Mention that offsetof should be used instead of sizeof.
73665         From Bruno Haible.
73666
73667 2006-11-07  Bruno Haible  <bruno@clisp.org>
73668
73669         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73670
73671 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73674         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73675         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73676         (gl_tree_add_before, gl_tree_add_after):
73677         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73678         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73679         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73680         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73681         (gl_linked_add_after, gl_linked_add_at): Likewise.
73682         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73683         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73684         (gl_tree_add_before, gl_tree_add_after): Likewise.
73685         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73686         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73687         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73688
73689 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73690
73691         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73692
73693 2006-11-06  Bruno Haible  <bruno@clisp.org>
73694
73695         * m4/inline.m4: New file.
73696         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73697         * modules/list (Files): Add m4/inline.m4.
73698         * modules/oset (Files): Likewise.
73699
73700 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73701
73702         * lib/idcache.c: Include <stddef.h>, for offsetof.
73703         (struct userid.name): Change from char * to a flexible array member.
73704         All uses changed.
73705         * modules/idcache (Depends-on): Add flexmember.
73706
73707         * MODULES.html.sh (Core language properties): New module flexmember.
73708         * modules/flexmember, m4/flexmember.m4: New files.
73709
73710         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73711         inline functions that are identical with the old xnmalloc_inline,
73712         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73713         that we can avoid some unnecessary integer multiplications and
73714         divisions in the common case where the element size is known at
73715         compile time.
73716         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73717         needed.
73718         (xnboundedmalloc): Remove.
73719         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73720         arguments, for consistency with rest of this header.
73721         (xcharalloc): Rewrite using XNMALLOC.
73722         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73723         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73724         versions have been moved to lib/xalloc.h and renamed to be the
73725         non-*_inline versions.
73726         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73727         and xnrealloc functions, since those functions are now inline and
73728         now call us.
73729         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73730         renaming described above.
73731         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73732         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73733         captures the dependency in AC_C_INLINE.
73734
73735         New module canonicalize-lgpl, proposed by Charles Wilson in
73736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73737         with a few small changes afterwards.
73738         * MODULES.html.sh (File system functions): New module
73739         canonicalize-lgpl.
73740         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73741         and canonicalize_file_name.
73742         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73743         * modules/canonicalize-lgpl: New files.
73744
73745 2006-11-05  Bruno Haible  <bruno@clisp.org>
73746
73747         * gnulib-tool (func_import, func_create_testdir): Create directories
73748         also for files in subdirectories of lib/.
73749
73750 2006-11-05  Bruno Haible  <bruno@clisp.org>
73751
73752         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73753         ANSI C compliant.
73754
73755 2006-11-03  Bruno Haible  <bruno@clisp.org>
73756
73757         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73758         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73759         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73760         (xnboundedmalloc): New inline function.
73761         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73762         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73763         xmalloc.
73764         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73765         xmalloc.
73766         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73767         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73768         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73769         xmalloc.
73770         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73771         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73772         xmalloc.
73773         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73774         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73775         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73776         xmalloc.
73777         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73778         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73779         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73780         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73781         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73782         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73783         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73784
73785 2006-11-03  Bruno Haible  <bruno@clisp.org>
73786
73787         * lib/c-ctype.h [C++]: Define functions without name mangling.
73788         * lib/fwriteerror.h [C++]: Likewise.
73789         * lib/gcd.h [C++]: Likewise.
73790         * lib/linebreak.h [C++]: Likewise.
73791
73792 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73793
73794         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73795         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73796         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73797         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73798         Check for functions and headers just once.
73799         Check for declaration of canonicalize_file_name.
73800         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73801
73802 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73803
73804         * gnulib-tool (func_import): Fix typo in actioncmd.
73805
73806 2006-11-02  Bruno Haible  <bruno@clisp.org>
73807
73808         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73809         newline sequence in the Makefile.am snippet as a space, like "make"
73810         does.
73811         Reported by Roger Persson <perrog@gmail.com>.
73812
73813 2006-11-01  Bruno Haible  <bruno@clisp.org>
73814
73815         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73816         already declared in <string.h>.
73817         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73818
73819 2006-11-01  Bruno Haible  <bruno@clisp.org>
73820
73821         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73822         * lib/strcase.h: Include <string.h>.
73823         (strcasecmp): Define to rpl_strcasecmp here.
73824
73825 2006-11-01  Bruno Haible  <bruno@clisp.org>
73826
73827         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73828
73829 2006-11-01  Eric Blake  <ebb9@byu.net>
73830
73831         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73832
73833         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73834
73835 2006-10-29  Bruno Haible  <bruno@clisp.org>
73836
73837         Make it compile in C++ mode.
73838         * lib/full-write.c (full_rw): Add a cast.
73839
73840 2006-11-01  Bruno Haible  <bruno@clisp.org>
73841
73842         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73843         be POSIX compliant.
73844         Reported by Roger Persson <perrog@gmail.com>.
73845
73846 2006-11-01  Eric Blake  <ebb9@byu.net>
73847
73848         * lib/getopt_.h: Fix comments.
73849
73850 2006-10-31  Eric Blake  <ebb9@byu.net>
73851
73852         * modules/tmpdir (Depends-on): Add sys_stat.
73853         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73854         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73855         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73856         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73857         tempname.
73858
73859 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73860
73861         Avoid some C++ diagnostics reported by Bruno Haible.
73862         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73863         xmalloc.
73864         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73865         (struct slotvec): Move to top level.
73866         (quotearg_n_options): Rewrite to avoid xmalloc.
73867         * lib/xalloc.h (xcharalloc): New function.
73868         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73869         [defined __cplusplus]: Add function template that provides result
73870         type propagation.  This part of the change is from Bruno Haible.
73871
73872 2006-10-29  Bruno Haible  <bruno@clisp.org>
73873
73874         Make it compile in C++ mode.
73875         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73876         * lib/strnlen1.c (strnlen1): Cast memchr result.
73877         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73878         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73879         (create_temp_dir): Rename local variable 'template'.
73880         (compile_csharp_using_sscli): Add cast.
73881         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73882         * lib/findprog.c (find_in_path): Likewise.
73883         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73884         * lib/wait-process.c (register_slave_subprocess): Likewise.
73885
73886 2006-10-22  Bruno Haible  <bruno@clisp.org>
73887
73888         * modules/tsearch: New file.
73889         * lib/tsearch.h: New file.
73890         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73891         * m4/tsearch.m4: New file.
73892         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73893
73894 2006-10-29  Eric Blake  <ebb9@byu.net>
73895
73896         * lib/arcfour.c: Assume config.h.
73897         * lib/arctwo.c: Likewise.
73898         * lib/base64.c: Likewise.
73899         * lib/check-version.c: Likewise.
73900         * lib/crc.c: Likewise.
73901         * lib/des.c: Likewise.
73902         * lib/gc-gnulib.c: Likewise.
73903         * lib/gc-libgcrypt.c: Likewise.
73904         * lib/gc-pbkdf2-sha1.c: Likewise.
73905         * lib/getaddrinfo.c: Likewise.
73906         * lib/getdelim.c: Likewise.
73907         * lib/getline.c: Likewise.
73908         * lib/hmac-md5.c: Likewise.
73909         * lib/hmac-sha1.c: Likewise.
73910         * lib/iconvme.c: Likewise.
73911         * lib/md2.c: Likewise.
73912         * lib/md4.c: Likewise.
73913         * lib/memxor.c: Likewise.
73914         * lib/read-file.c: Likewise.
73915         * lib/readline.c: Likewise.
73916         * lib/rijndael-alg-fst.c: Likewise.
73917         * lib/rijndael-api-fst.c: Likewise.
73918         * lib/xgetdomainname.c: Likewise.
73919
73920 2006-10-28  Eric Blake  <ebb9@byu.net>
73921
73922         * lib/xstrndup.c: Assume config.h.
73923
73924 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73925
73926         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73927         stat-macros.h is now for our own macros, whereas stat_h is for
73928         macros in the <sys/stat.h> name space.
73929         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73930         (STAT_MACROS_H): Remove.
73931         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73932         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73933         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73934         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73935         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73936         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73937         Move these macros to ...
73938         * lib/stat_.h: here.  Don't include stat-macros.h.
73939         * lib/canonicalize.c: Don't include stat-macros.h.
73940         * lib/chown.c: Likewise.
73941         * lib/euidaccess.c: Likewise.
73942         * lib/file-type.c: Likewise.
73943         * lib/filemode.c: Likewise.
73944         * lib/glob.c: Likewise.
73945         * lib/isapipe.c: Likewise.
73946         * lib/lchown.c: Likewise.
73947         * lib/lstat.c: Likewise.
73948         * lib/mkdir-p.c: Likewise.
73949         * lib/rmdir.c: Likewise.
73950         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73951         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73952         unless mkdir isn't declared, to speed up 'configure'.
73953         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73954         would define all the S_* symbols.
73955         * modules/canonicalize (Depends-on):
73956         Depend on sys_stat, not stat-macros.
73957         * modules/chown: Likewise.
73958         * modules/euidaccess: Likewise.
73959         * modules/filemode: Likewise.
73960         * modules/file-type: Likewise.
73961         * modules/glob: Likewise.
73962         * modules/isapipe: Likewise.
73963         * modules/lchown: Likewise.
73964         * modules/lstat: Likewise.
73965         * modules/mkancesdirs: Likewise.
73966         * modules/rmdir: Likewise.
73967         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73968         * modules/modechange: Likewise.
73969         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73970         (configure.ac): Remove gl_STAT_MACROS.
73971         * modules/sys_stat (Depends-on): Remove stat-macros.
73972
73973 2006-10-27  Bruno Haible  <bruno@clisp.org>
73974
73975         * m4/signed.m4: Remove file.
73976         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73977         invocation.
73978         * modules/vasnprintf (Files): Remove m4/signed.m4.
73979
73980 2006-10-27  Bruno Haible  <bruno@clisp.org>
73981
73982         Update to GNU gettext 0.16.
73983         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73984         m4/inttypes-h.m4, m4/signed.m4.
73985         * m4/gettext.m4: Update to GNU gettext 0.16.
73986         * m4/intl.m4: New file, from GNU gettext.
73987         * m4/intldir.m4: New file, from GNU gettext.
73988         * config/srclist.txt: Update
73989
73990 2006-10-27  Eric Blake  <ebb9@byu.net>
73991
73992         * MODULES.html.sh: Document tempname.
73993         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73994         dependencies.
73995         (Files): Move lib/tempname.c...
73996         * modules/tempname: ...to this new module.
73997         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73998         (gl_PREREQ_TEMPNAME): Move...
73999         * m4/tempname.m4: ...to this new file.
74000         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
74001         * modules/sys_stat (Depends-on): Add stat-macros.
74002         * lib/stat_.h (includes): Pick up stat macros.
74003         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
74004         if stat macros are broken.
74005         * lib/tempname.c (includes): No need to include "stat-macros.h".
74006         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
74007         (direxists, __path_search) [!_LIBC]: Don't compile these in
74008         gnulib; the tmpdir module covers that.
74009         * lib/tempname.h: New file.
74010
74011 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
74012
74013         * COPYING: Explain how gnulib-tool converts licence headers.
74014         Almost all wording by Eric Blake.
74015
74016 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         * lib/mbchar.h (is_basic_table): Make read-only.
74019         * lib/mbchar.c (is_basic_table): Likewise.
74020         Reported by John Darrington.
74021
74022 2006-10-25  Bruno Haible  <bruno@clisp.org>
74023
74024         * lib/progname.h (set_program_name): Undefine before defining.
74025
74026 2006-10-25  Bruno Haible  <bruno@clisp.org>
74027
74028         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
74029         false for non-gcc C++ compilers.
74030         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74031
74032 2006-10-24  Bruno Haible  <bruno@clisp.org>
74033
74034         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
74035         iconv implementations like Irix iconv.
74036
74037 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74038
74039         * modules/vararrays: New file.
74040         * m4/vararrays.m4: New file, taken from diffutils.
74041         * MODULES.html.sh: New module vararrays.
74042
74043 2006-10-24  Karl Berry  <karl@gnu.org>
74044
74045         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
74046         Don't call GNU Unix.
74047
74048 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74049
74050         * users.txt: Add Libtool.
74051
74052         Sync from Libtool:
74053
74054         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74055
74056         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
74057         to gnulib's policy of including config.h unconditionally.
74058
74059 2006-10-24  Bruno Haible  <bruno@clisp.org>
74060
74061         * modules/wcwidth (Files): Add m4/wint_t.m4.
74062         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
74063         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
74064
74065 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74066
74067         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
74068         to pacify GCC with some -W flags enabled.  Problem reported by
74069         Bruno Haible.
74070
74071 2006-10-24  Jim Meyering  <jim@meyering.net>
74072
74073         * MODULES.html.sh: Remove uinttostr.  It's not a module.
74074         Reported by Karl Berry.
74075
74076 2006-10-23  Bruno Haible  <bruno@clisp.org>
74077
74078         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
74079
74080 2006-10-24  Bruno Haible  <bruno@clisp.org>
74081
74082         * lib/gl_list.h: Use C comment style, not C++ comment style.
74083
74084 2006-10-23  Eric Blake  <ebb9@byu.net>
74085
74086         * lib/getaddrinfo.c (includes): Add missing include.
74087
74088 2006-10-23  Bruno Haible  <bruno@clisp.org>
74089             Paul Eggert  <eggert@cs.ucla.edu>
74090
74091         Ability to rename obstack_free.
74092         * lib/obstack.h (__obstack_free): New macro. Declare instead of
74093         obstack_free.
74094         (obstack_free): Invoke the __obstack_free macro.
74095         * lib/obstack.c (obstack_free): Use __obstack_free macro.
74096
74097 2006-10-23  Bruno Haible  <bruno@clisp.org>
74098             Paul Eggert  <eggert@cs.ucla.edu>
74099
74100         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
74101         __argc, __argv from the declaration. (They are defined as macros on
74102         mingw.)
74103
74104 2006-10-22  Bruno Haible  <bruno@clisp.org>
74105
74106         * doc/gnulib-intro.texi: New file.
74107         * doc/gnulib.texi: Include it.
74108
74109 2006-10-21  Bruno Haible  <bruno@clisp.org>
74110
74111         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
74112         "Introduction", "Miscellanous Notes", "Particular Modules".
74113
74114 2006-10-21  Bruno Haible  <bruno@clisp.org>
74115
74116         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74117         Change mostlyclean-local rule to avoid sh syntax error from bash
74118         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
74119
74120 2006-10-23  Jim Meyering  <jim@meyering.net>
74121
74122         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
74123         in place of snprintf.
74124
74125         * modules/inttostr (Files): Add lib/uinttostr.c.
74126         * lib/uinttostr.c (inttostr): New file/function.
74127         * lib/inttostr.h (uinttostr): Declare.
74128         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74129         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74130         Add uinttostr.
74131         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74132
74133 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74134
74135         * lib/canonicalize.c (ELOOP): Define if not already defined.
74136         Problem reported by Bruno Haible in
74137         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74138
74139 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74140
74141         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74142         Problem reported by Perry Smith and Ville Laurikari.
74143
74144         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74145         uses.
74146
74147 2006-10-19  Bruno Haible  <bruno@clisp.org>
74148
74149         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74150         for mingw.
74151
74152 2006-10-19  Bruno Haible  <bruno@clisp.org>
74153
74154         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74155         Needed for mingw.
74156
74157 2006-10-19  Bruno Haible  <bruno@clisp.org>
74158
74159         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74160
74161 2006-10-19  Bruno Haible  <bruno@clisp.org>
74162
74163         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74164         it.
74165
74166 2006-10-19  Bruno Haible  <bruno@clisp.org>
74167
74168         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74169         invocation.
74170
74171 2006-10-19  Bruno Haible  <bruno@clisp.org>
74172
74173         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74174         mountlist by default.
74175
74176 2006-10-16  Bruno Haible  <bruno@clisp.org>
74177
74178         * lib/c-strstr.c: Include c-strstr.h.
74179
74180 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74181
74182         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74183         in a slash.
74184
74185 2006-10-18  Bruno Haible  <bruno@clisp.org>
74186
74187         * lib/lock.h [C++]: Wrap definitions in extern "C".
74188
74189 2006-10-18  Bruno Haible  <bruno@clisp.org>
74190
74191         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74192         gl_LIBOBJS list.
74193
74194 2006-10-18  Bruno Haible  <bruno@clisp.org>
74195
74196         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74197
74198 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74199
74200         * lib/xstrtol.h: Include gettext.h.
74201         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74202         Problem reported by Eric Blake.
74203         * modules/xstrtol (Depends-on): Add gettext-h.
74204
74205 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74206
74207         * lib/strftime.c (advance): New macro.
74208         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74209         incomplete type, so you can't add 0 to it.  Problem and patch
74210         reported by Eelco Dolstra for dietlibc.
74211
74212 2006-10-18  Jim Meyering  <jim@meyering.net>
74213
74214         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74215         type for a local, and rename it: s/up/user_proc/.
74216
74217 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74218
74219         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74220         READ_UTMP_USER_PROCESS.
74221         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74222
74223 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74224
74225         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74226         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74227
74228 2006-10-17  Eric Blake  <ebb9@byu.net>
74229
74230         * lib/sigprocmask.c (sigprocmask): Fix typo.
74231
74232         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74233
74234         * modules/clean-temp (Makefile.am): Don't add to make output...
74235         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74236         config.h.
74237
74238 2006-10-17  Bruno Haible  <bruno@clisp.org>
74239
74240         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74241         differently if DEFAULT_TEXT_DOMAIN is set.
74242
74243 2006-10-16  Bruno Haible  <bruno@clisp.org>
74244
74245         * lib/clean-temp.c: Include fwriteerror.h.
74246
74247 2006-10-16  Bruno Haible  <bruno@clisp.org>
74248
74249         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74250
74251 2006-10-16  Bruno Haible  <bruno@clisp.org>
74252
74253         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74254         * lib/sigprocmask.h: Include <sys/types.h>.
74255         (sigset_t): Use the system's definition if present.
74256
74257 2006-10-17  Eric Blake  <ebb9@byu.net>
74258
74259         * lib/xvasprintf.c (includes): Assume config.h.
74260         * lib/xasprintf.c (includes): Likewise.
74261
74262 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74263
74264         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74265         at least as wide as intmax_t.
74266
74267 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74268
74269         (Imported from Automake.)
74270         * build-aux/gnupload: Update to version 1.1 of directive file.
74271
74272 2006-10-16  Eric Blake  <ebb9@byu.net>
74273
74274         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74275         match Automake 1.10a.
74276
74277 2006-10-14  Bruno Haible  <bruno@clisp.org>
74278
74279         * modules/sigprocmask: New file.
74280         * lib/sigprocmask.h: New file.
74281         * lib/sigprocmask.c: New file.
74282         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74283         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74284         request sigprocmask.o.
74285         (gl_PREREQ_SIGPROCMASK): New macro.
74286         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74287         (Depends-on): Add sigprocmask.
74288         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74289         gt_SIGNALBLOCKING. Test for 'raise' only once.
74290         * lib/fatal-signal.c: Include sigprocmask.h.
74291         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74292         unblock_fatal_signals): Define always.
74293         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74294         sigprocmask.
74295
74296 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74297
74298         Sync from Automake.
74299         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74300         which incorrectly sets the mode of an existing destination
74301         directory.  In some cases the unpatched install-sh could do the
74302         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74303         system.  We hope this is rare in practice, but it's clearly worth
74304         fixing.  Problem reported by Alex Unleashed in
74305         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74306         Also, don't bother to check for -m bugs unless we're using -m;
74307         suggested by Stepan Kasal.
74308
74309 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74310
74311         Sync from Automake.
74312         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74313         `-c' flag, so they appear at the same position as in %FASTDEP%
74314         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74315         which ignores unknown options only after the first non-option.
74316         Bug report against M4 by Nelson H. F. Beebe.
74317
74318 2006-10-13  Jim Meyering  <jim@meyering.net>
74319
74320         Fix a bug in yesterday's change.
74321         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74322         p->fts_statp->st_dev would be used uninitialized.
74323         Ensures that we always call fts_stat on the very first entry.
74324         Miklos Szeredi reported that find -xdev stopped working.
74325
74326 2006-10-12  Bruno Haible  <bruno@clisp.org>
74327
74328         * gnulib-tool (func_get_automake_snippet): Append an automatically
74329         computed EXTRA_DIST augmentation.
74330         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74331         * modules/alloca-opt (Makefile.am): Likewise.
74332         * modules/allocsa (Makefile.am): Likewise.
74333         * modules/arcfour (Makefile.am): Likewise.
74334         * modules/arctwo (Makefile.am): Likewise.
74335         * modules/argmatch (Makefile.am): Likewise.
74336         * modules/argz (Makefile.am): Likewise.
74337         * modules/atexit (Makefile.am): Likewise.
74338         * modules/backupfile (Makefile.am): Likewise.
74339         * modules/byteswap (Makefile.am): Likewise.
74340         * modules/c-strtod (Makefile.am): Likewise.
74341         * modules/c-strtold (Makefile.am): Likewise.
74342         * modules/calloc (Makefile.am): Likewise.
74343         * modules/canon-host (Makefile.am): Likewise.
74344         * modules/canonicalize (Makefile.am): Likewise.
74345         * modules/chdir-long (Makefile.am): Likewise.
74346         * modules/chdir-safer (Makefile.am): Likewise.
74347         * modules/check-version (Makefile.am): Likewise.
74348         * modules/chown (Makefile.am): Likewise.
74349         * modules/cloexec (Makefile.am): Likewise.
74350         * modules/close-stream (Makefile.am): Likewise.
74351         * modules/closeout (Makefile.am): Likewise.
74352         * modules/crc (Makefile.am): Likewise.
74353         * modules/csharpexec (Makefile.am): Likewise.
74354         * modules/cycle-check (Makefile.am): Likewise.
74355         * modules/des (Makefile.am): Likewise.
74356         * modules/dev-ino (Makefile.am): Likewise.
74357         * modules/dirfd (Makefile.am): Likewise.
74358         * modules/dirname (Makefile.am): Likewise.
74359         * modules/dup2 (Makefile.am): Likewise.
74360         * modules/eealloc (Makefile.am): Likewise.
74361         * modules/error (Makefile.am): Likewise.
74362         * modules/euidaccess (Makefile.am): Likewise.
74363         * modules/exclude (Makefile.am): Likewise.
74364         * modules/exitfail (Makefile.am): Likewise.
74365         * modules/fcntl-safer (Makefile.am): Likewise.
74366         * modules/fcntl (Makefile.am): Likewise.
74367         * modules/file-type (Makefile.am): Likewise.
74368         * modules/fileblocks (Makefile.am): Likewise.
74369         * modules/filemode (Makefile.am): Likewise.
74370         * modules/filenamecat (Makefile.am): Likewise.
74371         * modules/fnmatch (Makefile.am): Likewise.
74372         * modules/fopen-safer (Makefile.am): Likewise.
74373         * modules/fpending (Makefile.am): Likewise.
74374         * modules/fprintftime (Makefile.am): Likewise.
74375         * modules/free (Makefile.am): Likewise.
74376         * modules/fsusage (Makefile.am): Likewise.
74377         * modules/ftruncate (Makefile.am): Likewise.
74378         * modules/fts (Makefile.am): Likewise.
74379         * modules/gc-arcfour (Makefile.am): Likewise.
74380         * modules/gc-des (Makefile.am): Likewise.
74381         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74382         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74383         * modules/gc-md4 (Makefile.am): Likewise.
74384         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74385         * modules/gc-sha1 (Makefile.am): Likewise.
74386         * modules/gc (Makefile.am): Likewise.
74387         * modules/getaddrinfo (Makefile.am): Likewise.
74388         * modules/getcwd (Makefile.am): Likewise.
74389         * modules/getdelim (Makefile.am): Likewise.
74390         * modules/getdomainname (Makefile.am): Likewise.
74391         * modules/getgroups (Makefile.am): Likewise.
74392         * modules/gethostname (Makefile.am): Likewise.
74393         * modules/gethrxtime (Makefile.am): Likewise.
74394         * modules/getline (Makefile.am): Likewise.
74395         * modules/getloadavg (Makefile.am): Likewise.
74396         * modules/getlogin_r (Makefile.am): Likewise.
74397         * modules/getndelim2 (Makefile.am): Likewise.
74398         * modules/getopt (Makefile.am): Likewise.
74399         * modules/getpagesize (Makefile.am): Likewise.
74400         * modules/getpass-gnu (Makefile.am): Likewise.
74401         * modules/getpass (Makefile.am): Likewise.
74402         * modules/getsubopt (Makefile.am): Likewise.
74403         * modules/gettime (Makefile.am): Likewise.
74404         * modules/gettimeofday (Makefile.am): Likewise.
74405         * modules/getugroups (Makefile.am): Likewise.
74406         * modules/getusershell (Makefile.am): Likewise.
74407         * modules/glob (Makefile.am): Likewise.
74408         * modules/group-member (Makefile.am): Likewise.
74409         * modules/hard-locale (Makefile.am): Likewise.
74410         * modules/hash (Makefile.am): Likewise.
74411         * modules/hmac-md5 (Makefile.am): Likewise.
74412         * modules/hmac-sha1 (Makefile.am): Likewise.
74413         * modules/human (Makefile.am): Likewise.
74414         * modules/idcache (Makefile.am): Likewise.
74415         * modules/imaxabs (Makefile.am): Likewise.
74416         * modules/imaxdiv (Makefile.am): Likewise.
74417         * modules/inet_ntop (Makefile.am): Likewise.
74418         * modules/inet_pton (Makefile.am): Likewise.
74419         * modules/intprops (Makefile.am): Likewise.
74420         * modules/inttostr (Makefile.am): Likewise.
74421         * modules/inttypes (Makefile.am): Likewise.
74422         * modules/isapipe (Makefile.am): Likewise.
74423         * modules/javaversion (Makefile.am): Likewise.
74424         * modules/lchmod (Makefile.am): Likewise.
74425         * modules/lchown (Makefile.am): Likewise.
74426         * modules/localcharset (Makefile.am): Likewise.
74427         * modules/long-options (Makefile.am): Likewise.
74428         * modules/lstat (Makefile.am): Likewise.
74429         * modules/malloc (Makefile.am): Likewise.
74430         * modules/mathl (Makefile.am): Likewise.
74431         * modules/mbchar (Makefile.am): Likewise.
74432         * modules/md2 (Makefile.am): Likewise.
74433         * modules/md4 (Makefile.am): Likewise.
74434         * modules/md5 (Makefile.am): Likewise.
74435         * modules/memcasecmp (Makefile.am): Likewise.
74436         * modules/memchr (Makefile.am): Likewise.
74437         * modules/memcmp (Makefile.am): Likewise.
74438         * modules/memcoll (Makefile.am): Likewise.
74439         * modules/memcpy (Makefile.am): Likewise.
74440         * modules/memmem (Makefile.am): Likewise.
74441         * modules/memmove (Makefile.am): Likewise.
74442         * modules/mempcpy (Makefile.am): Likewise.
74443         * modules/memrchr (Makefile.am): Likewise.
74444         * modules/memset (Makefile.am): Likewise.
74445         * modules/memxor (Makefile.am): Likewise.
74446         * modules/mkancesdirs (Makefile.am): Likewise.
74447         * modules/mkdir-p (Makefile.am): Likewise.
74448         * modules/mkdir (Makefile.am): Likewise.
74449         * modules/mkdtemp (Makefile.am): Likewise.
74450         * modules/mkstemp (Makefile.am): Likewise.
74451         * modules/mktime (Makefile.am): Likewise.
74452         * modules/modechange (Makefile.am): Likewise.
74453         * modules/mountlist (Makefile.am): Likewise.
74454         * modules/nanosleep (Makefile.am): Likewise.
74455         * modules/obstack (Makefile.am): Likewise.
74456         * modules/openat (Makefile.am): Likewise.
74457         * modules/pagealign_alloc (Makefile.am): Likewise.
74458         * modules/pathmax (Makefile.am): Likewise.
74459         * modules/physmem (Makefile.am): Likewise.
74460         * modules/poll (Makefile.am): Likewise.
74461         * modules/posixtm (Makefile.am): Likewise.
74462         * modules/posixver (Makefile.am): Likewise.
74463         * modules/putenv (Makefile.am): Likewise.
74464         * modules/quote (Makefile.am): Likewise.
74465         * modules/quotearg (Makefile.am): Likewise.
74466         * modules/raise (Makefile.am): Likewise.
74467         * modules/read-file (Makefile.am): Likewise.
74468         * modules/readline (Makefile.am): Likewise.
74469         * modules/readlink (Makefile.am): Likewise.
74470         * modules/readtokens (Makefile.am): Likewise.
74471         * modules/readutmp (Makefile.am): Likewise.
74472         * modules/realloc (Makefile.am): Likewise.
74473         * modules/regex (Makefile.am): Likewise.
74474         * modules/rename-dest-slash (Makefile.am): Likewise.
74475         * modules/rename (Makefile.am): Likewise.
74476         * modules/rijndael (Makefile.am): Likewise.
74477         * modules/rmdir (Makefile.am): Likewise.
74478         * modules/rpmatch (Makefile.am): Likewise.
74479         * modules/safe-read (Makefile.am): Likewise.
74480         * modules/safe-write (Makefile.am): Likewise.
74481         * modules/same-inode (Makefile.am): Likewise.
74482         * modules/same (Makefile.am): Likewise.
74483         * modules/save-cwd (Makefile.am): Likewise.
74484         * modules/savedir (Makefile.am): Likewise.
74485         * modules/setenv (Makefile.am): Likewise.
74486         * modules/settime (Makefile.am): Likewise.
74487         * modules/sha1 (Makefile.am): Likewise.
74488         * modules/sig2str (Makefile.am): Likewise.
74489         * modules/snprintf (Makefile.am): Likewise.
74490         * modules/stat-macros (Makefile.am): Likewise.
74491         * modules/stat-time (Makefile.am): Likewise.
74492         * modules/stdbool (Makefile.am): Likewise.
74493         * modules/stdint (Makefile.am): Likewise.
74494         * modules/stdlib-safer (Makefile.am): Likewise.
74495         * modules/stpcpy (Makefile.am): Likewise.
74496         * modules/stpncpy (Makefile.am): Likewise.
74497         * modules/strcase (Makefile.am): Likewise.
74498         * modules/strcasestr (Makefile.am): Likewise.
74499         * modules/strchrnul (Makefile.am): Likewise.
74500         * modules/strcspn (Makefile.am): Likewise.
74501         * modules/strdup (Makefile.am): Likewise.
74502         * modules/strerror (Makefile.am): Likewise.
74503         * modules/strftime (Makefile.am): Likewise.
74504         * modules/strndup (Makefile.am): Likewise.
74505         * modules/strnlen (Makefile.am): Likewise.
74506         * modules/strpbrk (Makefile.am): Likewise.
74507         * modules/strsep (Makefile.am): Likewise.
74508         * modules/strstr (Makefile.am): Likewise.
74509         * modules/strtod (Makefile.am): Likewise.
74510         * modules/strtoimax (Makefile.am): Likewise.
74511         * modules/strtok_r (Makefile.am): Likewise.
74512         * modules/strtol (Makefile.am): Likewise.
74513         * modules/strtoll (Makefile.am): Likewise.
74514         * modules/strtoul (Makefile.am): Likewise.
74515         * modules/strtoull (Makefile.am): Likewise.
74516         * modules/strtoumax (Makefile.am): Likewise.
74517         * modules/strverscmp (Makefile.am): Likewise.
74518         * modules/sys_socket (Makefile.am): Likewise.
74519         * modules/sys_stat (Makefile.am): Likewise.
74520         * modules/sysexits (Makefile.am): Likewise.
74521         * modules/time_r (Makefile.am): Likewise.
74522         * modules/timegm (Makefile.am): Likewise.
74523         * modules/timespec (Makefile.am): Likewise.
74524         * modules/tmpfile-safer (Makefile.am): Likewise.
74525         * modules/trim (Makefile.am): Likewise.
74526         * modules/unistd-safer (Makefile.am): Likewise.
74527         * modules/unlinkdir (Makefile.am): Likewise.
74528         * modules/unlocked-io (Makefile.am): Likewise.
74529         * modules/userspec (Makefile.am): Likewise.
74530         * modules/utime (Makefile.am): Likewise.
74531         * modules/utimecmp (Makefile.am): Likewise.
74532         * modules/utimens (Makefile.am): Likewise.
74533         * modules/vasnprintf (Makefile.am): Likewise.
74534         * modules/vasprintf (Makefile.am): Likewise.
74535         * modules/vsnprintf (Makefile.am): Likewise.
74536         * modules/xalloc (Makefile.am): Likewise.
74537         * modules/xgetcwd (Makefile.am): Likewise.
74538         * modules/xnanosleep (Makefile.am): Likewise.
74539         * modules/xreadlink (Makefile.am): Likewise.
74540         * modules/xstrtod (Makefile.am): Likewise.
74541         * modules/xstrtol (Makefile.am): Likewise.
74542         * modules/xstrtold (Makefile.am): Likewise.
74543         * modules/yesno (Makefile.am): Likewise.
74544         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74545
74546 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74547
74548         * modules/error (Makefile.am): Distribute files through
74549         EXTRA_DIST, not lib_SOURCES.
74550
74551 2006-10-12  Eric Blake  <ebb9@byu.net>
74552
74553         * modules/error (Makefile.am): Distribute files in /lib.
74554         * modules/obstack (Makefile.am): Likewise.
74555
74556 2006-10-12  Bruno Haible  <bruno@clisp.org>
74557
74558         * modules/acl (Makefile.am): Distribute all files in lib/ through
74559         EXTRA_DIST.
74560         * modules/arcfour (Makefile.am): Likewise.
74561         * modules/arctwo (Makefile.am): Likewise.
74562         * modules/argmatch (Makefile.am): Likewise.
74563         * modules/argz (Makefile.am): Likewise.
74564         * modules/atexit (Makefile.am): Likewise.
74565         * modules/backupfile (Makefile.am): Likewise.
74566         * modules/c-strtod (Makefile.am): Likewise.
74567         * modules/c-strtold (Makefile.am): Likewise.
74568         * modules/calloc (Makefile.am): Likewise.
74569         * modules/canon-host (Makefile.am): Likewise.
74570         * modules/canonicalize (Makefile.am): Likewise.
74571         * modules/chdir-long (Makefile.am): Likewise.
74572         * modules/chdir-safer (Makefile.am): Likewise.
74573         * modules/check-version (Makefile.am): Likewise.
74574         * modules/chown (Makefile.am): Likewise.
74575         * modules/cloexec (Makefile.am): Likewise.
74576         * modules/close-stream (Makefile.am): Likewise.
74577         * modules/closeout (Makefile.am): Likewise.
74578         * modules/crc (Makefile.am): Likewise.
74579         * modules/cycle-check (Makefile.am): Likewise.
74580         * modules/des (Makefile.am): Likewise.
74581         * modules/dirfd (Makefile.am): Likewise.
74582         * modules/dirname (Makefile.am): Likewise.
74583         * modules/dup2 (Makefile.am): Likewise.
74584         * modules/euidaccess (Makefile.am): Likewise.
74585         * modules/exclude (Makefile.am): Likewise.
74586         * modules/exitfail (Makefile.am): Likewise.
74587         * modules/fcntl-safer (Makefile.am): Likewise.
74588         * modules/file-type (Makefile.am): Likewise.
74589         * modules/fileblocks (Makefile.am): Likewise.
74590         * modules/filemode (Makefile.am): Likewise.
74591         * modules/filenamecat (Makefile.am): Likewise.
74592         * modules/fnmatch (Makefile.am): Likewise.
74593         * modules/fopen-safer (Makefile.am): Likewise.
74594         * modules/fpending (Makefile.am): Likewise.
74595         * modules/fprintftime (Makefile.am): Likewise.
74596         * modules/free (Makefile.am): Likewise.
74597         * modules/fsusage (Makefile.am): Likewise.
74598         * modules/ftruncate (Makefile.am): Likewise.
74599         * modules/fts (Makefile.am): Likewise.
74600         * modules/gc (Makefile.am): Likewise.
74601         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74602         * modules/getaddrinfo (Makefile.am): Likewise.
74603         * modules/getcwd (Makefile.am): Likewise.
74604         * modules/getdelim (Makefile.am): Likewise.
74605         * modules/getdomainname (Makefile.am): Likewise.
74606         * modules/getgroups (Makefile.am): Likewise.
74607         * modules/gethostname (Makefile.am): Likewise.
74608         * modules/gethrxtime (Makefile.am): Likewise.
74609         * modules/getline (Makefile.am): Likewise.
74610         * modules/getloadavg (Makefile.am): Likewise.
74611         * modules/getlogin_r (Makefile.am): Likewise.
74612         * modules/getopt (Makefile.am): Likewise.
74613         * modules/getpass (Makefile.am): Likewise.
74614         * modules/getpass-gnu (Makefile.am): Likewise.
74615         * modules/getsubopt (Makefile.am): Likewise.
74616         * modules/gettime (Makefile.am): Likewise.
74617         * modules/gettimeofday (Makefile.am): Likewise.
74618         * modules/getugroups (Makefile.am): Likewise.
74619         * modules/getusershell (Makefile.am): Likewise.
74620         * modules/glob (Makefile.am): Likewise.
74621         * modules/group-member (Makefile.am): Likewise.
74622         * modules/hard-locale (Makefile.am): Likewise.
74623         * modules/hash (Makefile.am): Likewise.
74624         * modules/hmac-md5 (Makefile.am): Likewise.
74625         * modules/hmac-sha1 (Makefile.am): Likewise.
74626         * modules/human (Makefile.am): Likewise.
74627         * modules/idcache (Makefile.am): Likewise.
74628         * modules/imaxabs (Makefile.am): Likewise.
74629         * modules/imaxdiv (Makefile.am): Likewise.
74630         * modules/inet_ntop (Makefile.am): Likewise.
74631         * modules/inet_pton (Makefile.am): Likewise.
74632         * modules/inttostr (Makefile.am): Likewise.
74633         * modules/isapipe (Makefile.am): Likewise.
74634         * modules/lchown (Makefile.am): Likewise.
74635         * modules/long-options (Makefile.am): Likewise.
74636         * modules/lstat (Makefile.am): Likewise.
74637         * modules/malloc (Makefile.am): Likewise.
74638         * modules/mathl (Makefile.am): Likewise.
74639         * modules/mbchar (Makefile.am): Likewise.
74640         * modules/md2 (Makefile.am): Likewise.
74641         * modules/md4 (Makefile.am): Likewise.
74642         * modules/md5 (Makefile.am): Likewise.
74643         * modules/memcasecmp (Makefile.am): Likewise.
74644         * modules/memchr (Makefile.am): Likewise.
74645         * modules/memcmp (Makefile.am): Likewise.
74646         * modules/memcoll (Makefile.am): Likewise.
74647         * modules/memcpy (Makefile.am): Likewise.
74648         * modules/memmem (Makefile.am): Likewise.
74649         * modules/memmove (Makefile.am): Likewise.
74650         * modules/mempcpy (Makefile.am): Likewise.
74651         * modules/memrchr (Makefile.am): Likewise.
74652         * modules/memset (Makefile.am): Likewise.
74653         * modules/memxor (Makefile.am): Likewise.
74654         * modules/mkancesdirs (Makefile.am): Likewise.
74655         * modules/mkdir (Makefile.am): Likewise.
74656         * modules/mkdir-p (Makefile.am): Likewise.
74657         * modules/mkdtemp (Makefile.am): Likewise.
74658         * modules/mkstemp (Makefile.am): Likewise.
74659         * modules/mktime (Makefile.am): Likewise.
74660         * modules/modechange (Makefile.am): Likewise.
74661         * modules/mountlist (Makefile.am): Likewise.
74662         * modules/nanosleep (Makefile.am): Likewise.
74663         * modules/openat (Makefile.am): Likewise.
74664         * modules/pagealign_alloc (Makefile.am): Likewise.
74665         * modules/physmem (Makefile.am): Likewise.
74666         * modules/poll (Makefile.am): Likewise.
74667         * modules/posixtm (Makefile.am): Likewise.
74668         * modules/posixver (Makefile.am): Likewise.
74669         * modules/putenv (Makefile.am): Likewise.
74670         * modules/quote (Makefile.am): Likewise.
74671         * modules/quotearg (Makefile.am): Likewise.
74672         * modules/raise (Makefile.am): Likewise.
74673         * modules/read-file (Makefile.am): Likewise.
74674         * modules/readline (Makefile.am): Likewise.
74675         * modules/readlink (Makefile.am): Likewise.
74676         * modules/readtokens (Makefile.am): Likewise.
74677         * modules/readutmp (Makefile.am): Likewise.
74678         * modules/realloc (Makefile.am): Likewise.
74679         * modules/regex (Makefile.am): Likewise.
74680         * modules/rename (Makefile.am): Likewise.
74681         * modules/rename-dest-slash (Makefile.am): Likewise.
74682         * modules/rijndael (Makefile.am): Likewise.
74683         * modules/rmdir (Makefile.am): Likewise.
74684         * modules/rpmatch (Makefile.am): Likewise.
74685         * modules/safe-read (Makefile.am): Likewise.
74686         * modules/safe-write (Makefile.am): Likewise.
74687         * modules/same (Makefile.am): Likewise.
74688         * modules/save-cwd (Makefile.am): Likewise.
74689         * modules/savedir (Makefile.am): Likewise.
74690         * modules/setenv (Makefile.am): Likewise.
74691         * modules/settime (Makefile.am): Likewise.
74692         * modules/sha1 (Makefile.am): Likewise.
74693         * modules/sig2str (Makefile.am): Likewise.
74694         * modules/snprintf (Makefile.am): Likewise.
74695         * modules/stdlib-safer (Makefile.am): Likewise.
74696         * modules/stpcpy (Makefile.am): Likewise.
74697         * modules/stpncpy (Makefile.am): Likewise.
74698         * modules/strcase (Makefile.am): Likewise.
74699         * modules/strcasestr (Makefile.am): Likewise.
74700         * modules/strchrnul (Makefile.am): Likewise.
74701         * modules/strcspn (Makefile.am): Likewise.
74702         * modules/strdup (Makefile.am): Likewise.
74703         * modules/strerror (Makefile.am): Likewise.
74704         * modules/strftime (Makefile.am): Likewise.
74705         * modules/strndup (Makefile.am): Likewise.
74706         * modules/strnlen (Makefile.am): Likewise.
74707         * modules/strpbrk (Makefile.am): Likewise.
74708         * modules/strsep (Makefile.am): Likewise.
74709         * modules/strstr (Makefile.am): Likewise.
74710         * modules/strtod (Makefile.am): Likewise.
74711         * modules/strtoimax (Makefile.am): Likewise.
74712         * modules/strtok_r (Makefile.am): Likewise.
74713         * modules/strtol (Makefile.am): Likewise.
74714         * modules/strtoll (Makefile.am): Likewise.
74715         * modules/strtoul (Makefile.am): Likewise.
74716         * modules/strtoull (Makefile.am): Likewise.
74717         * modules/strtoumax (Makefile.am): Likewise.
74718         * modules/strverscmp (Makefile.am): Likewise.
74719         * modules/time_r (Makefile.am): Likewise.
74720         * modules/timegm (Makefile.am): Likewise.
74721         * modules/tmpfile-safer (Makefile.am): Likewise.
74722         * modules/unistd-safer (Makefile.am): Likewise.
74723         * modules/unlinkdir (Makefile.am): Likewise.
74724         * modules/userspec (Makefile.am): Likewise.
74725         * modules/utime (Makefile.am): Likewise.
74726         * modules/utimecmp (Makefile.am): Likewise.
74727         * modules/utimens (Makefile.am): Likewise.
74728         * modules/vasnprintf (Makefile.am): Likewise.
74729         * modules/vasprintf (Makefile.am): Likewise.
74730         * modules/vsnprintf (Makefile.am): Likewise.
74731         * modules/xalloc (Makefile.am): Likewise.
74732         * modules/xgetcwd (Makefile.am): Likewise.
74733         * modules/xnanosleep (Makefile.am): Likewise.
74734         * modules/xreadlink (Makefile.am): Likewise.
74735         * modules/xstrtod (Makefile.am): Likewise.
74736         * modules/xstrtol (Makefile.am): Likewise.
74737         * modules/xstrtold (Makefile.am): Likewise.
74738         * modules/yesno (Makefile.am): Likewise.
74739
74740 2006-10-12  Jim Meyering  <jim@meyering.net>
74741
74742         * m4/getloadavg.m4: Revert the change below.
74743
74744         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74745         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74746         fail with a symlink, which is what coreutils' ./bootstrap now
74747         creates by default.
74748
74749 2006-10-12  Bruno Haible  <bruno@clisp.org>
74750
74751         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74752         mingw.
74753         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74754         MSVC and mingw explicitly.
74755
74756 2006-10-11  Simon Josefsson  <jas@extundo.com>
74757             Bruno Haible  <bruno@clisp.org>
74758
74759         Add support for multiple gnulib-tool invocations in the scope of a
74760         single configure.ac file.
74761         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74762         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74763         with the same contents as the _LIBADD variable.
74764         (func_emit_initmacro_start, func_emit_initmacro_end,
74765         func_emit_initmacro_done): New functions.
74766         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74767         gl_LIBOBJS and gl_LTLIBOBJS.
74768
74769 2006-10-11  Bruno Haible  <bruno@clisp.org>
74770
74771         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74772         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74773         autoreconf. Instead, invoke autopoint explicitly but move back the
74774         *.m4 files from gnulib.
74775
74776 2006-10-11  Bruno Haible  <bruno@clisp.org>
74777
74778         * gnulib-tool (func_usage): Make module names after --create-testdir
74779         optional.
74780         (func_create_testdir): If no module was specified, use nearly all
74781         modules.
74782
74783 2006-10-12  Jim Meyering  <jim@meyering.net>
74784
74785         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74786         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74787         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74788         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74789         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74790         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74791         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74792         (fts_set_stat_required): New function.
74793         (fts_open): Defer the calls to fts_stat, if possible or requested.
74794         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74795         into fts_stat itself.
74796         (fts_read): Perform any required (deferred) fts_stat call.
74797         (fts_build): Likewise, for the directory we're about to open and read.
74798         In the readdir loop, carefully decide whether each entry will require
74799         an eventual call to fts_stat, using dirent.d_type info if available.
74800         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74801         a command line argument into this function.  Update all callers.
74802         Map a return value of FTS_DOT to FTS_D for a command line argument.
74803         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74804         Thanks to Miklos Szeredi for his tenacity and for the initial
74805         bug report about "find" failing on a FUSE-based file system.
74806
74807         * lib/fts.c (fts_open): Use consistent indentation.
74808
74809 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74810
74811         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74812         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74813         reported by Jim Meyering.  All uses of cache variables renamed
74814         to match Autoconf's.
74815         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74816         the other one.
74817
74818         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74819         Fix misspelling in diagnostic.
74820
74821 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74822
74823         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74824         defined.  Problem reported by Matthew Woehlke.
74825
74826         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74827         Add support for Tandem NonStop R series.
74828         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74829         Use new macro.
74830
74831         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74832         (has_trailing_slash): Omit size arg; all callers changed.
74833         Omit 'inline', since it doesn't help performance and we'd
74834         need to configure it.
74835         Don't count //, ///, etc. as having a trailing slash.
74836         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74837         (rpl_rename_dest_slash): On failure, use rename's errno rather
74838         than (in some cases) an incorrect or junk errno.
74839         Simplify code by removing need to compute length; this does
74840         cause it to make two passes instead of one over the file name,
74841         but it's worth it.
74842
74843         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74844         change, since Autoconf's version may no longer be appropriate now
74845         that we are using CVS Autoconf's version.  Add support for Tandem.
74846
74847 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74848             Bruno Haible  <bruno@clisp.org>
74849
74850         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74851         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74852         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74853         gl_AC_TYPE_LONG_LONG.
74854
74855         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74856         instead of HAVE_LONG_LONG.
74857         * lib/printf-args.c (printf_fetchargs): Likewise.
74858         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74859         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74860         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74861         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74862         gl_AC_TYPE_LONG_LONG.
74863
74864 2006-10-11  Bruno Haible  <bruno@clisp.org>
74865
74866         * m4/longlong.m4: Add comments.
74867         * m4/ulonglong.m4: Likewise.
74868
74869 2006-10-10  Bruno Haible  <bruno@clisp.org>
74870
74871         Make it possible to #define stpcpy, strdup to aliases.
74872         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74873         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74874
74875 2006-10-10  Bruno Haible  <bruno@clisp.org>
74876
74877         Make it possible to #define gcd to an alias.
74878         * lib/gcd.c: Include config.h.
74879
74880 2006-10-10  Bruno Haible  <bruno@clisp.org>
74881
74882         Make it possible to #define c_isascii to an alias.
74883         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74884         defined. Undefine the macros before defining them, to avoid gcc
74885         warnings.
74886         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74887         define NO_C_CTYPE_MACROS early.
74888
74889 2006-10-10  Bruno Haible  <bruno@clisp.org>
74890
74891         Make it possible to #define set_program_name to an alias.
74892         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74893         ENABLE_RELOCATABLE early.
74894
74895 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74896
74897         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74898         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74899         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74900         More generally, don't assume that 64-bit signed int is available
74901         if unsigned int is, and vice versa.
74902         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74903         unsigned symbols, not on their signed counterparts.
74904         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74905         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74906         (UINT64_C, UINTMAX_C):
74907         Likewise.
74908         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74909         unsigned counterparts.
74910         (Have_long_long, Unsigned): New macros.
74911         (Int): Renamed from INT.
74912         (strtoimax): Use the new macros.
74913         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74914         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74915         * modules/inttypes (inttypes.h): Substitute
74916         HAVE_UNSIGNED_LONG_LONG_INT.
74917         * modules/stdint (stdint.h): Likewise.
74918         (Files): Add m4/ulonglong.m4.
74919
74920 2006-10-10  Bruno Haible  <bruno@clisp.org>
74921
74922         Fix a gcc -Wshadow warning.
74923         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74924         to 'bucket'.
74925         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74926         gl_linked_indexof_from_to): Likewise.
74927         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74928         Likewise.
74929         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74930         Likewise.
74931         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74932         Reported by Eric Blake.
74933
74934 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74935
74936         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74937         for NetBSD.  Problem reported by Bruno Haible.
74938
74939 2006-10-09  Jim Meyering  <jim@meyering.net>
74940
74941         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74942         Patch from Bruno Haible.
74943
74944 2006-10-09  Jim Meyering  <jim@meyering.net>
74945
74946         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74947         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74948         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74949
74950 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74951
74952         Don't include <config.h> twice; this doesn't work in some cases,
74953         e.g., when config.h has "#define intmax_t long long int" and
74954         we include <config.h>, <inttypes.h>, <config.h> in that order.
74955         Problem reported by Matthew Woehlke in:
74956         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74957         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74958         * lib/fts-cycle.c: Don't include config.h.
74959         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74960         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74961         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74962         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74963         inttypes.h.
74964         * lib/xstrtoumax.c: Likewise.
74965         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74966         __strtol and the like, so that this module is more like its siblings.
74967         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74968         Remove; no longer needed now that we assume gnulib inttypes.h.
74969
74970 2006-10-08  Bruno Haible  <bruno@clisp.org>
74971
74972         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74973         option.
74974
74975 2006-10-07  Jim Meyering  <jim@meyering.net>
74976
74977         * modules/inttypes (inttypes.h): Revert what seems to have been
74978         an inadvertent part of today's change: use "|", not "/" in the
74979         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74980
74981 2006-10-07  Bruno Haible  <bruno@clisp.org>
74982
74983         * modules/sublist: New file.
74984
74985 2006-10-07  Bruno Haible  <bruno@clisp.org>
74986
74987         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74988         * modules/argz (argz.h): Likewise.
74989         * modules/arpa_inet (arpa/inet.h): Likewise.
74990         * modules/byteswap (byteswap.h): Likewise.
74991         * modules/configmake (configmake.h): Likewise.
74992         * modules/fcntl (fcntl.h): Likewise.
74993         * modules/fnmatch (fnmatch.h): Likewise.
74994         * modules/getopt (getopt.h): Likewise.
74995         * modules/glob (glob.h): Likewise.
74996         * modules/inttypes (inttypes.h): Likewise.
74997         * modules/netinet_in (netinet/in.h): Likewise.
74998         * modules/poll (poll.h): Likewise.
74999         * modules/stdbool (stdbool.h): Likewise.
75000         * modules/stdint (stdint.h): Likewise.
75001         * modules/sys_select (sys/select.h): Likewise.
75002         * modules/sys_socket (sys/socket.h): Likewise.
75003         * modules/sys_stat (sys/stat.h): Likewise.
75004         * modules/sysexits (sysexits.h): Likewise.
75005         * modules/unistd (unistd.h): Likewise.
75006         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75007         Add a "DO NOT EDIT" comment to the generated file.
75008         (func_import): Likewise for gnulib-comp.m4.
75009
75010 2006-10-07  Bruno Haible  <bruno@clisp.org>
75011
75012         * lib/gl_sublist.h: New file.
75013         * lib/gl_sublist.c: New file.
75014
75015 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75016
75017         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
75018         name (relative to the original working directory) and the file
75019         name component (relative to the temporary working directory).  All
75020         callers changed.
75021         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
75022         * lib/mkdir-p.c (make_dir_parents): Likewise.
75023         * lib/mkdir-p.h (make_dir_parents): Likewise.
75024
75025 2006-10-06  Eric Blake  <ebb9@byu.net>
75026
75027         Define several macros for use by the clean-temp module.
75028         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
75029         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
75030         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
75031
75032         * lib/clean-temp.h (close_stream_temp): New declaration.
75033         * lib/clean-temp.c (includes): Pull in headers according to what
75034         other modules are in use.
75035         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
75036
75037 2006-10-06  Bruno Haible  <bruno@clisp.org>
75038
75039         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
75040         instead of fopen, fwriteerror.
75041
75042 2006-10-06  Bruno Haible  <bruno@clisp.org>
75043
75044         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
75045         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
75046         int.
75047         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
75048         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
75049         Return an error indicator.
75050         Suggested by Eric Blake.
75051
75052 2006-10-06  Bruno Haible  <bruno@clisp.org>
75053
75054         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
75055         Reported by Eric Blake.
75056
75057 2006-10-06  Bruno Haible  <bruno@clisp.org>
75058
75059         * modules/closeout (Description): Mention stderr too.
75060
75061 2006-10-06  Bruno Haible  <bruno@clisp.org>
75062         and Paul Eggert  <eggert@cs.ucla.edu>
75063
75064         * lib/closeout.c (close_stdout): Also close stderr.
75065         * lib/closeout.h: Update comment.
75066
75067 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75068
75069         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
75070         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
75071         * lib/dirchownmod.c: Include lchown.h.
75072         * lib/lchown.c: Don't include files that lchown.h now includes.
75073         Don't declare chown, since lchown.h now does that.
75074         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
75075         (lchown): Define to rpl_chown if lchown is declared but
75076         does not exist.  Declare using a prototype if lchown is not
75077         declared.  Add a copyright notice.
75078         * lib/mkstemp.h: Include <unistd.h>.
75079         * lib/openat.c: Include lchown.h.
75080
75081         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
75082         we now test for that separately.
75083         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
75084         rather than O_NOFOLLOW, when testing whether it's possible to
75085         avoid a race condition reliably.
75086         * lib/savewd.c (savewd_chdir): Likewise.
75087
75088         Remove macros that are no longer needed now that stdint.h is
75089         reliable.
75090         * lib/fsusage.c (UINTMAX_MAX): Remove.
75091         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
75092         * lib/utimecmp.c (SIZE_MAX): Remove.
75093
75094         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
75095
75096         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
75097         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
75098         O_NOATIME works.
75099
75100 2006-10-05  Bruno Haible  <bruno@clisp.org>
75101
75102         * lib/gl_list.h (gl_sortedlist_search_from_to,
75103         gl_sortedlist_indexof_from_to): New declarations.
75104         (gl_list_implementation): New fields sortedlist_search_from_to,
75105         sortedlist_indexof_from_to.
75106         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
75107         inline functions.
75108         * lib/gl_list.c (gl_sortedlist_search_from_to,
75109         gl_sortedlist_indexof_from_to): New functions.
75110         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
75111         function.
75112         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
75113         (gl_array_sortedlist_search_from_to): New function.
75114         (gl_array_list_implementation): Update.
75115         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
75116         function.
75117         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
75118         (gl_carray_sortedlist_search_from_to): New function.
75119         (gl_carray_list_implementation): Update.
75120         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
75121         gl_linked_sortedlist_indexof_from_to): New functions.
75122         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75123         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75124         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
75125         gl_tree_sortedlist_indexof_from_to): New functions.
75126         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75127         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75128         Update.
75129         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75130         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75131         Update.
75132
75133 2006-10-05  Bruno Haible  <bruno@clisp.org>
75134
75135         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75136         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75137         (struct gl_list_implementation): Add fields search_from_to,
75138         indexof_from_to. Remove fields search, indexof.
75139         (gl_list_search): Use the search_from_to method.
75140         (gl_list_search_from, gl_list_search_from_to): New functions.
75141         (gl_list_indexof): Use the indexof_from_to method.
75142         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75143         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75144         (gl_list_search_from, gl_list_search_from_to): New functions.
75145         (gl_list_indexof): Use the indexof_from_to method.
75146         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75147         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75148         gl_array_indexof. Add start_index, end_index arguments.
75149         (gl_array_search_from_to): Renamed from gl_array_search. Add
75150         start_index, end_index arguments.
75151         (gl_array_remove, gl_array_list_implementation): Update.
75152         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75153         gl_carray_indexof. Add start_index, end_index arguments.
75154         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75155         start_index, end_index arguments.
75156         (gl_carray_remove, gl_carray_list_implementation): Update.
75157         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75158         gl_linked_search. Add start_index, end_index arguments.
75159         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75160         start_index, end_index arguments.
75161         (gl_linked_remove): Update.
75162         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75163         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75164         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75165         field to 'size_t'.
75166         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75167         gl_tree_search. Add start_index, end_index arguments.
75168         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75169         start_index, end_index arguments.
75170         (gl_tree_remove): Update.
75171         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75172         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75173         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75174         function.
75175         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75176         gl_tree_search. Add start_index, end_index arguments.
75177         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75178         start_index, end_index arguments.
75179         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75180         Update.
75181         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75182
75183 2006-10-05  Bruno Haible  <bruno@clisp.org>
75184
75185         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75186
75187         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75188         fwriteerror_temp): New declarations.
75189         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75190         (descriptors): New variable.
75191         (cleanup): First, close the descriptors.
75192         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75193         fclose_temp, fwriteerror_temp): New functions.
75194
75195 2006-10-04  Jim Meyering  <jim@meyering.net>
75196
75197         * lib/fts.c (fts_open): Tiny comment change.
75198
75199 2006-10-04  Bruno Haible  <bruno@clisp.org>
75200
75201         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75202         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75203         gl_LOCK_BODY.
75204         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75205         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75206         gl_LOCK_EARLY_BODY.
75207         (gl_LOCK): Require gl_LOCK_BODY.
75208
75209 2006-10-04  Bruno Haible  <bruno@clisp.org>
75210
75211         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75212         (gl_oset_search_atleast): New declaration.
75213         (struct gl_oset_implementation): Add field 'search_atleast'.
75214         (gl_oset_search_atleast): New inline function.
75215         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75216         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75217         (gl_array_oset_implementation): Update.
75218         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75219         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75220         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75221
75222 2006-10-04  Bruno Haible  <bruno@clisp.org>
75223
75224         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75225
75226 2006-10-03  Bruno Haible  <bruno@clisp.org>
75227
75228         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75229         from gl_avltreehash_list_implementation.
75230
75231 2006-10-03  Bruno Haible  <bruno@clisp.org>
75232
75233         * lib/gl_oset.c (gl_oset_add): Fix return type.
75234
75235 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75236
75237         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75238
75239 2006-10-02  Eric Blake  <ebb9@byu.net>
75240
75241         * modules/strnlen (Depends-on): Add extensions.
75242
75243 2006-10-02  Eric Blake  <ebb9@byu.net>
75244
75245         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75246         definition in 2.60+.
75247
75248 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75249
75250         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75251         checks.
75252
75253 2006-10-02  Bruno Haible  <bruno@clisp.org>
75254
75255         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75256         to the AUTOMAKE_OPTIONS.
75257         Reported by Jim Meyering.
75258
75259 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75260
75261         Work around bug in Solaris 10 /proc file system:
75262         /proc/self/fd/NNN/.. isn't the parent directory of
75263         the directory whose file descriptor is NNN.  This needs to
75264         be worked around at run time, not compile time, since a
75265         program might be built on Solaris 8, where things work, and
75266         run on Solaris 10.
75267         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75268         to use the following interface instead:
75269         (OPENAT_BUFFER_SIZE): New macro.
75270         (openat_proc_name): New function.
75271         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75272         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75273         Likewise.
75274         * lib/openat-proc.c: New file.
75275         * modules/openat (Files): Add lib/openat-proc.c.
75276         (Depends-on): Add same-inode, stdbool.
75277         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75278
75279 2006-09-29  Bruno Haible  <bruno@clisp.org>
75280
75281         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75282         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75283         argument. Set stdout_closed before testing for ferror, not after.
75284         (fwriteerror, fwriteerror_no_ebadf): New functions.
75285
75286 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75287
75288         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75289
75290 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75291
75292         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75293         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75294
75295 2006-09-28  Jim Meyering  <jim@meyering.net>
75296
75297         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75298         Include <unistd.h>.
75299
75300 2006-09-28  Bruno Haible  <bruno@clisp.org>
75301
75302         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75303         * modules/linkedhash-list (Depends-on): Likewise.
75304         * modules/rbtreehash-list (Depends-on): Likewise.
75305
75306 2006-09-28  Bruno Haible  <bruno@clisp.org>
75307
75308         * lib/strndup.h: Simplify the redefinition of strndup.
75309         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75310         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75311
75312 2006-09-28  Bruno Haible  <bruno@clisp.org>
75313
75314         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75315         * lib/gl_linkedhash_list.c: Likewise.
75316         * lib/gl_rbtreehash_list.c: Likewise.
75317
75318 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75319
75320         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75321         getaddrinfo.
75322
75323         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75324         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75325         it causes <stdio_ext.h> to cause a compile-time error.
75326         Problem reported by Nelson H. F. Beebe.
75327         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75328         of HAVE_DECL___PENDING.
75329
75330         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75331         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75332         declaration.
75333
75334 2006-09-27  Jim Meyering  <jim@meyering.net>
75335
75336         This file could end up with a definition for a function
75337         named __strndup, rather than rpl_strndup on a system with
75338         incomplete weak_alias support.
75339         * lib/strndup.c (strndup): Rename from __strndup.
75340         Remove #defines that used to map __strndup to strndup.
75341         Don't use K&R prototypes.
75342         Remove LIBC-related code, since this file is not sync'd with glibc.
75343         * lib/strndup.h: Revamp, accordingly.
75344         * m4/strndup.m4: Modernize.
75345
75346 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75347
75348         * modules/savewd (Depends-on): Add 'raise'.
75349         * lib/savewd.c: Include <signal.h>, for 'raise'.
75350
75351 2006-09-26  Jim Meyering  <jim@meyering.net>
75352
75353         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75354         when we detect Darwin 8.7.0's acl_get_file bug.
75355         Rearrange to perform the new (below) run-test while $LIBS
75356         contains any acl-related library.  Set USE_ACL at the end.
75357         (gl_ACL_GET_FILE): New function.
75358
75359 2006-09-26  Eric Blake  <ebb9@byu.net>
75360
75361         * lib/verror.c: Include <config.h> unconditionally.
75362
75363 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75364
75365         * modules/clock-time (Maintainer): Add self.
75366         * modules/getlogin_r (Depends-on): Add extensions.
75367
75368 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75369
75370         * modules/clock-time: New module.
75371         * modules/nanosleep (Depends-on): Add clock-time.
75372         * modules/gethrxtime (Depends-on): Likewise.
75373         * modules/gettime (Depends-on): Likewise.
75374         * modules/settime (Depends-on): Likewise.
75375
75376         * modules/fts-lgpl: Depend on openat.
75377         * modules/mkancesdirs: Depend on savewd.
75378         * modules/mkdir-p: Likewise.
75379
75380 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75381
75382         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75383
75384         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75385         `gl_have_arbitrary_file_name_length_limit' to
75386         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75387         actually works between configure runs.
75388
75389 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75390             Bruno Haible  <bruno@clisp.org>
75391
75392         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75393
75394 2006-09-25  Jim Meyering  <jim@meyering.net>
75395
75396         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75397         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75398
75399 2006-09-25  Eric Blake  <ebb9@byu.net>
75400
75401         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75402         exec's in 2006-09-18 patch when shuffling fds.
75403
75404 2006-09-25  Bruno Haible  <bruno@clisp.org>
75405
75406         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75407         Reported by Jim Meyering.
75408
75409 2006-09-24  Jim Meyering  <jim@meyering.net>
75410
75411         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75412         compare a pointer against a literal "0".  That caused failures with
75413         at least HP-UX's hpcc.
75414
75415 2006-09-22  Simon Josefsson  <jas@extundo.com>
75416
75417         * modules/gc-sha1:
75418         * modules/gc-md4:
75419         * modules/gc-hmac-sha1:
75420         * modules/gc-hmac-md5:
75421         * modules/gc-des:
75422         * modules/gc-arcfour: Distribute more files.
75423
75424 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75425
75426         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
75427         (gl_linked_iterator_from_to): Initialize struct completely.
75428         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
75429         (gl_tree_iterator_from_to): Likewise
75430         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
75431         * lib/gl_array_list.c [lint] (gl_array_iterator)
75432         (gl_array_iterator_from_to): Likewise.
75433         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
75434         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
75435         (gl_carray_iterator_from_to): Likewise.
75436
75437         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
75438         * lib/md4.c (md4_process_block): Remove unused variable.
75439         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
75440         parentheses for clarity.
75441
75442 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75443
75444         * modules/bison-i18n (Depends-on): Add gettext.
75445
75446 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75447
75448         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
75449         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
75450         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
75451         also add missing comma that caused broken test.
75452         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
75453         stdlib.h, for `abort'.
75454         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
75455         variables.
75456         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
75457         include unistd.h if present, for `rmdir'.
75458         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75459         variables.
75460         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75461         in the process include standard headers for prototypes.
75462         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75463         gets declared on GNU/Linux.
75464         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75465         unistd.h, for `rmdir'.
75466         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75467
75468         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75469         always true.
75470         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75471
75472         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75473
75474 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75475
75476         * gnulib-tool (func_version): Create output all at once.  This
75477         may help avoid triggering unnecessary SIGPIPEs, and at any
75478         rate it doesn't hurt.
75479
75480 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75481             Bruno Haible  <bruno@clisp.org>
75482
75483         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75484         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75485         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75486
75487         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75488         (gl_FUNC_VASPRINTF): Invoke it.
75489
75490 2006-09-22  Bruno Haible  <bruno@clisp.org>
75491
75492         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75493         getloadavg.c as first argument.
75494
75495 2006-09-22  Bruno Haible  <bruno@clisp.org>
75496
75497         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75498         at the beginning of the gl_INIT macro.
75499         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75500         gl_GETLOADAVG.
75501
75502 2006-09-22  Bruno Haible  <bruno@clisp.org>
75503
75504         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75505         module.
75506         Suggested by Ralf Wildenhues.
75507
75508 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75509
75510         Import this patch from libc:
75511
75512         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75513
75514         * lib/regex_internal.c (re_string_reconstruct): Handle
75515         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75516         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75517         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75518         re_string_context_at.
75519
75520         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75521         now requires it.
75522         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75523         gl_REGEX now does it for us.
75524         (gl_REGEX): Add test taken from
75525         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75526
75527         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75528         Check that large offsets work.  Modernize Autoconf usages.
75529         Prefer "yes" to mean a good thing rather than a bad.
75530         Don't put "#define mkstemp" in config.h, as this might interfere
75531         with standard system headers that "#define mkstemp mkstemp64".
75532
75533         * modules/mkstemp (Depends-on): Add extensions, so that
75534         mkstemp is visible on some platforms.
75535         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75536         (Include): Change to "mkstemp.h" from <stdlib.h>.
75537         (Files): Add mkstemp.h.
75538
75539         * lib/mkstemp.h: New file, since some standard headers
75540         #define mkstemp.
75541         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75542         Include "mkstemp.h".
75543         Make the _LIBC code resemble glibc original more,
75544         e.g., use K&R style.
75545         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75546         (mkstemp): Remove, since mkstemp.h does this for us.
75547         * lib/stdlib--.h: Include mkstemp.h.
75548
75549         Import this patch from libc:
75550
75551         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75552
75553         * lib/tempname.c (__gen_tempname): Change attempts_min
75554         into a macro.  Use preprocessor to decide how to initialize
75555         attempts [Coverity CID 67].
75556
75557 2006-09-20  Bruno Haible  <bruno@clisp.org>
75558
75559         * lib/mkdtemp.c: Import from libc.
75560         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75561                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75562                 attempts_min into a macro.  Use preprocessor to decide how to
75563                 initialize attempts [Coverity CID 67].
75564         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75565                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75566                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75567
75568 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75569
75570         * gnulib-tool (func_exit): New function, to allow to pass the
75571         exit status portably through the trap.  Use everywhere.
75572         (--help, --version): Signal a write error.
75573         (trap): catch SIGPIPE, for write errors.
75574         Exit at the end of the trap, with the correct exit status.
75575
75576 2006-09-19  Karl Berry  <karl@gnu.org>
75577
75578         * doc/gnulib.texi: note about the license texinfo files.
75579
75580 2006-09-19  Eric Blake  <ebb9@byu.net>
75581
75582         * gnulib-tool: Avoid space-tab.
75583
75584 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75585
75586         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75587         that prevented coreutils 6.1 from building.  Problem reported
75588         by Petter Reinholdtsen.
75589
75590 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75591
75592         * gnulib-tool (avoidlist): Fix typo that broke options like
75593         --avoid=lock that are used by coreutils bootstrap.
75594
75595 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75596
75597         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75598         more systematically.
75599
75600 2006-09-18  Jim Meyering  <jim@meyering.net>
75601
75602         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75603
75604 2006-09-18  Bruno Haible  <bruno@clisp.org>
75605
75606         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75607
75608 2006-09-18  Bruno Haible  <bruno@clisp.org>
75609
75610         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75611         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75612         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75613         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75614         * m4/gettext.m4: Require autoconf >= 2.52.
75615         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75616         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75617         of gl_cv_header_inttypes_h.
75618
75619 2006-09-18  Bruno Haible  <bruno@clisp.org>
75620
75621         * lib/javaversion.c: Include configmake.h.
75622
75623 2006-09-18  Bruno Haible  <bruno@clisp.org>
75624
75625         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75626         avoid that the while loops be executed in a subshell.
75627
75628 2006-09-18  Bruno Haible  <bruno@clisp.org>
75629
75630         * MODULES.html.sh (func_module): Break long lines.
75631         Suggested by Bruce Korb <bkorb@gnu.org>.
75632
75633 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75634
75635         Speed up by a factor of 1.12.
75636         * gnulib-tool (nl): New variable.
75637         (func_import): Rewrite include directive extraction to only read each
75638         directive once.
75639
75640 2006-09-17  Bruno Haible  <bruno@clisp.org>
75641
75642         * modules/javaversion (Makefile.am): Remove DEFS setting.
75643         (Depends-on): Add configmake, for PKGDATADIR definition.
75644
75645 2006-09-17  Bruno Haible  <bruno@clisp.org>
75646
75647         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75648
75649 2006-09-17  Bruno Haible  <bruno@clisp.org>
75650
75651         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75652         (func_modules_transitive_closure, func_modules_add_dummy,
75653         func_modules_to_filelist, func_import, func_create_testdir,
75654         func_create_megatestdir, ...): Use it wherever possible.
75655         Suggested by Ralf Wildenhues.
75656
75657 2006-09-16  Karl Berry  <karl@gnu.org>
75658
75659         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75660         to avoid sectioning errors.
75661         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75662         [ifinfo]: blank line after @center-ed titles.
75663         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75664         Spell FSF address consistently with others.
75665         (These changes approved by rms.)
75666
75667 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75668
75669         Speed up by a factor of 1.61.
75670         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75671         already checked module names again.
75672
75673 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75674
75675         Speed up by a factor of 1.13.
75676         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75677         for new_files, and the input to func_add_or_update.
75678
75679 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75680
75681         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75682         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75683
75684 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75685
75686         * modules/mkancesdirs (Depends-on): Add fcntl.
75687         * modules/savewd: New file.
75688         * MODULES.html.sh (File system functions): Add savewd.
75689
75690         * modules/configmake (Makefile.am): Add support for the
75691         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75692
75693 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75694
75695         * m4/savewd.m4: New file.
75696
75697 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75698
75699         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75700         (dirchownmod): New arg FD.  All callers changed.
75701         Use FD rather than opening the directory ourself, as opening is
75702         now the caller's responsibility.
75703         * lib/dirchownmod.h: Likewise.
75704         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75705         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75706         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75707         (test_dir): Remove.
75708         (mkancesdirs): Return length of prefix of FILE that has already
75709         been made, or -2 if there is a child doing the work.  Redo
75710         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75711         ".", and treat ".." specially since it might stray back into
75712         already-created areas.  Use a subprocess if necessary.  New arg
75713         WD; all users changed.  MAKE_DIR function should now return 1
75714         if it creates a directory that is not readable.  Return -2 if
75715         a child process is spun off.
75716         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75717         Adjust signature to match code.
75718         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75719         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75720         all users changed.
75721         * lib/savewd.c, lib/savewd.h: New files.
75722
75723 2006-09-15  Jim Meyering  <jim@meyering.net>
75724
75725         * modules/rename-dest-slash: New module.
75726         * MODULES.html.sh (posix_compat): Add it here.
75727
75728         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75729
75730 2006-09-15  Jim Meyering  <jim@meyering.net>
75731
75732         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75733         file.
75734
75735         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75736
75737 2006-09-15  Jim Meyering  <jim@meyering.net>
75738
75739         * lib/rename-dest-slash.c (has_trailing_slash): Use
75740         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75741         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75742         test before testing whether SRC is a directory.
75743         Suggestions from Bruno Haible.
75744
75745         Avoid a warning about an unused variable.
75746         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75747         into the #ifdef block where it's used.
75748
75749         * lib/rename-dest-slash.c: New file.
75750
75751 2006-09-14  Bruno Haible  <bruno@clisp.org>
75752
75753         * lib/allocsa.c: Include <config.h> unconditionally.
75754         * lib/asnprintf.c: Likewise.
75755         * lib/asprintf.c: Likewise.
75756         * lib/c-strcasecmp.c: Likewise.
75757         * lib/c-strcasestr.c: Likewise.
75758         * lib/c-strncasecmp.c: Likewise.
75759         * lib/c-strstr.c: Likewise.
75760         * lib/classpath.c: Likewise.
75761         * lib/clean-temp.c: Likewise.
75762         * lib/concatpath.c: Likewise.
75763         * lib/copy-file.c: Likewise.
75764         * lib/csharpcomp.c: Likewise.
75765         * lib/csharpexec.c: Likewise.
75766         * lib/execute.c: Likewise.
75767         * lib/fatal-signal.c: Likewise.
75768         * lib/findprog.c: Likewise.
75769         * lib/fwriteerror.c: Likewise.
75770         * lib/gl_array_list.c: Likewise.
75771         * lib/gl_array_oset.c: Likewise.
75772         * lib/gl_avltree_list.c: Likewise.
75773         * lib/gl_avltree_oset.c: Likewise.
75774         * lib/gl_avltreehash_list.c: Likewise.
75775         * lib/gl_carray_list.c: Likewise.
75776         * lib/gl_linked_list.c: Likewise.
75777         * lib/gl_linkedhash_list.c: Likewise.
75778         * lib/gl_list.c: Likewise.
75779         * lib/gl_oset.c: Likewise.
75780         * lib/gl_rbtree_list.c: Likewise.
75781         * lib/gl_rbtree_oset.c: Likewise.
75782         * lib/gl_rbtreehash_list.c: Likewise.
75783         * lib/imaxabs.c: Likewise.
75784         * lib/imaxdiv.c: Likewise.
75785         * lib/javacomp.c: Likewise.
75786         * lib/javaexec.c: Likewise.
75787         * lib/javaversion.c: Likewise.
75788         * lib/linebreak.c: Likewise.
75789         * lib/localcharset.c: Likewise.
75790         * lib/lock.c: Likewise.
75791         * lib/mbchar.c: Likewise.
75792         * lib/mbswidth.c: Likewise.
75793         * lib/mkdtemp.c: Likewise.
75794         * lib/pipe.c: Likewise.
75795         * lib/printf-args.c: Likewise.
75796         * lib/printf-parse.c: Likewise.
75797         * lib/progname.c: Likewise.
75798         * lib/progreloc.c: Likewise.
75799         * lib/readlink.c: Likewise.
75800         * lib/sh-quote.c: Likewise.
75801         * lib/stpcpy.c: Likewise.
75802         * lib/stpncpy.c: Likewise.
75803         * lib/strcasecmp.c: Likewise.
75804         * lib/strcasestr.c: Likewise.
75805         * lib/strcspn.c: Likewise.
75806         * lib/striconv.c: Likewise.
75807         * lib/strncasecmp.c: Likewise.
75808         * lib/strnlen1.c: Likewise.
75809         * lib/strstr.c: Likewise.
75810         * lib/strtok_r.c: Likewise.
75811         * lib/tls.c: Likewise.
75812         * lib/tmpdir.c: Likewise.
75813         * lib/unicodeio.c: Likewise.
75814         * lib/unsetenv.c: Likewise.
75815         * lib/vasnprintf.c: Likewise.
75816         * lib/vasprintf.c: Likewise.
75817         * lib/wait-process.c: Likewise.
75818         * lib/xallocsa.c: Likewise.
75819         * lib/xsetenv.c: Likewise.
75820         * lib/xstriconv.c: Likewise.
75821
75822 2006-09-13  Simon Josefsson  <jas@extundo.com>
75823
75824         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75825         that internally, suggested by Ralf Wildenhues
75826         <Ralf.Wildenhues@gmx.de>.
75827
75828 2006-09-13  Simon Josefsson  <jas@extundo.com>
75829
75830         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75831         @LIBOBJS@.
75832         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75833
75834 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75835
75836         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75837         longer worry about uses that don't define HAVE_CONFIG_H.
75838         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75839         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75840         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75841         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75842         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75843         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75844         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75845         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75846         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75847         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75848         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75849         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75850         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75851         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75852         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75853         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75854         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75855         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75856         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75857         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75858         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75859         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75860         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75861         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75862         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75863         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75864         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75865         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75866         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75867         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75868         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75869         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75870         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75871         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75872         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75873         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75874         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75875         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75876         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75877         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75878         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75879         Likewise.
75880
75881 2006-09-13  Eric Blake  <ebb9@byu.net>
75882
75883         * lib/getopt.c: Fix typo in last commit.
75884
75885 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75886
75887         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75888         dgettext.
75889
75890 2006-09-12  Jim Meyering  <jim@meyering.net>
75891
75892         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75893         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75894         Reported by Nelson H. F. Beebe.
75895
75896 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75897
75898         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75899         program_invocation_name and program_invocation_short_name are
75900         initialized.
75901         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75902         and program_invocation_short_name to argp.h, so they are visible
75903         to user programs.
75904         * lib/argp.h: Likewise
75905
75906 2006-09-10  Bruno Haible  <bruno@clisp.org>
75907
75908         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75909         m4/inttypes_h.m4, m4/uintmax_t.m4.
75910
75911 2006-09-10  Bruno Haible  <bruno@clisp.org>
75912
75913         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75914         gl_AC_TYPE_UINTMAX_T.
75915
75916 2006-09-10  Bruno Haible  <bruno@clisp.org>
75917
75918         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75919
75920 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75921
75922         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75923         convention.  Text proposed by Bruno Haible.
75924         (struct argp_option): Document the use of N_() wrappers.
75925
75926         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75927         '\v', and translate the two parts separately, instead of feeding
75928         the whole string to gettext.  This allows to exclude
75929         '\v' from the strings visible to the translator by writing doc
75930         strings as N_("..") "\v" N_("..").
75931
75932 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75933
75934         * config/srclist.txt: Undo latest change; the bug was fixed.
75935
75936 2006-09-09  Bruno Haible  <bruno@clisp.org>
75937
75938         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75939         assignments if building a library without libtool.
75940         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75941         in func_emit_lib_Makefile_am.
75942         (func_import): When building a static library libfoo.a, arrange to
75943         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75944         (func_create_testdir): Likewise.
75945         * modules/gc (configure.ac, Makefile.am): If building statically,
75946         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75947         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75948         * modules/striconv (configure.ac, Makefile.am): Likewise.
75949         Based on a suggestion by Ralf Wildenhues.
75950
75951 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75952
75953         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75954         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75955         Also:
75956
75957         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75958         Add year_2050_test to catch glibc bug 2821
75959         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75960
75961         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75962         Prefer #ifdef to #if.
75963
75964         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75965         Return from 'main' instead of calling 'exit'.
75966
75967 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75968
75969         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75970         returned the maximum time_t value rather than (time_t) -1.
75971         Problem originally reported by William Bardwell
75972         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75973
75974         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75975         Moved to here ...
75976         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75977         ... from here.
75978
75979 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75980
75981         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75982         2821 is fixed.
75983
75984 2006-09-08  Jim Meyering  <jim@meyering.net>
75985
75986         Don't make generated files read-only.  That would bother too many
75987         people.  However, do retain the ability to work when targets are
75988         read-only: remove the destination and temporary files before writing
75989         them (when generated via sed or echo), or by using the -f option for
75990         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75991         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75992         * modules/byteswap, modules/configmake, modules/fcntl:
75993         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75994         * modules/localcharset, modules/netinet_in, modules/poll:
75995         * modules/stdbool, modules/stdint, modules/sys_select:
75996         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75997
75998 2006-09-08  Jim Meyering  <jim@meyering.net>
75999
76000         Avoid new build failure on FreeBSD 6.0.
76001         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
76002         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
76003         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
76004
76005 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76006
76007         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
76008
76009 2006-09-07  Jim Meyering  <jim@meyering.net>
76010
76011         Fix global typo in last change: use chmod u-w, not chmod u-x.
76012         Spotted by Paul Eggert and Bruce Korb.
76013         * modules/alloca-opt, modules/argz, modules/arpa_inet:
76014         * modules/byteswap, modules/configmake, modules/fcntl:
76015         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
76016         * modules/localcharset, modules/netinet_in, modules/poll:
76017         * modules/stdbool, modules/stdint, modules/sys_select:
76018         * modules/sys_socket, modules/sys_stat, modules/sysexits:
76019
76020 2006-09-06  Jim Meyering  <jim@meyering.net>
76021
76022         Make generated files be read-only.
76023         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
76024         Ensure that each generated file is now read-only.
76025         * modules/argz: Likewise.
76026         * modules/arpa_inet: Likewise.
76027         * modules/byteswap: Likewise.
76028         * modules/configmake: Likewise.
76029         * modules/fcntl: Likewise.
76030         * modules/fnmatch: Likewise.
76031         * modules/getopt: Likewise.
76032         * modules/glob: Likewise.
76033         * modules/inttypes: Likewise.
76034         * modules/netinet_in: Likewise.
76035         * modules/poll: Likewise.
76036         * modules/stdbool: Likewise.
76037         * modules/stdint: Likewise.
76038         * modules/sys_select: Likewise.
76039         * modules/sys_socket: Likewise.
76040         * modules/sys_stat: Likewise.
76041         * modules/sysexits: Likewise.
76042         * modules/localcharset: Same as above, but continue using temporary
76043         file named "t-$@" (why different?) rather than the "$@-t" used
76044         everywhere else.
76045
76046         * modules/sysexits (Makefile.am): Replace literal occurrences
76047         of "sysexit.h" more readable, and more consistent, "$@".
76048
76049 2006-09-06  Bruno Haible  <bruno@clisp.org>
76050
76051         * modules/striconv: New file.
76052         * modules/xstriconv: New file.
76053         * MODULES.html.sh (Internationalization functions): Add striconv,
76054         xstriconv.
76055
76056 2006-09-06  Bruno Haible  <bruno@clisp.org>
76057
76058         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
76059         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
76060         not using libtool correctly.
76061
76062 2006-09-06  Bruno Haible  <bruno@clisp.org>
76063
76064         * lib/striconv.h: New file.
76065         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
76066         iconvstring.c.
76067         * lib/xstriconv.h: New file.
76068         * lib/xstriconv.c: New file.
76069
76070 2006-09-06  Bruno Haible  <bruno@clisp.org>
76071
76072         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76073         lib_..._LDFLAGS.
76074
76075 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76076
76077         * lib/argz_.h: Sync from Libtool.
76078
76079         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
76080                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76081
76082         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
76083
76084 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76085
76086         * modules/trim: New file.
76087
76088 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76089
76090         * lib/trim.h: New file.
76091         * lib/trim.c: New file.
76092
76093 2006-09-05  Bruno Haible  <bruno@clisp.org>
76094
76095         * MODULES.html.sh (String handling): Add trim.
76096
76097 2006-09-04  Karl Berry  <karl@gnu.org>
76098
76099         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
76100         until next release.
76101
76102 2006-09-03  Bruno Haible  <bruno@clisp.org>
76103
76104         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
76105         correctly.
76106
76107 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76108
76109         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
76110         not gl_GETLOADAVG.  Omit unneeded semicolons.
76111         Problems reported by Ralf Wildenhues in
76112         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76113         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
76114         at the end, which is the usual gnulib style.
76115
76116         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
76117         of doing all the work ourselves.
76118         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
76119         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
76120
76121 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
76124         Problem reported by Ralf Wildenhues in
76125         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76126
76127         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76128         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76129
76130 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76131
76132         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76133         yesterday's patch by changing test -n to test -z.
76134
76135 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76136
76137         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76138         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76139         the former is now obsolescent.
76140
76141         * modules/chdir-long (Depends-on): Add fcntl.
76142
76143 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76144
76145         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76146         obsolescent, and programs should use gnulib instead.
76147         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76148         but with prefixes changed.
76149
76150 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76151
76152         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76153         or stdbool.h, because they might not exist while configuring.
76154
76155         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76156         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76157         does that for us.
76158         (O_DIRECTORY): Remove.
76159
76160 2006-08-31  Eric Blake  <ebb9@byu.net>
76161
76162         * gnulib-tool: Don't let emacs change spaces to TAB.
76163
76164 2006-08-31  Bruno Haible  <bruno@clisp.org>
76165
76166         * gnulib-tool: When calling func_import more than once, do it in a
76167         subshell.
76168         Reported by Eric Blake <ebb9@byu.net>.
76169
76170 2006-08-31  Bruno Haible  <bruno@clisp.org>
76171
76172         * gnulib-tool (nl): Remove variable.
76173         (sed_transform_lib_file): Use more robust test for config-h module.
76174         (func_import): Fix typo in 2006-08-25 patch.
76175
76176 2006-08-31  Bruno Haible  <bruno@clisp.org>
76177
76178         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76179         specified, augment Makefile.am variables instead of assigning them.
76180
76181 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76182
76183         Work around a bug in both the Linux and SunOS 64-bit kernels:
76184         nanosleep mishandles sleeps for longer than 2**31 seconds.
76185         Problem reported by Frank v Waveren in
76186         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76188         Check for nanosleep bug.
76189         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76190
76191 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76192
76193         Work around a bug in both the Linux and SunOS 64-bit kernels:
76194         nanosleep mishandles sleeps for longer than 2**31 seconds.
76195         Problem reported by Frank v Waveren in
76196         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76197         * lib/nanosleep.c (BILLION): New constant.
76198         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76199         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76200         implementation.
76201
76202 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76203
76204         * modules/nanosleep (Depends-on): Add gettime.
76205
76206 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76207         and Simon Josefsson  <jas@extundo.com>
76208         and Oskar Liljeblad  <oskar@osk.mine.nu>
76209
76210         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76211         * gnulib-tool (func_import): New license type 'unmodifiable license
76212         text'.
76213         * modules/fdl: Use it.  Longer description.
76214         * module/gpl, module/lgpl: New files.
76215
76216 2006-08-30  Jim Meyering  <jim@meyering.net>
76217
76218         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76219         shadowing the parameter.
76220
76221 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76222
76223         Sync from Libtool:
76224
76225         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76226
76227         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76228         sharing with gnulib.  Report by Eric Blake.
76229
76230 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76231
76232         * modules/isapipe: New file.
76233         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76234
76235 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76236
76237         * modules/configmake (Makefile.am): Add a comment, and omit
76238         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76239         by Bruno Haible.
76240
76241 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76242
76243         * m4/isapipe.m4: New file.
76244
76245 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76246
76247         * lib/isapipe.c, lib/isapipe.h: New files.
76248
76249 2006-08-29  Jim Meyering  <jim@meyering.net>
76250
76251         * modules/configmake (Makefile.am): Make configmake.h depend on
76252         Makefile.  Otherwise, a stale configmake.h could hang around.
76253
76254 2006-08-29  Eric Blake  <ebb9@byu.net>
76255
76256         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76257         resolution of upstream bug 3044.
76258
76259 2006-08-29  Bruno Haible  <bruno@clisp.org>
76260
76261         * modules/localcharset (Depends-on): Add configmake.
76262         (Makefile.am): Remove setting of LIBDIR through DEFS.
76263
76264 2006-08-29  Bruno Haible  <bruno@clisp.org>
76265
76266         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76267         defined.
76268
76269 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76270
76271         * modules/fcntl: New file.
76272         * modules/chdir-safer (Depends-on): Add fcntl.
76273         * modules/fts: Likewise.
76274         * modules/mkdir-p: Likewise.
76275
76276         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76277         This undoes the most recent change, since we're now addressing the
76278         problem in a different way.
76279
76280         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76281         into output, since the output might be called Makefile.am even
76282         if $makefile_name is something different.
76283         (func_import): Use $makefile_am rather than
76284         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76285         empty.
76286
76287         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76288
76289 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76290
76291         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76292         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76293         recent change to stdint.m4, since we're now addressing the problem in a
76294         different way.
76295
76296 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76297
76298         * m4/fcntl_h.m4: New file.
76299
76300 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76301
76302         * lib/fcntl_.h: New file.
76303         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76304         the fcntl module.
76305         * lib/dirchownmod.c: Likewise.
76306         * lib/fts.c: Likewise.
76307
76308         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76309         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76310         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76311         just before including <inttypes.h>, to avoid circular inclusion.
76312
76313 2006-08-28  Jim Meyering  <jim@meyering.net>
76314
76315         * doc/visibility.texi: Actually read and correct the grammar of the
76316         sentence affected by yesterday's change.
76317
76318 2006-08-28  Eric Blake  <ebb9@byu.net>
76319
76320         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76321         needs wrapper.
76322
76323 2006-08-28  Eric Blake  <ebb9@byu.net>
76324
76325         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76326
76327 2006-08-28  Eric Blake  <ebb9@byu.net>
76328
76329         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76330
76331 2006-08-28  Bruno Haible  <bruno@clisp.org>
76332
76333         * modules/c-strstr: New file, from GNU gettext.
76334         * MODULES.html.sh (String handling): Add c-strstr.
76335
76336 2006-08-28  Bruno Haible  <bruno@clisp.org>
76337
76338         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76339         macros.
76340         Reported by Eric Blake.
76341
76342 2006-08-28  Bruno Haible  <bruno@clisp.org>
76343
76344         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76345         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76346         * lib/vasprintf.c: Include errno.h, limits.h.
76347         (EOVERFLOW): New fallback definition.
76348         (vasprintf): Test here whether the string length is > INT_MAX.
76349         * lib/vsnprintf.c: Include errno.h, limits.h.
76350         (EOVERFLOW): New fallback definition.
76351         (vsnprintf): Fix bug when generated string was too long for the buffer.
76352         Test here whether the string length is > INT_MAX.
76353
76354 2006-08-28  Bruno Haible  <bruno@clisp.org>
76355
76356         * lib/inttypes_.h (SCNX*): Remove definitions.
76357         Reported by Eric Blake.
76358
76359 2006-08-28  Bruno Haible  <bruno@clisp.org>
76360
76361         * lib/c-strstr.h: New file, from GNU gettext.
76362         * lib/c-strstr.c: New file, from GNU gettext.
76363
76364 2006-08-28  Bruno Haible  <bruno@clisp.org>
76365
76366         * gnulib-tool: Reorder some statements.
76367
76368 2006-08-28  Bruno Haible  <bruno@clisp.org>
76369
76370         * gnulib-tool: New option --makefile-name.
76371         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76372         $makefile_name.
76373         (func_import): Write $makefile_name to the cache file, and read it from
76374         there unless explicitly specified. Use $makefile_name as file name
76375         instead of Makefile.am. Adjust the recommendations accordingly.
76376
76377 2006-08-28  Bruno Haible  <bruno@clisp.org>
76378
76379         * gnulib-tool (func_verify_module): Check against misapplying patch.
76380
76381 2006-08-28  Bruno Haible  <bruno@clisp.org>
76382
76383         * gnulib-tool (func_relativize, func_relconcat): New functions.
76384         Give an error if --local-dir is given with --update.
76385         Remove trailing slashes from $local_gnulib_dir.
76386         (func_import): Store the relativized $local_gnulib_dir in
76387         gnulib-cache.m4, and read it from there if not specified explicitly.
76388
76389 2006-08-28  Bruno Haible  <bruno@clisp.org>
76390
76391         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76392         is the current directory. Respect also $local_gnulib_dir.
76393
76394 2006-08-28  Bruno Haible  <bruno@clisp.org>
76395             Simon Josefsson  <jas@extundo.com>
76396
76397         BeOS portability.
76398         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76399
76400 2006-08-27  Jim Meyering  <jim@meyering.net>
76401
76402         * doc/visibility.texi: Remove duplicate word: "pointer".
76403
76404 2006-08-26  Bruno Haible  <bruno@clisp.org>
76405
76406         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76407         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76408         (Makefile.am): Create inttypes.h from inttypes_.h.
76409         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76410
76411         * modules/imaxabs: New file.
76412
76413         * modules/imaxdiv: New file.
76414
76415 2006-08-26  Bruno Haible  <bruno@clisp.org>
76416
76417         * m4/inttypes.m4: New file.
76418         * m4/_inttypes_h.m4: Remove file.
76419         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76420         PRI_MACROS_BROKEN.
76421         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76422
76423         * m4/imaxabs.m4: New file.
76424
76425         * m4/imaxdiv.m4: New file.
76426
76427 2006-08-26  Bruno Haible  <bruno@clisp.org>
76428
76429         * lib/inttypes_.h: New file.
76430         * lib/inttypes.h: Remove file.
76431         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
76432
76433         * lib/imaxabs.c: New file.
76434
76435         * lib/imaxdiv.c: New file.
76436
76437 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76438
76439         New config-h module, so that "make" output needn't be cluttered
76440         by -DHAVE_CONFIG_H.
76441         * MODULES.html.sh (Support for building libraries and executables):
76442         Add config-h.
76443         * modules/config-h: New file.
76444         * gnulib-tool (nl, sed_transform_lib_file): New vars.
76445         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
76446         the config-h module is used.
76447
76448         New configmake module, so that "make" output needn't be cluttered
76449         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
76450         * MODULES.html.sh (Support for building libraries and executables):
76451         Add configmake.
76452         * modules/configmake: New file.
76453
76454 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76455
76456         * m4/config-h.m4: New file.
76457
76458 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76459
76460         * config/srclist.txt: Add elisp-comp.
76461
76462 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76463
76464         * MODULES.html.sh (Support for building libraries and executables):
76465         Add elisp-comp.
76466         * build-aux/elisp-comp: New file.
76467         * modules/elisp-comp: New file.
76468
76469 2006-08-24  Bruno Haible  <bruno@clisp.org>
76470
76471         * gnulib-tool (func_create_testdir): Use non-default values of
76472         sourcebase and m4base.
76473
76474 2006-08-24  Bruno Haible  <bruno@clisp.org>
76475
76476         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76477         HTML structure.
76478
76479 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76480
76481         * modules/openat (Depends-on): Add lchown.
76482
76483 2006-08-23  Bruno Haible  <bruno@clisp.org>
76484
76485         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76486         of gl_LOCK_EARLY instead of gl_LOCK.
76487
76488 2006-08-23  Bruno Haible  <bruno@clisp.org>
76489
76490         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76491         on OSF/1 to no.
76492         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76493
76494 2006-08-23  Bruno Haible  <bruno@clisp.org>
76495
76496         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76497         as unusable.
76498
76499         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76500         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76501         (gl_LOCK): New macro.
76502
76503 2006-08-22  Simon Josefsson  <jas@extundo.com>
76504
76505         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76506         to md5 module.
76507
76508 2006-08-22  Simon Josefsson  <jas@extundo.com>
76509
76510         * MODULES.html.sh: Add "Support for maintaining and release
76511         projects".
76512
76513         * build-aux/gnupload: New file, from coreutils.
76514
76515 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76516
76517         Avoid the need for AC_LIBSOURCES in m4 macros.
76518         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76519         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76520         * modules/check-version (EXTRA_DIST): Add check-version.h.
76521         * modules/crc (EXTRA_DIST): Add crc.h.
76522         * modules/des (EXTRA_DIST): Add des.h.
76523         * modules/gc (EXTRA_DIST): Add gc.h.
76524         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76525         * modules/getline (EXTRA_DIST): Add getline.h.
76526         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76527         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76528         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76529         * modules/md2 (EXTRA_DIST): Add md2.h.
76530         * modules/md4 (EXTRA_DIST): Add md4.h.
76531         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76532         * modules/read-file (EXTRA_DIST): Add read-file.h.
76533         * modules/readline (EXTRA_DIST): Add readline.h.
76534         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76535         rijndael-api-fst.h.
76536
76537 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         * m4/rijndael.m4 (gl_ARCFOUR):
76540         * m4/arctwo.m4 (gl_ARCTWO):
76541         * m4/check-version.m4 (gl_CHECK_VERSION):
76542         * m4/crc.m4 (gl_CRC):
76543         * m4/des.m4 (gl_DES):
76544         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76545         * m4/gc.m4 (gl_GC):
76546         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76547         * m4/getline.m4 (gl_FUNC_GETLINE):
76548         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76549         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76550         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76551         * m4/md2.m4 (gl_MD2):
76552         * m4/md4.m4 (gl_MD4):
76553         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76554         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76555         * m4/readline.m4 (gl_FUNC_READLINE):
76556         * m4/rijndael.m4 (gl_RIJNDAEL):
76557         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76558         to get the necessary .h files and whatnot.
76559
76560 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76561
76562         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76563         gnulib rather than the other way around.
76564         * config/srclistvars.sh (COREUTILS): Remove.
76565
76566 2006-08-22  Jim Meyering  <jim@meyering.net>
76567
76568         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76569
76570         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76571
76572 2006-08-22  Eric Blake  <ebb9@byu.net>
76573
76574         * modules/regexprops-generic: New file.
76575         * MODULES.html.sh (Support for building documentation): List it.
76576
76577 2006-08-22  Eric Blake  <ebb9@byu.net>
76578
76579         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76580         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76581         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76582         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76583
76584 2006-08-22  Bruno Haible  <bruno@clisp.org>
76585
76586         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76587         and lib_LTLIBRARIES like the other lib_* variables.
76588
76589 2006-08-22  Bruno Haible  <bruno@clisp.org>
76590
76591         * build-aux/x-to-1.in: New file, from GNU gettext.
76592
76593 2006-08-22  Bruno Haible  <bruno@clisp.org>
76594
76595         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76596         <utmpx.h> exists.
76597
76598 2006-08-22  Bruno Haible  <bruno@clisp.org>
76599
76600         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76601         <utmpx.h> exists.
76602
76603 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76604
76605         BeOS portability.
76606         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76607         exist.
76608         Problem reported by Bruno Haible.
76609
76610 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76611
76612         Avoid the need for AC_LIBSOURCES in m4 macros.
76613         * modules/acl (EXTRA_DIST): Add acl.h.
76614         * modules/argmatch (Files): Add m4/argmatch.m4.
76615         (configure.ac): Add gl_ARGMATCH.
76616         (EXTRA_DIST): Renamed from lib_SOURCES, for
76617         consistency with the other modules.  Remove argmatch.c.
76618         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76619         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76620         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76621         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76622         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76623         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76624         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76625         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76626         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76627         * modules/closeout (EXTRA_DIST): Add closeout.h.
76628         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76629         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76630         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76631         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76632         dirname.h; remove basename.c and stripslash.c.
76633         * modules/exclude (EXTRA_DIST): Add exclude.h.
76634         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76635         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76636         * modules/file-type (EXTRA_DIST): Add file-type.h.
76637         * modules/filemode (EXTRA_DIST): Add filemode.h.
76638         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76639         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76640         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76641         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76642         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76643         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76644         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76645         * modules/getdate (EXTRA_DIST): Add getdate.c.
76646         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76647         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76648         * modules/getpass (EXTRA_DIST): Add getpass.h.
76649         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76650         * modules/group-member (EXTRA_DIST): Add group-member.h.
76651         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76652         * modules/hash (EXTRA_DIST): Add hash.h.
76653         * modules/human (EXTRA_DIST): Add human.h.
76654         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76655         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76656         * modules/lchown (EXTRA_DIST): Add lchown.h.
76657         * modules/long-options (EXTRA_DIST): Add long-options.h.
76658         * modules/lstat (EXTRA_DIST): Add lstat.h.
76659         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76660         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76661         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76662         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76663         * modules/memxor (EXTRA_DIST): Add memxor.h.
76664         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76665         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76666         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76667         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76668         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76669         * modules/physmem (EXTRA_DIST): Add physmem.h.
76670         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76671         * modules/posixver (EXTRA_DIST): Add posixver.h.
76672         * modules/quote (EXTRA_DIST): Add quote.h.
76673         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76674         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76675         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76676         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76677         regex_internal.h regexec.c.
76678         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76679         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76680         * modules/same (EXTRA_DIST): Add same.h.
76681         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76682         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76683         * modules/savedir (EXTRA_DIST): Add savedir.h.
76684         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76685         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76686         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76687         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76688         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76689         * modules/strdup (EXTRA_DIST): Add strdup.h.
76690         * modules/strftime (EXTRA_DIST): Add strftime.h.
76691         * modules/strndup (EXTRA_DIST): Add strndup.h.
76692         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76693         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76694         * modules/time_r (EXTRA_DIST): Add time_r.h.
76695         * modules/timespec (EXTRA_DIST): Add timespec.h.
76696         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76697         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76698         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76699         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76700         * modules/userspec (EXTRA_DIST): Add userspec.h.
76701         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76702         * modules/utimens (EXTRA_DIST): Add utimens.h.
76703         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76704         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76705         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76706         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76707         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76708         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76709         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76710         * modules/yesno (EXTRA_DIST): Add yesno.h.
76711
76712 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76715
76716         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76717         * m4/dev-ino.m4, same-inode.m4: Remove.
76718
76719         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76720         * m4/acl.m4 (AC_FUNC_ACL):
76721         * m4/backupfile.m4 (gl_BACKUPFILE):
76722         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76723         * m4/canon-host.m4 (gl_CANON_HOST):
76724         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76725         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76726         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76727         * m4/cloexec.m4 (gl_CLOEXEC):
76728         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76729         * m4/closeout.m4 (gl_CLOSEOUT):
76730         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76731         * m4/dirname.m4 (gl_DIRNAME):
76732         * m4/exclude.m4 (gl_EXCLUDE):
76733         * m4/exitfail.m4 (gl_EXITFAIL):
76734         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76735         * m4/file-type.m4 (gl_FILE_TYPE):
76736         * m4/filemode.m4 (gl_FILEMODE):
76737         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76738         * m4/fpending.m4 (gl_FUNC_FPENDING):
76739         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76740         * m4/fts.m4 (gl_FUNC_FTS):
76741         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76742         * m4/getdate.m4 (gl_GETDATE):
76743         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76744         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76745         * m4/getpass.m4 (gl_FUNC_GETPASS):
76746         * m4/gettime.m4 (gl_GETTIME):
76747         * m4/getugroups.m4 (gl_GETUGROUPS):
76748         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76749         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76750         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76751         * m4/hash.m4 (gl_HASH):
76752         * m4/idcache.m4 (gl_IDCACHE):
76753         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76754         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76755         * m4/long-options.m4 (gl_LONG_OPTIONS):
76756         * m4/lstat.m4 (gl_FUNC_LSTAT):
76757         * m4/md5.m4 (gl_MD5):
76758         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76759         * m4/memcoll.m4 (gl_MEMCOLL):
76760         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76761         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76762         * m4/memxor.m4 (gl_MEMXOR):
76763         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76764         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76765         * m4/modechange.m4 (gl_MODECHANGE):
76766         * m4/mountlist.m4 (gl_MOUNTLIST):
76767         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76768         * m4/openat.m4 (gl_FUNC_OPENAT):
76769         * m4/pathmax.m4 (gl_PATHMAX):
76770         * m4/physmem.m4 (gl_PHYSMEM):
76771         * m4/posixtm.m4 (gl_POSIXTM):
76772         * m4/posixver.m4 (gl_POSIXVER):
76773         * m4/quote.m4 (gl_QUOTE):
76774         * m4/quotearg.m4 (gl_QUOTEARG):
76775         * m4/readtokens.m4 (gl_READTOKENS):
76776         * m4/readutmp.m4 (gl_READUTMP):
76777         * m4/regex.m4 (gl_REGEX):
76778         * m4/safe-read.m4 (gl_SAFE_READ):
76779         * m4/safe-write.m4 (gl_SAFE_WRITE):
76780         * m4/same.m4 (gl_SAME):
76781         * m4/save-cwd.m4 (gl_SAVE_CWD):
76782         * m4/savedir.m4 (gl_SAVEDIR):
76783         * m4/settime.m4 (gl_SETTIME):
76784         * m4/sha1.m4 (gl_SHA1):
76785         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76786         * m4/stat-macros.m4 (gl_STAT_MACROS):
76787         * m4/stat-time.m4 (gl_STAT_TIME):
76788         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76789         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76790         * m4/strdup.m4 (gl_FUNC_STRDUP):
76791         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76792         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76793         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76794         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76795         * m4/time_r.m4 (gl_TIME_R):
76796         * m4/timespec.m4 (gl_TIMESPEC):
76797         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76798         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76799         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76800         * m4/userspec.m4 (gl_USERSPEC):
76801         * m4/utimecmp.m4 (gl_UTIMECMP):
76802         * m4/utimens.m4 (gl_UTIMENS):
76803         * m4/xalloc.m4 (gl_XALLOC):
76804         * m4/xgetcwd.m4 (gl_XGETCWD):
76805         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76806         * m4/xreadlink.m4 (gl_XREADLINK):
76807         * m4/xstrtod.m4 (gl_XSTRTOD):
76808         * m4/yesno.m4 (gl_YESNO):
76809         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76810         to get the necessary .h files and whatnot.
76811
76812 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76813             Bruno Haible  <bruno@clisp.org>
76814
76815         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76816         /bin/sh understanding of '!' conditional negation.
76817
76818 2006-08-21  Jim Meyering  <jim@meyering.net>
76819
76820         * modules/openat (Depends-on): Really alphabetize.
76821
76822         * modules/acl (Depends-on): Add error and quote.
76823
76824         * check-module (find_included_lib_files): Add at-func.c to the
76825         ok-to-include-more-than-once white list.
76826
76827         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76828
76829 2006-08-21  Bruno Haible  <bruno@clisp.org>
76830
76831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76832         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76833         Reported by Martin Lambers <marlam@marlam.de>.
76834
76835 2006-08-21  Bruno Haible  <bruno@clisp.org>
76836
76837         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76838         specify an installation location, don't emit a noinst_LIBRARIES or
76839         noinst_LTLIBRARIES assignment.
76840
76841 2006-08-21  Bruno Haible  <bruno@clisp.org>
76842
76843         BeOS portability.
76844         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76845         BeOS has mbrtowc() but no <wctype.h>.
76846
76847 2006-08-21  Bruno Haible  <bruno@clisp.org>
76848
76849         BeOS portability.
76850         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76851         exist.
76852
76853 2006-08-21  Bruno Haible  <bruno@clisp.org>
76854
76855         BeOS portability.
76856         * lib/mbchar.h: Include <wctype.h> only if it exists.
76857
76858 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76859
76860         Remove files that are no longer needed by their respective modules.
76861         * m4/obstack.m4: Remove.
76862         * m4/strerror_r.m4: Remove.
76863         * m4/uint32_t.m4: Remove.
76864         * m4/uintptr_t.m4: Remove.
76865         * m4/ullong_max.m4: Remove.
76866         * m4/xstrtoimax.m4: Remove.
76867         * m4/xstrtoumax.m4: Remove.
76868
76869         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76870         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76871         dependencies now capture this.
76872
76873         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76874         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76875         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76876         * m4/human.m4 (gl_HUMAN): Likewise.
76877         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76878         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76879
76880         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76881
76882         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76883         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76884         stdint.
76885         * m4/human.m4 (gl_HUMAN): Likewise.
76886         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76887         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76888         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76889         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76890         * m4/xstrtol (gl_XSTRTOL): Likewise.
76891
76892         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76893         AC_TYPE_LONG_LONG_INT.
76894         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76895         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76896         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76897         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76898
76899         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76900         on stdbool.
76901
76902         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76903         (gl_PREREQ_XSTRTOUL): Remove.
76904
76905         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76906
76907         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76908         mode.
76909
76910 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         Add and change modules to make it easier for coreutils to use
76913         gnulib-tool.
76914         * modules/backupfile (Files): Remove m4/d-ino.m4.
76915         (Depends-on): Add d-ino.
76916         * modules/cycle-check (Depends-on): Add stdint.
76917         (lib_SOURCES): Add cycle-check.h.
76918         * modules/d-ino: New module.
76919         * modules/d-type: New module.
76920         * modules/error (Files): Remove m4/strerror_r.m4.
76921         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76922         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76923         m4/inttypes_h.m4, m4/uintmax_t.m4.
76924         (Depends-on): Add stdint.
76925         (lib_SOURCES): Add fsusage.h.
76926         * modules/getcwd (Files): Remove d-ino.m4.
76927         (Depends-on): Add d-ino.
76928         * modules/getndelim2 (Depends-on): Add stdint.
76929         * modules/glob (Files): Remove m4/d-type.m4.
76930         (Depends-on): Add d-type.
76931         * modules/host-os: New module.
76932         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76933         m4/inttypes_h.m4, m4/uintmax_t.m4.
76934         * Depends-on: Add stdint.
76935         (lib_SOURCES): Add human.h.
76936         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76937         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76938         m4/uintmax_t.m4, m4/ulonglong.m4.
76939         (Depends-on): Add stdint.
76940         (EXTRA_DIST): Add inttostr.h.
76941         * modules/lchmod: New module.
76942         * modules/link-follow: New module.
76943         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76944         (Depends-on): Add lchmod.
76945         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76946         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76947         (Depends-on): Add stdint.
76948         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76949         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76950         (Depends-on): Add stdint.
76951         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76952         * modules/perl: New module.
76953         * modules/regex (Depends-on): Add stdint.
76954         * modules/rmdir-errno: New module.
76955         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76956         m4/intmax_t.m4.
76957         (Depends-on): Add stdint.
76958         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76959         m4/uintmax_t.m4.
76960         (Depends-on): Add stdint.
76961         * modules/unlink-busy: New module.
76962         * modules/utimecmp (Depends-on): Add stdint.
76963         * modules/uptime: New module.
76964         * modules/winsz-ioctl: New module.
76965         * modules/winsz-termios: New module.
76966         * modules/xnanosleep (Depends-on): Add nanosleep.
76967         * modules/ullong_max: Remove.
76968         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76969         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76970         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76971         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76972         (Depends-on): Add inttypes.
76973         (lib_SOURCES): Add xstrtol.h.
76974         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76975         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76976         * MODULES.html.sh: Move 'assert' into the assert section.
76977         Move 'dummy' into the linking section.
76978         Remove ullong_max.
76979         Add section for compatibility checks for POSIX:2001 functions,
76980         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76981         winsz-ioctl, and winsz-termios into it.
76982         Add lchmod.
76983         Add top-level Misc section and put host-os, perl, and uptime
76984         into it.
76985
76986 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76987
76988         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76989         now assume the stdint module.  Do not include inttypes.h.
76990         * lib/fsusage.h: Likewise.
76991         * lib/getndelim2.c: Likewise.
76992         * lib/human.h: Likewise.
76993         * lib/inttostr.h: Likewise.
76994         * lib/obstack.c: Likewise.
76995         * lib/regex_internal.h: Likewise.
76996         * lib/tempname.c: Likewise.
76997         * lib/utimecmp.c: Likewise.
76998         * lib/xstrtol.h: Likewise.
76999
77000         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
77001
77002         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
77003         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
77004         * lib/xtime.h: Likewise.
77005
77006 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77007
77008         * modules/openat (Files): Add lib/fchmodat.c.
77009         Fixes problem reported by Jay Youngman.
77010
77011 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77012
77013         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
77014         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
77015
77016 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
77017             Bruno Haible  <bruno@clisp.org>
77018
77019         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
77020         and is a script that invokes bison. Tighten the code. Add comments.
77021
77022 2006-08-18  Jim Meyering  <jim@meyering.net>
77023
77024         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
77025         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
77026         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
77027         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
77028
77029 2006-08-18  Bruno Haible  <bruno@clisp.org>
77030
77031         * modules/bison-i18n: New file.
77032         * MODULES.html.sh (Internationalization functions): Add it.
77033
77034 2006-08-18  Bruno Haible  <bruno@clisp.org>
77035
77036         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
77037         sys/statvfs.h. When getmntinfo was found, check its declaration and
77038         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
77039
77040 2006-08-18  Bruno Haible  <bruno@clisp.org>
77041
77042         * m4/bison-i18n.m4: New file, from bison.
77043
77044 2006-08-18  Bruno Haible  <bruno@clisp.org>
77045
77046         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
77047         (ME_DUMMY): Treat "kernfs" as a dummy.
77048         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
77049
77050 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77051
77052         Update from coreutils.
77053
77054         2006-08-15  Jim Meyering  <jim@meyering.net>
77055
77056         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
77057
77058         2006-01-17  Jim Meyering  <jim@meyering.net>
77059
77060         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
77061
77062         2006-01-11  Jim Meyering  <jim@meyering.net>
77063
77064         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
77065         Check for the lchmod function.
77066
77067 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77068
77069         Update from coreutils.
77070
77071         * lib/__fpending.h: Add copyright notice.
77072         * lib/fprintftime.h: Likewise.
77073         * lib/savedir.c: Use (C) in copyright notice.
77074         * lib/savedir.h: Likewise.
77075
77076         2006-08-15  Jim Meyering  <jim@meyering.net>
77077
77078         * lib/at-func.c: New file, with the logic of all emulated at-functions.
77079         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
77080         in support of the EXPECTED_ERRNO macro.
77081         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
77082         definitions.  Instead, define the appropriate symbols and include
77083         "at-func.c".
77084         * lib/mkdirat.c (mkdirat): Likewise.
77085         * lib/fchmodat.c (fchmodat): Likewise.
77086         (ENOSYS): Remove definition.
77087         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
77088         it.  Don't include "unistd--.h" -- it wasn't ever used.
77089
77090         2006-01-17  Jim Meyering  <jim@meyering.net>
77091
77092         Rewrite fts.c not to change the current working directory,
77093         by using openat, fstatat, fdopendir, etc..
77094
77095         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
77096         (HAVE_OPENAT_SUPPORT): Define.
77097         [_LIBC] (fchdir): Don't undef or define; no longer used.
77098         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
77099         Now, this `function' always succeeds, and consumes its file descriptor
77100         parameter -- so callers must not close such FDs.  Update callers.
77101         (diropen_fd, opendirat, cwd_advance_fd): New functions.
77102         (diropen): Add parameter, SP.  Adjust all callers.
77103         Implement using diropen_fd, rather than open.
77104         (fts_open): Initialize new member, fts_cwd_fd.
77105         Remove fts_rft-setting code.
77106         (fts_close): Close fts_cwd_fd, if necessary.
77107         (__opendir2): Define in terms of opendir or opendirat,
77108         depending on whether the FST_NOCHDIR flag is set.
77109         (fts_build): Since fts_safe_changedir consumes its FD, and since
77110         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
77111         and close the dup'd file descriptor upon failure.
77112         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
77113         (fts_safe_changedir): Tweak semantics to reflect that this function
77114         now calls cwd_advance_fd and hence consumes its FD argument.
77115         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
77116         [struct FTS] (fts_rft): Remove now-unused member.
77117         [struct FTS] (fts_cycle.state): Improve comment.
77118
77119         * lib/openat.c (openat_needs_fchdir): New function.
77120         * lib/openat.h (openat_needs_fchdir): Declare it.
77121
77122 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77123
77124         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
77125         Problem and fix reported by Pádraig Brady in
77126         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77127
77128 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77129
77130         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77131
77132 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77133
77134         * lib/memcoll.c (memcoll): Optimize for the common case where the
77135         arguments are bytewise equal.
77136
77137 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77138
77139         * doc/regexprops-generic.texi: Add a copyright notice.
77140
77141 2006-08-15  Bruno Haible  <bruno@clisp.org>
77142
77143         * modules/tmpdir (License): Change to LGPL.
77144
77145 2006-08-15  Bruno Haible  <bruno@clisp.org>
77146
77147         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77148         module.
77149
77150 2006-08-14  Simon Josefsson  <jas@extundo.com>
77151
77152         * config/srclist.txt: Add gnupload.
77153
77154 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77155
77156         Change copyright notice from LGPL 2 to GPL 2, since that's the
77157         standard form used in the gnulib repository.
77158         * tests/test-lock.c: Likewise.
77159         * tests/test-stdint.c: Likewise.
77160         * tests/test-tls.c: Likewise.
77161
77162         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77163         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77164         Add copyright notice.
77165
77166         * check-module: Add copyright notice.  Output a copyright
77167         notice if "--version" is specified.
77168         * modules/COPYING: New file.
77169         * tests/test-getaddrinfo.c: Add copyright notice.
77170         * tests/test-verify.c: Likewise.
77171
77172 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77173
77174         Change copyright notice from LGPL 2 to GPL 2, since that's the
77175         standard form used in the gnulib repository.
77176         * lib/lock.c: LGPL -> GPL.
77177         * lib/lock.h: Likewise.
77178         * lib/strnlen1.c: Likewise.
77179         * lib/strnlen1.h: Likewise.
77180         * lib/tls.c: Likewise.
77181         * lib/tls.h: Likewise.
77182         * lib/tmpdir.c: Likewise.
77183
77184         * lib/TODO: Remove; this belongs only in coreutils.
77185
77186 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77187
77188         Add copyright notices to long-enough files that lack them, since
77189         otherwise the files aren't clearly free.  Use the same notice that
77190         getdate.texi already uses.
77191         * doc/alloca-opt.texi: Add copyright notice.
77192         * doc/alloca.texi: Likewise.
77193         * doc/ctime.texi: Likewise.
77194         * doc/functions.texi: Likewise.
77195         * doc/gcd.texi: Likewise.
77196         * doc/gnulib-tool.texi: Likewise.
77197         * doc/inet_ntoa.texi: Likewise.
77198         * doc/visibility.texi: Likewise.
77199
77200         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77201         * doc/quote.texi: Add copyright notice.
77202
77203         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77204         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77205         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77206         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77207         is now obsolete, and give a pointer to the Sun list.
77208         Add copyright notice.
77209
77210 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77211
77212         * config/srclistvars.sh: Add copyright notice.
77213
77214 2006-08-14  Eric Blake  <ebb9@byu.net>
77215
77216         Import the following change from libc:
77217
77218         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77219
77220         Upstream bug 2997.
77221         * lib/misc/error.c: Add space between program name and message if file
77222         name is missing.
77223
77224 2006-08-12  Karl Berry  <karl@gnu.org>
77225
77226         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77227         remove, these originate in gnulib now.
77228
77229 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77230
77231         * doc/Makefile (standards.info standards.html standards.dvi):
77232         Also depend on make-stds.texi.
77233
77234 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77235
77236         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77237         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77238
77239         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77240         in wchar_t.  Problem reported by Eric Blake.
77241
77242         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77243         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77244         Also, help the compiler to keep LEN in a register.
77245
77246 2006-08-11  Eric Blake  <ebb9@byu.net>
77247
77248         * users.txt: Sort.  Add tar.
77249
77250 2006-08-11  Bruno Haible  <bruno@clisp.org>
77251
77252         * users.txt: New file.
77253
77254 2006-08-11  Bruno Haible  <bruno@clisp.org>
77255
77256         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77257         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77258
77259 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77260
77261         * modules/snprintf (Depends-on): Remove minmax.
77262         (Maintainer): Add self and Bruno.
77263
77264 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77265
77266         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77267         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77268         (EOVERFLOW): Define if the system does not.
77269         Do not include "minmax.h"; it wasn't used.
77270         (snprintf): Don't assume size_t promotes to an unsigned type.
77271         Fix bug when generated string was too long for the buffer: the
77272         buffer's contents are supposed to be the initial prefix of the
77273         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77274         exceeds INT_MAX; do the check ourselves.
77275
77276         Import the following changes from libc:
77277
77278         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77279
77280         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77281         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77282         set wc to the byte which couldn't be converted.
77283         (re_string_reconstruct): Don't clear valid_raw_len before calling
77284         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77285         tip_context using re_string_context_at.
77286
77287         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77288
77289         * lib/posix/regex.h: g++ still cannot handled [restrict].
77290
77291         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77292
77293         * lib/posix/regex.h: Remove special handling for VMS.
77294
77295 2006-08-10  Jim Meyering  <jim@meyering.net>
77296
77297         * modules/same-inode: New module.
77298         * modules/dev-ino: New module.
77299         * modules/cycle-check: Depend on these modules, rather than simply
77300         including their .h files.
77301         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77302         required via m4/cycle-check.m4.
77303         * modules/same: Depend on new same-inode module, rather than
77304         including same-inode.h.
77305         * modules/chdir-safer: New file.
77306
77307         * modules/chown (Depends-on): Add stat-macros.
77308
77309 2006-08-10  Jim Meyering  <jim@meyering.net>
77310
77311         * m4/cycle-check.m4: New file.
77312         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77313         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77314
77315 2006-08-10  Eric Blake  <ebb9@byu.net>
77316
77317         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77318         in from original proposal.
77319
77320 2006-08-10  Eric Blake  <ebb9@byu.net>
77321         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77322
77323         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77324         namespace.
77325
77326 2006-08-10  Bruno Haible  <bruno@clisp.org>
77327
77328         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77329         as well.
77330
77331 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77332
77333         Sync from coreutils.
77334
77335         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77336
77337         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77338         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77339
77340 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77341
77342         * modules/restrict: Remove; no longer needed now that we assume
77343         Autoconf 2.59 or later.
77344         * MODULES.html.sh: Remove 'restrict'.
77345         * modules/argp (Depends-on): Remove 'restrict'.
77346         * modules/base64 (Depends-on): Likewise.
77347         * modules/gc (Depends-on): Likewise.
77348         * modules/getaddrinfo (Depends-on): Likewise.
77349         * modules/glob (Depends-on): Likewise.
77350         * modules/inet_ntop (Depends-on): Likewise.
77351         * modules/inet_pton (Depends-on): Likewise.
77352         * modules/memxor (Depends-on): Likewise.
77353         * modules/regex (Depends-on): Likewise.
77354         * modules/strtok_r (Depends-on): Likewise.
77355         * modules/time_r (Depends-on): Likewise.
77356
77357 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77358
77359         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77360         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77361         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77362         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77363         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77364         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77365         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77366         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77367
77368         Merge from coreutils.
77369         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77370         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77371         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77372         * m4/time_r.m4 (gl_TIME_R): Likewise.
77373
77374 2006-08-09  Karl Berry  <karl@gnu.org>
77375
77376         * config/srclist.txt: no more gettext-tools, per Bruno.
77377
77378 2006-08-08  Eric Blake  <ebb9@byu.net>
77379
77380         * modules/verror: New module.
77381         * MODULES.html.sh: Document it.
77382
77383 2006-08-08  Eric Blake  <ebb9@byu.net>
77384
77385         * lib/verror.h, lib/verror.c: New files.
77386
77387 2006-08-08  Eric Blake  <ebb9@byu.net>
77388
77389         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77390         verror_at_line output complies with GNU Coding Standards even when
77391         file is NULL.
77392
77393 2006-08-07  Bruno Haible  <bruno@clisp.org>
77394
77395         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77396         versions of AIX.
77397         Reported by Ralf Wildenhues.
77398
77399 2006-08-07  Bruno Haible  <bruno@clisp.org>
77400
77401         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77402         in an AC_DEFUN. Needed so that the autoconf snippets can use
77403         AC_REQUIRE.
77404
77405 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77406
77407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77408         Initialize pkgdata_DATA.
77409         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77410         overriding it.
77411
77412 2006-08-06  Eric Blake  <ebb9@byu.net>
77413
77414         * lib/error.h: Fold in some upstream changes from glibc.
77415         * lib/error.c: Likewise.
77416
77417 2006-08-04  Bruno Haible  <bruno@clisp.org>
77418
77419         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77420         Make the mostlyclean-local rule depend on mostlyclean-generic.
77421         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77422
77423 2006-07-31  Bruno Haible  <bruno@clisp.org>
77424
77425         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
77426         <stdlib.h>, <string.h>.
77427
77428 2006-07-30  Bruno Haible  <bruno@clisp.org>
77429
77430         * modules/readlink (License): Change to LGPL.
77431
77432 2006-07-30  Bruno Haible  <bruno@clisp.org>
77433
77434         * modules/javaversion (Makefile.am): Distribute javaversion.java and
77435         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
77436         set PKGDATADIR to point to it.
77437
77438 2006-07-30  Bruno Haible  <bruno@clisp.org>
77439
77440         * modules/csharpexec (configure.ac): Comment out macro invocation.
77441         * modules/javaexec (configure.ac): Likewise.
77442         * modules/javacomp-script (configure.ac): Likewise.
77443
77444         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
77445
77446 2006-07-30  Bruno Haible  <bruno@clisp.org>
77447
77448         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
77449         linked-list.
77450
77451 2006-07-30  Bruno Haible  <bruno@clisp.org>
77452
77453         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
77454
77455 2006-07-30  Bruno Haible  <bruno@clisp.org>
77456
77457         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77458         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77459         get removed.
77460
77461 2006-07-29  Bruno Haible  <bruno@clisp.org>
77462
77463         Make it possible for gnulib-tool to work with locally modified or
77464         augmented gnulib repositories.
77465         * gnulib-tool (func_usage): Document --local-dir option.
77466         (local_gnulib_dir): New variable.
77467         Handle --local-dir option.
77468         (func_lookup_file): New function.
77469         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77470         (func_get_description, func_get_filelist, func_get_description,
77471         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77472         func_get_automake_snippet, func_get_include_directive,
77473         func_get_license, func_get_maintainer): Use func_lookup_file.
77474         (func_import, func_create_testdir): Use func_lookup_file.
77475
77476 2006-07-29  Bruno Haible  <bruno@clisp.org>
77477
77478         * modules/setenv (Depends-on): Add unistd.
77479
77480 2006-07-29  Bruno Haible  <bruno@clisp.org>
77481
77482         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77483
77484 2006-07-29  Bruno Haible  <bruno@clisp.org>
77485
77486         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77487
77488 2006-07-29  Bruno Haible  <bruno@clisp.org>
77489
77490         * gnulib-tool (import, update): If there is no Makefile.am, look at
77491         aclocal.m4, instead of bailing out.
77492
77493 2006-07-29  Bruno Haible  <bruno@clisp.org>
77494
77495         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77496         Categorize the options by when they are useful.
77497
77498 2006-07-29  Bruno Haible  <bruno@clisp.org>
77499
77500         * gnulib-tool (func_usage): Document option --no-libtool.
77501         Handle option --no-libtool.
77502         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77503         for changed semantics of $libtool variable.
77504         (func_import): Likewise. If libtool is not used, show this through
77505         an option --no-libtool.
77506         (func_create_testdir): Update.
77507
77508 2006-07-29  Bruno Haible  <bruno@clisp.org>
77509
77510         * gnulib-tool (func_import): Extend error message about missing
77511         --doc-base.
77512
77513 2006-07-29  Bruno Haible  <bruno@clisp.org>
77514
77515         * gnulib-tool (func_import): Don't create the $docbase directory if
77516         there is no file to store there.
77517
77518 2006-07-29  Bruno Haible  <bruno@clisp.org>
77519
77520         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77521         relevant, look for configure.ac there, not in the current directory.
77522         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77523
77524 2006-07-29  Bruno Haible  <bruno@clisp.org>
77525
77526         * gnulib-tool (SORT): New variable.
77527         (func_usage): Undocument --assume-autoconf option.
77528         Remove --assume-autoconf option handling.
77529         (autoconf_minversion): Determine from the contents of configure.ac.
77530         (func_import): Remove autoconf_minversion handling.
77531         Suggested by Eric Blake.
77532
77533 2006-07-29  Bruno Haible  <bruno@clisp.org>
77534
77535         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77536
77537 2006-07-29  Bruno Haible  <bruno@clisp.org>
77538
77539         * config/srclist.txt (*setenv.[ch]): Remove rules.
77540
77541 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77542
77543         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77544
77545 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77546
77547         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77548         arpa/inet.h.
77549
77550 2006-07-28  Simon Josefsson  <jas@extundo.com>
77551
77552         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77553         * modules/inet_pton (Depends-on): Likewise.
77554
77555 2006-07-28  Simon Josefsson  <jas@extundo.com>
77556
77557         * m4/netinet_in_h.m4: New file.
77558
77559 2006-07-28  Simon Josefsson  <jas@extundo.com>
77560
77561         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77562         #include's.
77563
77564 2006-07-28  Simon Josefsson  <jas@extundo.com>
77565
77566         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77567         #include's.
77568
77569 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77570
77571         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77572         setgid on directories only if they set these bits.
77573         * lib/modechange.h: Remove obsolete comment about masks.
77574
77575 2006-07-28  Eric Blake  <ebb9@byu.net>
77576
77577         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77578         macro expansion.
77579
77580 2006-07-28  Bruno Haible  <bruno@clisp.org>
77581
77582         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77583
77584 2006-07-28  Bruno Haible  <bruno@clisp.org>
77585
77586         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77587
77588 2006-07-28  Bruno Haible  <bruno@clisp.org>
77589
77590         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77591         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77592         Define fallbacks.
77593         Avoids link error on FreeBSD 4.x.
77594         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77595
77596         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77597         encoding.
77598         * lib/mbswidth.c (iswcntrl): Likewise.
77599
77600 2006-07-27  Bruno Haible  <bruno@clisp.org>
77601
77602         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77603         test.
77604
77605 2006-07-27  Bruno Haible  <bruno@clisp.org>
77606
77607         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77608         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77609         defined.
77610
77611 2006-07-26  Eric Blake  <ebb9@byu.net>
77612
77613         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77614
77615 2006-07-26  Eric Blake  <ebb9@byu.net>
77616
77617         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77618         like mingw that lack mkstemp.
77619         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77620         avoid compilation warning on mingw.
77621
77622 2006-07-26  Bruno Haible  <bruno@clisp.org>
77623
77624         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77625         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77626         INT_FAST*_MIN, INTPTR_MIN.
77627
77628 2006-07-25  Bruno Haible  <bruno@clisp.org>
77629
77630         * modules/version-etc (Depends-on): Add stdarg.
77631
77632 2006-07-25  Bruno Haible  <bruno@clisp.org>
77633
77634         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77635         complex commands.
77636
77637 2006-07-25  Bruno Haible  <bruno@clisp.org>
77638
77639         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77640         defined in <stdarg.h> or config.h.
77641
77642 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77643
77644         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77645         (gl_STDIO_SAFER): Remove.
77646
77647 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77648
77649         * MODULES.html.sh (File stream based Input/Output):
77650         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77651         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77652         * modules/fopen-safer, modules/tmpfile-safer: New files.
77653         * modules/stdio-safer: Remove.
77654
77655 2006-07-24  Bruno Haible  <bruno@clisp.org>
77656
77657         * modules/tmpdir: New file.
77658         * MODULES.html.sh (File system functions): Add it.
77659
77660 2006-07-24  Bruno Haible  <bruno@clisp.org>
77661
77662         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77663         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77664
77665 2006-07-24  Bruno Haible  <bruno@clisp.org>
77666
77667         * modules/clean-temp: New file.
77668
77669 2006-07-24  Bruno Haible  <bruno@clisp.org>
77670
77671         * m4/tmpdir.m4: New file, from GNU gettext.
77672
77673 2006-07-24  Bruno Haible  <bruno@clisp.org>
77674
77675         * lib/tmpdir.h: New file, from GNU gettext.
77676         * lib/tmpdir.c: New file, from GNU gettext.
77677
77678 2006-07-24  Bruno Haible  <bruno@clisp.org>
77679
77680         * lib/clean-temp.h: New file, from GNU gettext.
77681         * lib/clean-temp.c: New file, from GNU gettext.
77682
77683 2006-07-23  Eric Blake  <ebb9@byu.net>
77684
77685         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77686         (Depends-on): Add binary-io.
77687
77688 2006-07-23  Eric Blake  <ebb9@byu.net>
77689
77690         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77691
77692 2006-07-23  Eric Blake  <ebb9@byu.net>
77693
77694         * lib/tmpfile-safer.c: New file.
77695         * lib/stdio-safer.h (fopen_safer): Add prototype.
77696         * lib/stdio--.h (tmpfile): Make safer.
77697
77698 2006-07-23  Bruno Haible  <bruno@clisp.org>
77699
77700         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77701         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77702         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77703         gl_linked_remove_at): Use it.
77704
77705 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77706         and Simon Josefsson <jas@extundo.com>
77707
77708         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77709
77710         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77711
77712 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77713
77714         * modules/close-stream: New file.
77715         * modules/closeout (Description): Make it clear that it exits
77716         with a diagnostic on error.
77717         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77718         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77719
77720 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77721
77722         * m4/close-stream.m4: New file.
77723
77724 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * lib/close-stream.c, lib/close-stream.h: New files.
77727
77728 2006-07-22  Bruno Haible  <bruno@clisp.org>
77729
77730         Merge from GNU gettext 0.15.
77731
77732         2006-05-01  Bruno Haible  <bruno@clisp.org>
77733
77734                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77735
77736         2006-07-22  Bruno Haible  <bruno@clisp.org>
77737
77738                 * modules/javaversion: New file.
77739                 * MODULES.html.sh (Java): Add javaversion.
77740
77741         2006-03-12  Bruno Haible  <bruno@clisp.org>
77742
77743                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77744
77745         2005-12-04  Bruno Haible  <bruno@clisp.org>
77746
77747                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77748                 (untested).
77749
77750         2006-06-21  Bruno Haible  <bruno@clisp.org>
77751
77752                 Avoid warnings from recent versions of mcs.
77753                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77754                 -o, -L, -r any more. Use options documented since mcs-1.0
77755                 instead. Similarly for -g.
77756
77757         2005-12-04  Bruno Haible  <bruno@clisp.org>
77758
77759                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77760                 .resources, not .resource.
77761
77762         2005-07-09  Bruno Haible  <bruno@clisp.org>
77763
77764                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77765                 add a .dll suffix.
77766                 Reported by Mark Junker <mjscod@gmx.de>.
77767
77768         2006-07-22  Bruno Haible  <bruno@clisp.org>
77769
77770                 * modules/gettext: Upgrade to gettext-0.15.
77771                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77772                 m4/visibility.m4.
77773                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77774
77775 2006-07-22  Bruno Haible  <bruno@clisp.org>
77776
77777         Merge from GNU gettext 0.15.
77778
77779         2006-03-25  Bruno Haible  <bruno@clisp.org>
77780
77781                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77782
77783         2006-07-21  Bruno Haible  <bruno@clisp.org>
77784
77785                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77786                 "1.1".
77787
77788         2006-05-09  Bruno Haible  <bruno@clisp.org>
77789
77790                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77791                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77792                 for the conftestver execution.
77793
77794         2006-05-01  Bruno Haible  <bruno@clisp.org>
77795
77796                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77797                 optional target-version argument. Verify that the compiler
77798                 groks source of the specified source-version, or add -source
77799                 option as necessary. Verify that the compiler produces
77800                 bytecode in the specified target-version, or add -target and
77801                 -source options as necessary. Make the result of the test
77802                 available as variable CONF_JAVAC. Also log error output in
77803                 config.log.
77804
77805         2006-03-11  Bruno Haible  <bruno@clisp.org>
77806
77807                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77808
77809         2006-05-09  Bruno Haible  <bruno@clisp.org>
77810
77811                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77812                 CLASSPATH_SEPARATOR to a semicolon.
77813
77814         2006-03-12  Bruno Haible  <bruno@clisp.org>
77815
77816                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77817                 available as variable CONF_JAVA, for subsequent autoconf
77818                 tests. Also log error output in config.log.
77819
77820         2006-07-19  Bruno Haible  <bruno@clisp.org>
77821
77822                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77823                 that getline works on glibc2 systems. Needed to avoid trouble
77824                 in relocatable.c.
77825                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77826
77827         2005-12-04  Bruno Haible  <bruno@clisp.org>
77828
77829                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77830                 launcher (untested).
77831
77832         2005-12-04  Bruno Haible  <bruno@clisp.org>
77833
77834                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77835
77836         2006-07-22  Bruno Haible  <bruno@clisp.org>
77837
77838                 * gettext.m4: Update from GNU gettext-0.15.
77839                 * nls.m4: Likewise.
77840                 * po.m4: Likewise.
77841                 * inttypes-pri.m4: Likewise.
77842                 * inttypes-h.m4: Renamed from inttypes.m4.
77843                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77844
77845 2006-07-22  Bruno Haible  <bruno@clisp.org>
77846
77847         Merge from GNU gettext 0.15.
77848
77849         2005-07-05  Bruno Haible  <bruno@clisp.org>
77850
77851                 * printf-args.c (printf_fetchargs): Work around broken
77852                 definition of wint_t on mingw.
77853
77854         2005-02-12  Bruno Haible  <bruno@clisp.org>
77855
77856                 * xallocsa.h: Add extern "C" for C++.
77857
77858         2006-05-17  Bruno Haible  <bruno@clisp.org>
77859
77860                 Cygwin portability.
77861                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77862
77863         2006-04-30  Bruno Haible  <bruno@clisp.org>
77864
77865                 * progreloc.c: Include <mach-o/dyld.h> if available.
77866                 (find_executable): Use _NSGetExecutablePath when possible.
77867
77868         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77869
77870                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77871                 function.
77872
77873         2005-12-29  Bruno Haible  <bruno@clisp.org>
77874
77875                 * progreloc.c (set_program_name_and_installdir): Fix
77876                 compilation error.
77877
77878         2005-12-04  Bruno Haible  <bruno@clisp.org>
77879
77880                 Cygwin portability.
77881                 * progreloc.c: Include <windows.h> also on Cygwin.
77882                 (find_executable): Add support for Cygwin.
77883                 (set_program_name_and_installdir): Handle also platforms with
77884                 nonempty EXEEXT.
77885
77886         2006-07-11  Bruno Haible  <bruno@clisp.org>
77887
77888                 * javacomp.c: Fix a comment.
77889                 Reported by Jim Meyering.
77890
77891         2006-04-30  Bruno Haible  <bruno@clisp.org>
77892
77893                 * javacomp.h (compile_java_class): Add source_version,
77894                 target_version arguments.
77895                 * javacomp.c: Rewritten to choose only a compiler that
77896                 respects the specified source_version and target_version.
77897
77898         2006-06-27  Bruno Haible  <bruno@clisp.org>
77899
77900                 Assume correct S_ISDIR macro.
77901                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77902
77903         2006-07-22  Bruno Haible  <bruno@clisp.org>
77904
77905                 * javaversion.h: New file, from GNU gettext.
77906                 * javaversion.c: New file, from GNU gettext.
77907                 * javaversion.java: New file, from GNU gettext.
77908                 * javaversion.class: New file, from GNU gettext.
77909
77910         2006-05-17  Bruno Haible  <bruno@clisp.org>
77911
77912                 Cygwin portability.
77913                 * javaexec.c (execute_java_class): Test for jview program
77914                 also on Cygwin.
77915
77916         2006-04-09  Bruno Haible  <bruno@clisp.org>
77917
77918                 * fatal-signal.c: Don't include string.h.
77919                 (at_fatal_signal): Use a copying loop instead of memcpy.
77920
77921         2005-12-04  Bruno Haible  <bruno@clisp.org>
77922
77923                 * csharpexec.c: Add support for 'clix' launcher (untested).
77924                 (execute_csharp_using_sscli): New function.
77925                 (execute_csharp_program): Call it.
77926
77927         2006-06-21  Bruno Haible  <bruno@clisp.org>
77928
77929                 Avoid warnings from recent versions of mcs.
77930                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77931                 -o, -L, -r any more. Use options documented since mcs-1.0
77932                 instead. Similarly for -g.
77933
77934         2005-07-09  Bruno Haible  <bruno@clisp.org>
77935
77936                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77937                 add a .dll suffix.
77938                 Reported by Mark Junker <mjscod@gmx.de>.
77939
77940         2006-06-17  Bruno Haible  <bruno@clisp.org>
77941
77942                 * config.charset: Update for NetBSD 3.0.
77943
77944         2006-05-17  Bruno Haible  <bruno@clisp.org>
77945
77946                 Cygwin portability.
77947                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77948
77949         2006-05-16  Bruno Haible  <bruno@clisp.org>
77950
77951                 * localcharset.c [CYGWIN]: Include <windows.h>.
77952                 (get_charset_aliases): For Cygwin, return the same CPxxx
77953                 aliases list as under WIN32.
77954                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77955                 the environment variables. Fall back to GetACP().
77956
77957         2006-04-05  Bruno Haible  <bruno@clisp.org>
77958
77959                 * config.charset: Update Juan Manuel Guerrero's address.
77960
77961         2005-02-12  Bruno Haible  <bruno@clisp.org>
77962
77963                 * allocsa.h: Add extern "C" for C++.
77964
77965         2005-02-10  Bruno Haible  <bruno@clisp.org>
77966
77967                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77968                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77969
77970         2006-07-22  Bruno Haible  <bruno@clisp.org>
77971
77972                 * gettext.h: Update to GNU gettext-0.15.
77973
77974 2006-07-22  Bruno Haible  <bruno@clisp.org>
77975
77976         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77977         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77978         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77979
77980 2006-07-21  Eric Blake  <ebb9@byu.net>
77981
77982         * modules/stdlib-safer: New file.
77983         * MODULES.html.sh (File stream based Input/Output): Add
77984         stdlib-safer.
77985
77986 2006-07-21  Eric Blake  <ebb9@byu.net>
77987
77988         * lib/stdlib-safer.h: New file from coreutils, required by
77989         stdlib--.h.
77990
77991 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77992
77993         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77994
77995 2006-07-20  Bruno Haible  <bruno@clisp.org>
77996
77997         * gnulib-tool: Recognize new option --assume-autoconf.
77998         (autoconf_minversion): New variable.
77999         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
78000
78001 2006-07-20  Bruno Haible  <bruno@clisp.org>
78002
78003         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
78004
78005 2006-07-19  Derek R. Price  <derek@ximbiot.com>
78006
78007         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
78008         Reindent and repaginate.
78009
78010 2006-07-19  Derek Price  <derek@ximbiot.com>
78011
78012         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
78013         Correct grammar.
78014
78015 2006-07-17  Bruno Haible  <bruno@clisp.org>
78016
78017         * modules/list: New file.
78018         * modules/array-list: New file.
78019         * modules/carray-list, modules/carray-list-tests: New files.
78020         * modules/linked-list, modules/linked-list-tests: New files.
78021         * modules/avltree-list, modules/avltree-list-tests: New files.
78022         * modules/rbtree-list, modules/rbtree-list-tests: New files.
78023         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
78024         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
78025         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
78026         * modules/oset: New file.
78027         * modules/array-oset: New file.
78028         * modules/avltree-oset, modules/avltree-oset-tests: New files.
78029         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
78030         * tests/test-carray_list.c: New file.
78031         * tests/test-linked_list.c: New file.
78032         * tests/test-avltree_list.c: New file.
78033         * tests/test-rbtree_list.c: New file.
78034         * tests/test-linkedhash_list.c: New file.
78035         * tests/test-avltreehash_list.c: New file.
78036         * tests/test-rbtreehash_list.c: New file.
78037         * tests/test-avltree_oset.c: New file.
78038         * tests/test-rbtree_oset.c: New file.
78039         * MODULES.html.sh (Container data structures): New section.
78040
78041 2006-07-17  Bruno Haible  <bruno@clisp.org>
78042
78043         * m4/gl_list.m4: New file.
78044
78045 2006-07-17  Bruno Haible  <bruno@clisp.org>
78046
78047         * lib/gl_list.h: New file.
78048         * lib/gl_list.c: New file.
78049         * lib/gl_array_list.h: New file.
78050         * lib/gl_array_list.c: New file.
78051         * lib/gl_carray_list.h: New file.
78052         * lib/gl_carray_list.c: New file.
78053         * lib/gl_linked_list.h: New file.
78054         * lib/gl_linked_list.c: New file.
78055         * lib/gl_anylinked_list1.h: New file.
78056         * lib/gl_anylinked_list2.h: New file.
78057         * lib/gl_avltree_list.h: New file.
78058         * lib/gl_avltree_list.c: New file.
78059         * lib/gl_anyavltree_list1.h: New file.
78060         * lib/gl_anyavltree_list2.h: New file.
78061         * lib/gl_rbtree_list.h: New file.
78062         * lib/gl_rbtree_list.c: New file.
78063         * lib/gl_anyrbtree_list1.h: New file.
78064         * lib/gl_anyrbtree_list2.h: New file.
78065         * lib/gl_anytree_list1.h: New file.
78066         * lib/gl_anytree_list2.h: New file.
78067         * lib/gl_linkedhash_list.h: New file.
78068         * lib/gl_linkedhash_list.c: New file.
78069         * lib/gl_anyhash_list1.h: New file.
78070         * lib/gl_anyhash_list2.h: New file.
78071         * lib/gl_avltreehash_list.h: New file.
78072         * lib/gl_avltreehash_list.c: New file.
78073         * lib/gl_rbtreehash_list.h: New file.
78074         * lib/gl_rbtreehash_list.c: New file.
78075         * lib/gl_anytreehash_list1.h: New file.
78076         * lib/gl_anytreehash_list2.h: New file.
78077
78078         * lib/gl_oset.h: New file.
78079         * lib/gl_oset.c: New file.
78080         * lib/gl_array_oset.h: New file.
78081         * lib/gl_array_oset.c: New file.
78082         * lib/gl_avltree_oset.h: New file.
78083         * lib/gl_avltree_oset.c: New file.
78084         * lib/gl_rbtree_oset.h: New file.
78085         * lib/gl_rbtree_oset.c: New file.
78086         * lib/gl_anytree_oset.h: New file.
78087
78088 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78089
78090         * m4/mkancesdirs.m4: New file.
78091         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
78092         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
78093         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
78094         it.
78095
78096 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78097
78098         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
78099         * lib/mkancesdirs.h: New files.
78100         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
78101         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
78102         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
78103         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
78104         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
78105         callers changed.  Revamp internals significantly, by not
78106         attempting to create directories that are temporarily more
78107         permissive than the final results.  Do not attempt to use
78108         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
78109         This removes some race conditions, fixes some bugs, and simplifies
78110         things.  Use new dirchownmod function to do owner and mode changes.
78111         * lib/mkdir-p.h: Likewise.
78112         * lib/modechange.c (octal_to_mode): New function.
78113         (struct mode_change): New member mentioned.
78114         (make_node_op_equals): New arg mentioned.  All callers changed.
78115         (mode_compile): Keep track of which mode bits the user has explicitly
78116         mentioned.
78117         (mode_adjust): New arg DIR, so that we implement the X op correctly.
78118         New arg PMODE_BITS, to keep track of which mode bits the user
78119         mentioned; it treats S_ISUID and S_ISGID speciall.
78120         All callers changed.
78121         * lib/modechange.h: Likewise.
78122
78123 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78124
78125         * MODULES.html.sh: Add mkancestors.
78126         * modules/mkancesdirs: New module.
78127         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78128         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78129         The chdir-safer and afs files are now orphans; I'll remove them
78130         unless someone speaks up.
78131         Add lib/dirchownmod.c, lib/dirchownmod.h.
78132         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78133         Add lchown, mkancesdirs.
78134         (Maintainer): Add self.
78135
78136 2006-07-15  Karl Berry  <karl@gnu.org>
78137
78138         * gnulib-tool: help message wording/arrangement.
78139
78140 2006-07-14  Simon Josefsson  <jas@extundo.com>
78141
78142         * doc/gnulib.texi (Libtool and Windows): New section.
78143
78144 2006-07-12  Simon Josefsson  <jas@extundo.com>
78145
78146         * modules/gendocs (License): Fix license, approved by Karl.
78147
78148 2006-07-12  Eric Blake  <ebb9@byu.net>
78149
78150         * MODULES.html.sh: Add gendocs.
78151
78152 2006-07-11  Eric Blake  <ebb9@byu.net>
78153
78154         * modules/fdl: New module, to install doc/fdl.texi.
78155         * MODULES.html.sh: Add new section for documentation modules.
78156         * gnulib-tool: Avoid space-tab.
78157         (--doc-base): New option, to manage files from doc.
78158
78159 2006-07-11  Eric Blake  <ebb9@byu.net>
78160
78161         * m4/absolute-header.m4: Fix comments to match recent change.
78162
78163 2006-07-11  Eric Blake  <ebb9@byu.net>
78164
78165         * gnulib-tool: List --doc-base before --tests-base.
78166
78167 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78168
78169         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78170
78171 2006-07-11  Bruno Haible  <bruno@clisp.org>
78172
78173         * README: Mention where to put documentation.
78174
78175 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78176
78177         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78178
78179 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78180
78181         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78182         to stdint.m4.
78183
78184 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78185
78186         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78187         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78188         "no/such/file/stdint.h" when there is no such file, so that
78189         the resulting C code can be parsed by dodgy compilers.
78190         Problems reported by Bob Proulx.
78191
78192 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78193
78194         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78195         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78196         macros into the GNU _D_EXACT_NAMLEN.
78197         * lib/savedir.c:  Likewise.
78198         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78199
78200 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78201         and Paul Eggert  <eggert@cs.ucla.edu>
78202
78203         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78204         * m4/savedir.m4:
78205         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78206         macros into the GNU _D_EXACT_NAMLEN.
78207
78208 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78209
78210         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78211         around the absolute name, to work around a problem with the HP-UX
78212         11.23 native C compiler, reported by Bob Proulx.
78213
78214 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78215
78216         * doc/maintain.texi, make-stds.texi: Sync from
78217         <http://savannah.gnu.org/projects/gnustandards>.
78218
78219 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78220
78221         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78222
78223 2006-07-09  Jim Meyering  <jim@meyering.net>
78224
78225         * m4/glob.m4: Remove a doubled word in a comment.
78226
78227 2006-07-09  Jim Meyering  <jim@meyering.net>
78228
78229         * lib/argp-pv.c: Remove a doubled word in a comment.
78230         * lib/check-version.c (check_version): Likewise.
78231         * lib/javacomp.c (compile_java_class): Likewise.
78232
78233 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78234
78235         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78236         for the benefit of people using Autoconf 2.60.  If you want to
78237         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78238         (or m4/onceonly.m4, if pre-2.57) manually.
78239
78240 2006-07-08  Jim Meyering  <jim@meyering.net>
78241
78242         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78243         comment.
78244         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78245         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78246         comment.
78247
78248 2006-07-08  Jim Meyering  <jim@meyering.net>
78249
78250         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78251
78252 2006-07-07  Simon Josefsson  <jas@extundo.com>
78253
78254         * tests/test-crc.c: Change expected crc value, the test vector
78255         were probably computed using the old broken crc.c?
78256
78257 2006-07-06  Simon Josefsson  <jas@extundo.com>
78258
78259         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78260         now the canonical place for the M4 file).
78261
78262         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78263         from the sys_socket dependency now.
78264
78265         * modules/inet_pton (Files): Ditto.
78266
78267         * modules/inet_ntop (Files): Ditto.
78268
78269 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78270
78271         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78272         not gl_PREREQ_GETUSERSHELL.
78273
78274 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78275
78276         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78277         with only one argument, for Autoconf 2.60.
78278         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78279         expand to nothing, so add a shell command to avoid syntax error.
78280         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78281
78282 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78283
78284         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78285
78286 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78287
78288         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78289         no longer needed.  Check for isblank decl.
78290         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78291         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78292         of existence.
78293
78294 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * lib/getloadavg.c: Use __VMS, not VMS.
78297         * lib/getopt.c: Likewise.
78298         * lib/getpagesize.h: Likewise.
78299         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78300         and probably does not work.
78301
78302 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78303
78304         * lib/.cppi-disable: Add wcwidth.
78305         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78306         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78307         (ISGRAPH): Remove.  All uses changed to isgraph.
78308         (FOLD) [!defined _LIBC]: Remove special case.
78309         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78310         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78311         HAVE_ISBLANK.
78312         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78313         case.
78314
78315 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78316
78317         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78318         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78319         brackets.  Other minor changes to suppress some compiler
78320         warnings.
78321
78322 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78323         and Paul Eggert  <eggert@cs.ucla.edu>
78324
78325         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78326         of invoking obsolescent AC_HEADER_DIRENT macro.
78327         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78328         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78329         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78330         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78331         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78332         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78333         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78334         * m4/readdir.m4: Remove; no longer needed.
78335
78336 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78337         and Paul Eggert  <eggert@cs.ucla.edu>
78338
78339         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78340         Don't worry about this obsolete case any more.
78341         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78342         directories.
78343         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78344         worry about this obsolete case any more.
78345         * lib/fts.c: Likewise.
78346         * lib/getcwd.c: Likewise.
78347         * lib/glob.h: Likewise.
78348         * lib/savedir.c: Likewise.
78349
78350 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78351
78352         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78353         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78354         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78355         needed.
78356         All uses removed.
78357         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78358         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78359         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78360         needed.
78361         * m4/getdate.m4 (gl_GETDATE): Likewise.
78362         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78363         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78364         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78365         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78366         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78367         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78368         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78369         needed.
78370
78371 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78372
78373         * lib/memcasecmp.c: Include <limits.h>.
78374         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78375         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78376         Don't assume isdigit succeeds only on '0' through '9'.
78377
78378 2006-07-05  Eric Blake  <ebb9@byu.net>
78379
78380         * modules/getaddrinfo (Depends-on): Add snprintf.
78381
78382 2006-07-05  Eric Blake  <ebb9@byu.net>
78383
78384         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78385         to avoid 'header present but could not be compiled' on cygwin.
78386
78387 2006-07-05  Eric Blake  <ebb9@byu.net>
78388
78389         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78390         missing from netdb.h.
78391         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78392
78393 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78394
78395         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78396         no longer needed.
78397         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78398         * m4/getdate.m4 (gl_GETDATE): Likewise.
78399         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78400         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78401         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78402         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78403         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78404
78405 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78406
78407         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78408         All uses of is_space replaced by isspace.
78409         * lib/exit.h: Don't talk about STDC_HEADERS.
78410         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78411         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78412         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78413         replaced by isprint etc.
78414         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78415         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78416         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78417         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78418         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78419         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78420
78421 2006-07-05  Bruno Haible  <bruno@clisp.org>
78422
78423         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
78424         the function exists, before testing against AIX.
78425         Reported by Martin Lambers <marlam@marlam.de>.
78426
78427 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78428
78429         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
78430         From Mark D. Baushke.
78431
78432 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78433
78434         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
78435         to the absolute name, not just one, to bypass Sun C 5.8's
78436         "warning: #include of /usr/include/... may be non-portable".
78437
78438 2006-07-04  Eric Blake  <ebb9@byu.net>
78439
78440         * modules/dirname-tests: New test module.
78441         * tests/test-dirname.c: New file, replacing dirname.c
78442         TEST_DIRNAME section that was recently deleted.
78443
78444 2006-07-04  Bruno Haible  <bruno@clisp.org>
78445
78446         Assume ANSI C header files and <ctype.h> functions.
78447         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
78448         (mbsnwidth): Use isprint, iscntrl instead.
78449
78450 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78451
78452         Merge from coreutils.
78453         * MODULES.html.sh: Add xstrtold.
78454         * modules/xstrtold: New file.
78455         * modules/cycle-check (Files): Add lib/same-inode.h.
78456         * modules/dirname (Files): Add m4/double-slash-root.m4.
78457         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78458         * modules/mkdir-p (Files): Add lib/same-inode.h.
78459         * modules/same (Files): Add lib/same-inode.h.
78460
78461 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78462
78463         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78464         This is to keep the terminology clean; POSIX talks about
78465         "absolute pathnames", not "full pathnames", but the GNU
78466         Coding Standards say to use "path" for something else;
78467         so use "absolute" to keep both sides happy.
78468         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78469         Set gl_absolute_header, not gl_full_header_path.
78470         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78471         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78472         All uses changed.
78473
78474         Merge from coreutils.
78475
78476         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78477
78478         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78479         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78480         want to require the building of c-strtod.o.
78481         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78482         needs -lm directly.
78483         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78484
78485         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78486
78487         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78488         --as-needed option if available.  Problem reported by Albert Chin in
78489         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78490         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78491         cc merely issues a bunch of annoying warnings for --as-needed
78492         (this problem was reported by Bob Proulx).  Also, try linking with
78493         -lm to detect a bug in binutils 2.16 (this problem was reported
78494         by Ralf Wildenhues).
78495
78496         2006-06-18  Jim Meyering  <jim@meyering.net>
78497
78498         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78499         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78500         macro.
78501         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78502         also check for glibc-2.4's abort-inducing bug.
78503
78504         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78505         Low-probability clean-up should be to use rmdir to get rid of
78506         the just-created directory, not unlink.
78507
78508         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78509         configure fail, and request a bug report to inform us about it.
78510         Add a comment that, barring reports to the contrary, in 2007 we'll
78511         assume ftruncate is universally available.
78512
78513         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78514
78515         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78516
78517         2006-03-12  Jim Meyering  <jim@meyering.net>
78518
78519         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78520         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78521         * m4/same.m4 (gl_SAME): Likewise.
78522         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78523
78524         2006-03-11  Eric Blake  <ebb9@byu.net>
78525
78526         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78527         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78528         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78529         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78530
78531 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78532
78533         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78534         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78535         reported by Mark D. Baushke, one in
78536         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78537
78538         Merge from coreutils.
78539
78540         * lib/.cppi-disable: Add stdint_.h.
78541         * lib/.cvsignore: Add stdint.h.
78542
78543         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78544
78545         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78546         both double and long double versions.
78547         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78548         * lib/xstrtold.c: New file.
78549         * lib/xstrtod.h (xstrtold): New decl.
78550
78551         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78552
78553         * lib/filemode.c (setst): Remove.
78554         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78555         (arguably) clearer, and the generated code is a bit smaller on my
78556         Debian GNU/Linux stable x86 host.
78557
78558         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78559
78560         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78561         Assume that filemode.h includes sys/types.h and sys/stat.h.
78562         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78563         (ftypelet): Reorder to put common cases first, for efficiency.
78564         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78565         to do 'M'.
78566         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78567         of 10, for compatibility with FreeBSD.  All callers changed.
78568         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78569         types that can't be deduced solely from st_mode.  First arg is now a
78570         const pointer.
78571         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78572         (strmode): Renamed from mode_string.
78573         (filemodestring): New decl.
78574         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78575         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78576         needed.
78577         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78578
78579         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78580
78581         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78582         fsusage.h now does that.  Include fsusage.h first, to test interface.
78583         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78584         at most one method (the old code could have generated decls that
78585         didn't conform to C89, not that this was ever exercised).
78586         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78587
78588         2006-03-19  Jim Meyering  <jim@meyering.net>
78589
78590         Work even in a chroot where d_ino values for entries in "/"
78591         don't match the stat.st_ino values for the same names.
78592         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78593         number, iterate through all entries again, using lstat instead.
78594         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78595         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78596
78597         * lib/getcwd.c (__getcwd): Clarify a comment.
78598         Use memcpy in place of a call to strcpy.
78599
78600         2006-03-12  Jim Meyering  <jim@meyering.net>
78601
78602         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78603         matches that of the current directory (which we're about to chdir ".."
78604         out of), then save the dev-ino of the parent, instead.
78605
78606         * lib/same-inode.h (SAME_INODE): New file/macro.
78607         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78608         Include "same-inode.h", instead.
78609         * lib/same.c: Likewise.
78610         * lib/cycle-check.h: Include "same-inode.h".
78611         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78612         * lib/cycle-check.c (SAME_INODE): Remove definition.
78613         * lib/root-dev-ino.h: Include "same-inode.h".
78614
78615         2006-03-11  Eric Blake  <ebb9@byu.net>
78616
78617         * lib/same.c (same_name): s/base_name/last_component/
78618         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78619         * lib/filenamecat.c (file_name_concat): Likewise.
78620
78621         2006-03-11  Eric Blake  <ebb9@byu.net>,
78622                     Paul Eggert  <eggert@cs.ucla.edu>
78623
78624         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78625         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78626         drive prefix.
78627         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78628         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78629         (last_component): New method.
78630         * lib/dirname.c (dir_len): Determine when drive letters need a
78631         subsequent slash.  Preserve // when it is special.
78632         (dir_name): Don't append dot when drive letter is absolute.
78633         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78634         * lib/basename.c (base_name): New semantics - malloc the result.
78635         Preserve // when it is special.  Preserve relative files that look
78636         like drive letters.
78637         (base_len): Preserve // when it is special.
78638         (last_component): New method, similar to old base_name semantics.
78639         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78640         base_name.  Strip redundant slashes from ///.
78641
78642 2006-07-03  Jim Meyering  <jim@meyering.net>
78643
78644         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78645         macro is used before the first cycle_check call.
78646
78647 2006-07-03  Eric Blake  <ebb9@byu.net>
78648
78649         * modules/dirname (Depends-on): Add xstrndup.
78650
78651 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78652
78653         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78654         test cases, so that config.log is a bit easier to follow.
78655
78656 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78657
78658         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78659         both are 64 bits, since this seems to be the tradition, and this
78660         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78661         we ever run into a host that prefers long long to long in this
78662         case, we'll need another configure-time test.  Problem reported by
78663         Jim Meyering.
78664
78665 2006-07-02  Eric Blake  <ebb9@byu.net>
78666
78667         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78668
78669 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78670
78671         * modules/inttypes (Depends-on): No longer depends on stdint.
78672         * modules/stdint (Description): Say more about assumptions.
78673         Say that the fast types might differ.  Say macros are used.
78674         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78675         (Makefile.am): Revise list of substituted symbols to match
78676         new stdint.m4.
78677         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78678         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78679         * tests/test-stdint.c (verify_same_types)
78680         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78681         the code conforms to C99/C89.
78682         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78683         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78684
78685 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78686
78687         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78688         but fix a bug, by requiring at least 64 bits.
78689         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78690         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78691         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78692         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78693
78694         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78695         changes.  Make 2.59 a prerequisite.  Check and substitute for
78696         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78697         inttypes.h.  Do not use special include files; just use the
78698         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78699         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78700         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78701         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78702         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78703         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78704         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78705         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78706         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78707         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78708         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78709         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78710         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78711         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78712         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78713         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78714         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78715         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78716         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78717         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78718         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78719         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78720         not check for things that C99 does not require, e.g., int8_t.  If
78721         a test isn't needed unless <stdint.h> isn't working, and is
78722         unlikely to be needed for any other reason, then don't do it
78723         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78724         size_t, since we assume C89 freestanding at least.  Do not check
78725         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78726         the right thing even if the types are not defined.  Instead use:
78727         (gl_STDINT_TYPE_PROPERTIES): New macro.
78728         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78729         testing whether <sys/types.h> clashes, as Autoconf does this for
78730         us now.  All uses removed.
78731         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78732         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78733         (gl_CHECK_TYPE_SAME):
78734         Remove; no longer needed.
78735         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78736         exists, since we'll return 0 anyway in that case.
78737         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78738
78739 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78740
78741         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78742         possible collision with system files.
78743         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78744         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78745         WCHAR_MIN and WCHAR_MAX in this case.
78746         (<stddef.h>): Do not include; no longer needed.
78747         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78748         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78749         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78750         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78751         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78752         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78753         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78754         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78755         !defined(__c99))]: Include in this case too, since it's harmless
78756         now.
78757         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78758         dangerous to do so.
78759         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78760         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78761         (_STDINT_MIN, _STDINT_MAX): New macros.
78762         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78763         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78764         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78765         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78766         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78767         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78768         macros, not typedefs; this simplifies things quite a bit.
78769         Use long int for all types narrower than int64_t.
78770         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78771         Define in terms of long long int or int64_t or long int,
78772         not int64_t or int32_t.  This saves some compile-time testing.
78773         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78774         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78775         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78776         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78777         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78778         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78779         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78780         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78781         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78782         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78783         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78784         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78785         undef any previous version and define our own version, for
78786         simplicity and consistency with the new macros for types.
78787         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78788         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78789         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78790         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78791         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78792         @WINT_T_SUFFIX@ to keep things simple here.
78793         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78794         Simplify by assuming typical 8/16/32/64 host, since we're
78795         already doing that elsewhere anyway.
78796         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78797         and assume long long int is 64 bits if available.  This
78798         speeds up 'configure'.
78799
78800 2006-07-01  Eric Blake  <ebb9@byu.net>
78801
78802         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78803         Reported by Andreas Buening.
78804
78805 2006-07-01  Eric Blake  <ebb9@byu.net>
78806
78807         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78808
78809 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78810
78811         * lib/getaddrinfo.c: fixed typo
78812
78813 2006-06-29  Jim Meyering  <jim@meyering.net>
78814
78815         * modules/strftime (Maintainer): Add my name, since with the
78816         FPRINTFTIME changes strftime.c has forked from glibc.
78817
78818 2006-06-29  Eric Blake  <ebb9@byu.net>
78819
78820         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78821
78822 2006-06-29  Eric Blake  <ebb9@byu.net>
78823
78824         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78825
78826 2006-06-29  Eric Blake  <ebb9@byu.net>
78827
78828         * lib/stat_.h: New file.
78829
78830 2006-06-29  Eric Blake  <ebb9@byu.net>
78831
78832         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78833         unused static function.
78834
78835 2006-06-29  Eric Blake  <ebb9@byu.net>
78836
78837         * doc/functions.texi (Function Portability): Document missing lstat
78838         on mingw.
78839
78840 2006-06-29  Eric Blake  <ebb9@byu.net>
78841
78842         * MODULES.html.sh: Add sys_stat.
78843         * modules/sys_stat: New module.
78844         * modules/mkstemp (Depends-on): Add sys_stat.
78845
78846 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78847
78848         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78849
78850 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78851
78852         * m4/c-bs-a.m4: Removed.
78853
78854 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78855
78856         * lib/strftime.c: Assume strftime() exists.
78857
78858 2006-06-29  Derek Price  <derek@ximbiot.com>
78859
78860         * modules/c-bs-a: Removed - \a is C89.
78861         * MODULES.html.sh: Remove c-bs-a.
78862
78863 2006-06-29  Bruno Haible  <bruno@clisp.org>
78864
78865         * modules/wcwidth (License): Change to LGPL.
78866
78867 2006-06-28  Simon Josefsson  <jas@extundo.com>
78868
78869         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78870         on _WIN32.
78871
78872         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78873         getnameinfo.
78874
78875 2006-06-28  Simon Josefsson  <jas@extundo.com>
78876
78877         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78878
78879 2006-06-28  Simon Josefsson  <jas@extundo.com>
78880
78881         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78882         functions there.  It will succeed on Windows XP, but on Windows
78883         2000 and (presumably) earlier, it will fail, and use the internal
78884         re-implementation.
78885         (use_win32_p): New function.
78886         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78887         Support AI_NUMERICSERV to disable getservbyname.
78888         (getnameinfo): New function, only supports
78889         NI_NUMERICHOST|NI_NUMERICSERV for now.
78890
78891         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78892         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78893         getnameinfo.
78894
78895 2006-06-28  Eric Blake  <ebb9@byu.net>
78896
78897         * modules/wcwidth: New file.
78898         * modules/mbchar (Depends-on): Add wcwidth.
78899         * modules/mbswidth (Depends-on): Add wcwidth.
78900         * MODULES.html.sh: Add wcwidth.
78901
78902 2006-06-28  Eric Blake  <ebb9@byu.net>
78903
78904         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78905         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78906
78907 2006-06-28  Eric Blake  <ebb9@byu.net>
78908
78909         * lib/xvasprintf.h: Fix comments.
78910
78911 2006-06-28  Eric Blake  <ebb9@byu.net>
78912
78913         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78914         * lib/mbswidth.c (wcwidth): Move from here...
78915         * lib/wcwidth.h: ...to this new file.
78916
78917 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78918
78919         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78920
78921         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78922         it's obsolete.
78923         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78924
78925 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78926
78927         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78928         Autoconf 2.60 says this stuff was obsolete.
78929
78930 2006-06-28  Bruno Haible  <bruno@clisp.org>
78931
78932         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78933
78934 2006-06-28  Bruno Haible  <bruno@clisp.org>
78935
78936         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78937         gt_TYPE_WCHAR_T.
78938
78939 2006-06-28  Bruno Haible  <bruno@clisp.org>
78940
78941         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78942         declaration for wcwidth.
78943         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78944
78945 2006-06-28  Bruno Haible  <bruno@clisp.org>
78946
78947         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78948         (mkdir): Define using _mkdir.
78949
78950 2006-06-28  Bruno Haible  <bruno@clisp.org>
78951
78952         * lib/getaddrinfo.h: Fix POSIX URL.
78953         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78954         _WIN32.
78955         (use_win32_p): Make static.
78956         (getaddrinfo): Reject service name if it is empty or does not consist
78957         solely of decimal digits, or if its value is > 65535.
78958         (getnameinfo): Remove useless casts.
78959
78960 2006-06-27  Simon Josefsson  <jas@extundo.com>
78961
78962         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78963         Eggert and Martin Lambers.
78964
78965 2006-06-27  Simon Josefsson  <jas@extundo.com>
78966
78967         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78968         Eggert and Martin Lambers.
78969
78970 2006-06-27  Bruno Haible  <bruno@clisp.org>
78971
78972         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78973         result to 0, not to empty.
78974         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78975
78976 2006-06-27  Bruno Haible  <bruno@clisp.org>
78977
78978         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78979
78980 2006-06-26  Simon Josefsson  <jas@extundo.com>
78981
78982         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78983         present.
78984
78985 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78986
78987         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78988         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78989         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78990
78991 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78992
78993         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78994
78995 2006-06-26  Bruno Haible  <bruno@clisp.org>
78996
78997         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78998
78999 2006-06-26  Bruno Haible  <bruno@clisp.org>
79000
79001         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
79002
79003 2006-06-26  Bruno Haible  <bruno@clisp.org>
79004
79005         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
79006         SGI C compiler in pre-C99 mode.
79007         Suggested by Mark D. Baushke and Larry Jones.
79008
79009 2006-06-26  Bruno Haible  <bruno@clisp.org>
79010
79011         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
79012         WCHAR_MAX.
79013         Reported by Mark D. Baushke and Larry Jones.
79014
79015 2006-06-26  Bruno Haible  <bruno@clisp.org>
79016
79017         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
79018         in pre-C99 mode.
79019         Suggested by Mark D. Baushke and Larry Jones.
79020
79021 2006-06-23  Simon Josefsson  <jas@extundo.com>
79022             Bruno Haible  <bruno@clisp.org>
79023
79024         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
79025         Emit mostlyclean-local rule.
79026         (func_emit_tests_Makefile_am): Likewise.
79027         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
79028
79029 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
79030
79031         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
79032
79033 2006-06-23  Bruno Haible  <bruno@clisp.org>
79034
79035         * tests/test-stdint.c: Update to match ISO C 99 Technical
79036         Corrigendum 1.
79037
79038 2006-06-23  Bruno Haible  <bruno@clisp.org>
79039
79040         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
79041
79042 2006-06-23  Bruno Haible  <bruno@clisp.org>
79043
79044         * lib/stdint_.h: Treat IRIX like OpenBSD.
79045
79046 2006-06-23  Bruno Haible  <bruno@clisp.org>
79047
79048         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
79049         ISO C 99 Technical Corrigendum 1.
79050
79051 2006-06-22  Simon Josefsson  <jas@extundo.com>
79052
79053         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
79054         MinGW.
79055
79056 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79057
79058         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
79059         needed.  Some compiler complained about some of them.  Problem reported
79060         by Larry Jones in
79061         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
79062
79063 2006-06-21  Simon Josefsson  <jas@extundo.com>
79064
79065         * tests/test-getaddrinfo.c: New file.
79066
79067         * modules/getaddrinfo-tests: New file.
79068
79069         * MODULES.html.sh: Add inet_pton.
79070
79071         * modules/inet_pton: New file.
79072
79073 2006-06-21  Simon Josefsson  <jas@extundo.com>
79074
79075         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
79076         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
79077         of using the (limited) gnulib implementation on Windows XP.
79078
79079         * m4/inet_pton.m4: New file.
79080
79081 2006-06-21  Simon Josefsson  <jas@extundo.com>
79082
79083         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
79084         variable.
79085
79086         * lib/socket_.h: Don't define WINVER.
79087
79088         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
79089         slightly modified to work in gnulib.
79090
79091 2006-06-21  Simon Josefsson  <jas@extundo.com>
79092
79093         * doc/gnulib.texi (Windows sockets): Add.
79094
79095 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
79096
79097         * lib/read-file.c (fread_file): Start with buffer allocation of
79098         0 bytes rather than 1 byte; this simplifies the code.
79099         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
79100         code to free buffer and save/restore errno.
79101         (internal_read_file): Remove unused local.
79102
79103 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
79106         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
79107         Problem reported by Denis Excoffier in
79108         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
79109
79110 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79111
79112         * modules/sys_socket, modules/socklen: Include sys/types since
79113         FreeBSD 4.x's sys/socket.h needs it.
79114
79115 2006-06-19  Simon Josefsson  <jas@extundo.com>
79116
79117         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
79118
79119 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79120
79121         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
79122
79123 2006-06-19  Bruno Haible  <bruno@clisp.org>
79124
79125         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
79126         and FULL_PATH_INTTYPES_H in angle brackets.
79127         Reported by Mark D. Baushke <mdb@gnu.org>.
79128
79129 2006-06-17  Eric Blake  <ebb9@byu.net>
79130
79131         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79132         errno.
79133
79134 2006-06-17  Bruno Haible  <bruno@clisp.org>
79135
79136         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79137         <sys/inttypes.h>.
79138
79139 2006-06-17  Bruno Haible  <bruno@clisp.org>
79140
79141         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79142         whether errno is declared. Assume <errno.h> declares errno.
79143
79144 2006-06-17  Bruno Haible  <bruno@clisp.org>
79145
79146         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79147
79148 2006-06-17  Bruno Haible  <bruno@clisp.org>
79149
79150         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79151         problem on Solaris 2.5.1.
79152
79153 2006-06-16  Eric Blake  <ebb9@byu.net>
79154
79155         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79156         * lib/unicodeio.c [!defined errno]: Likewise.
79157         * lib/strtol.c [!defined errno]: Likewise.
79158         * lib/strtod.c [!defined errno]: Likewise.
79159
79160 2006-06-15  Eric Blake  <ebb9@byu.net>
79161
79162         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79163
79164 2006-06-15  Eric Blake  <ebb9@byu.net>
79165
79166         * config/srclist.txt (ssize_t.m4): Lose sync.
79167
79168 2006-06-15  Bruno Haible  <bruno@clisp.org>
79169
79170         * modules/stdint (Files): Include m4/full-header-path.m4,
79171         m4/size_max.m4, m4/wchar_t.m4.
79172         (Makefile.am): Many more substitutions.
79173         * modules/stdint-tests: New file.
79174         * tests/test-stdint.c: New file.
79175
79176 2006-06-15  Bruno Haible  <bruno@clisp.org>
79177
79178         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79179         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79180         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79181         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79182         gl_CHECK_TYPE_SAME): New macros.
79183
79184 2006-06-15  Bruno Haible  <bruno@clisp.org>
79185
79186         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79187
79188 2006-06-15  Bruno Haible  <bruno@clisp.org>
79189
79190         * lib/stdint_.h: Rewritten to be fully auto-configured.
79191         Fixes bug on HP-UX/IA64.
79192
79193 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79194
79195         * lib/getdate.y (__attribute__): Don't define if already defined.
79196         Problem reported by Larry Jones.
79197         * lib/utimens.c (__attribute__): Likewise.
79198
79199 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79200
79201         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79202         reported by Andreas Schwab.
79203
79204 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79205             Bruno Haible  <bruno@clisp.org>
79206
79207         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79208         check for the declaration of strnlen and a run test that exposes the
79209         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79210         rpl_strndup.
79211
79212 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79213             Bruno Haible  <bruno@clisp.org>
79214
79215         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79216
79217 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79218
79219         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79220         compile test, for Tru64 4.0D.
79221
79222 2006-05-28  Karl Berry  <karl@gnu.org>
79223
79224         * config/srclist.txt (printf-args.c): lose sync.
79225
79226 2006-05-26  Martin Lambers  <marlam@marlam.de>
79227
79228         * lib/getpass.c: Updates the test for the native W32 API, and adds
79229         missing includes, thus fixing compilation warnings.
79230
79231 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79232
79233         * lib/exclude.c (exclude_fnmatch): New function.
79234         (excluded_file_name): Call exclude_fnmatch.
79235         * lib/exclude.h (excluded_file_name): New prototype
79236
79237 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79238
79239         * lib/tempname.c (small_open, large_open): New macros.
79240         (__open, __open64) [!_LIBC]: Remove.
79241         (__gen_tempname): Use small_open and large_open instead of __open
79242         and __open64.  This fixes a portability bug on HP-UX 11.11i
79243         reported by Simon Wing-Tang in
79244         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79245
79246 2006-05-24  Bruno Haible  <bruno@clisp.org>
79247
79248         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79249         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79250         Reported by Thorsten Maerz <torte@netztorte.de> via
79251         Aaron Stone <aaron@serendipity.cx>.
79252
79253 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79254
79255         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79256         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79257         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79258         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79259         not really conditional on the cache.
79260         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79261
79262 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79263
79264         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79265         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79266         (my_usleep): Don't mishandle maximum value.
79267
79268 2006-05-19  Jim Meyering  <jim@meyering.net>
79269
79270         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79271
79272 2006-05-17  Bruno Haible  <bruno@clisp.org>
79273
79274         Cygwin portability.
79275         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79276
79277 2006-05-17  Bruno Haible  <bruno@clisp.org>
79278
79279         * lib/stdint_.h: Fix recognition of Cygwin.
79280
79281 2006-05-15  Bruno Haible  <bruno@clisp.org>
79282
79283         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79284         on libtool patch by Ralf Wildenhues.
79285
79286 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79287
79288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79289         test for C99 conformance; (bool) 0.5 is an integer constant
79290         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79291         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79292
79293 2006-05-11  Simon Josefsson  <jas@extundo.com>
79294
79295         * m4/xvasprintf.m4: Fix obvious typo.
79296
79297 2006-05-11  Jim Meyering  <jim@meyering.net>
79298
79299         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79300         James Lemley.
79301
79302 2006-05-10  Simon Josefsson  <jas@extundo.com>
79303
79304         * lib/md4.c: Typo fix, update copyright years.
79305         (K1, K2): Don't use L because it turn computations into 64-bit on
79306         64-bit platforms.
79307
79308 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79309
79310         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79311         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79312         unwanted sign propagation, e.g., on hosts with 64-bit int.
79313         There still are some problems with reeelly weird theoretical hosts
79314         (e.g., 33-bit int) but it's not worth worrying about now.
79315         * lib/sha1.c (rol): Likewise.
79316         (K1, K2, K3, K4): Remove unnecessary L suffix.
79317
79318 2006-05-10  Bruno Haible  <bruno@clisp.org>
79319
79320         * lib/des.c: Cast to avoid warnings.
79321
79322 2006-05-09  Bruno Haible  <bruno@clisp.org>
79323
79324         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79325         (Depends-on): Depend also on xsize, stdarg.
79326         (configure.ac): Add gl_XVASPRINTF.
79327
79328 2006-05-09  Bruno Haible  <bruno@clisp.org>
79329
79330         * m4/xvasprintf.m4: New file.
79331
79332 2006-05-09  Bruno Haible  <bruno@clisp.org>
79333
79334         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79335         (EOVERFLOW): Define fallback value.
79336         (xstrcat): New function.
79337         (xvasprintf): Recognize the special case of a string concatenation.
79338
79339 2006-05-08  Eric Blake  <ebb9@byu.net>
79340
79341         * gnulib-tool (func_version): Base copyright year on CVS date.
79342         (func_emit_copyright_notice): New function.
79343         (func_emit_lib_Makefile_am): Use it.
79344         (func_emit_tests_Makefile_am): Likewise.
79345         (func_import): Likewise.
79346
79347 2006-05-08  Bruno Haible  <bruno@clisp.org>
79348
79349         * modules/stdarg: New file.
79350         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79351
79352 2006-05-08  Bruno Haible  <bruno@clisp.org>
79353
79354         * m4/stdarg.m4: New file, from GNU gettext.
79355
79356 2006-05-08  Bruno Haible  <bruno@clisp.org>
79357
79358         * config/srclist.txt (build-aux/config.rpath): different from latest
79359         release.
79360
79361 2006-05-08  Bruno Haible  <bruno@clisp.org>
79362
79363         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79364
79365 2006-05-05  Jim Meyering  <jim@meyering.net>
79366
79367         * m4/warning.m4: New file, derived from bison's file by the same name.
79368
79369 2006-05-03  Bruno Haible  <bruno@clisp.org>
79370
79371         * lib/stdint_.h: Shorter URL.
79372         * lib/inttypes.h: Likewise.
79373
79374 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79375
79376         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79377
79378 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79379
79380         * lib/verify.h: Document the internals better.  Most of this change
79381         was written by Bruno Haible.
79382
79383 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79384
79385         * doc/verify.texi: New file, partly based on a proposal by
79386         Bruno Haible.
79387
79388 2006-05-02  Bruno Haible  <bruno@clisp.org>
79389
79390         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79391         test from here...
79392         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79393
79394 2006-04-29  Bruno Haible  <bruno@clisp.org>
79395
79396         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79397         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79398
79399 2006-04-29  Bruno Haible  <bruno@clisp.org>
79400
79401         * gnulib-tool: Make --update option actually work.
79402
79403 2006-04-29  Bruno Haible  <bruno@clisp.org>
79404
79405         * doc/gcd.texi: New file.
79406         * doc/gnulib.texi: Include it.
79407
79408 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79409
79410         * lib/getdate.y (get_date): When adding relative date, start with the
79411         initial time, not with the result of the first mktime call.
79412
79413 2006-04-25  Bruno Haible  <bruno@clisp.org>
79414
79415         * gnulib-tool (func_import): Output the include directives in three
79416         blocks, sorted separately.
79417         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79418
79419 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79420
79421         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79422         to define main with arguments, for C++.  Reported by Eric Blake.
79423         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
79424         Prefer 'int main ()' to 'int main (void)', for C++.
79425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
79426         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
79427         for 'main', for C99 and C++.
79428
79429 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79430
79431         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
79432         Don't assume that exit status -1 is valid.
79433         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79434         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79435         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79436         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
79437         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
79438         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
79439         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
79440         functions can be used without declaring them, or that you can
79441         exit with status -1.
79442         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79443
79444 2006-04-24  Karl Berry  <karl@gnu.org>
79445
79446         * config/srclist.txt (longdouble.m4): sync lost.
79447
79448 2006-04-24  Eric Blake  <ebb9@byu.net>
79449
79450         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
79451
79452 2006-04-24  Bruno Haible  <bruno@clisp.org>
79453
79454         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
79455         poll() implementation in AIX.
79456         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79457
79458 2006-04-24  Bruno Haible  <bruno@clisp.org>
79459
79460         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79461         assigned exactly once.
79462
79463 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79464             Bruno Haible  <bruno@clisp.org>
79465
79466         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79467         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79468         for AM_CPPFLAGS.
79469
79470 2006-04-23  Bruno Haible  <bruno@clisp.org>
79471
79472         * modules/copy-file: Depend on unistd.
79473         * modules/execute: Likewise.
79474         * modules/fatal-signal: Likewise.
79475         * modules/findprog: Likewise.
79476         * modules/mkdtemp : Likewise.
79477         * modules/pipe: Likewise.
79478         * modules/wait-process: Likewise.
79479
79480 2006-04-23  Bruno Haible  <bruno@clisp.org>
79481
79482         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79483         condition was already detected.
79484         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79485
79486 2006-04-23  Bruno Haible  <bruno@clisp.org>
79487
79488         * lib/copy-file.c: Include <unistd.h> unconditionally.
79489         * lib/execute.c: Likewise.
79490         * lib/fatal-signal.c: Likewise.
79491         * lib/findprog.c: Likewise.
79492         * lib/mkdtemp.c: Likewise.
79493         * lib/pipe.h: Likewise.
79494         * lib/pipe.c: Likewise.
79495         * lib/wait-process.h: Likewise.
79496
79497 2006-04-23  Bruno Haible  <bruno@clisp.org>
79498
79499         * gnulib-tool (func_usage): Fix --import description. Document
79500         --update.
79501         (func_import): Create temporary file in a temporary directory, if
79502         --dry-run is specified. Silence errors from 'grep' when there are no
79503         m4 files in $m4dir.
79504         (func_create_testdir): Silence errors from 'grep' when there are no
79505         m4 files in $m4dir.
79506         Reported by Karl Berry <karl@freefriends.org>.
79507
79508 2006-04-20  Bruno Haible  <bruno@clisp.org>
79509
79510         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79511         one argument, so that the code will be portable to Autoconf 2.60.
79512         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79513         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79514         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79515
79516 2006-04-19  Derek Price  <derek@ximbiot.com>
79517             Eric Blake  <ebb9@byu.net>
79518
79519         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79520         rather than "/full/path.h".  Update comment to match.  Shorten &
79521         generalize m4_translit call via AS_TR_CPP.
79522
79523 2006-04-19  Derek Price  <derek@ximbiot.com>
79524             Eric Blake  <ebb9@byu.net>
79525
79526         * lib/inttypes.h: Correct grammar in comment.
79527
79528 2006-04-18  Derek Price  <derek@ximbiot.com>
79529             Paul Eggert  <eggert@cs.ucla.edu>
79530
79531         * modules/inttypes: New file.
79532         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79533
79534 2006-04-18  Derek Price  <derek@ximbiot.com>
79535             Paul Eggert  <eggert@cs.ucla.edu>
79536
79537         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79538         New files.
79539
79540 2006-04-18  Derek Price  <derek@ximbiot.com>
79541             Paul Eggert  <eggert@cs.ucla.edu>
79542
79543         * lib/inttypes.h: New file.
79544         * lib/strtoimax.c: Assume <inttypes.h>.
79545
79546 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79547
79548         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79549         isn't mounted.  Problem reported by Kir Kolyshkin.
79550
79551 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79552
79553         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79554         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79555         Derek R. Price.
79556         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79557         implementation.
79558
79559 2006-04-12  Eric Blake  <ebb9@byu.net>
79560
79561         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79562         is now done automatically by the corresponding Autoconf macro.
79563
79564 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79565
79566         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79567         time_r.h.
79568
79569 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79570
79571         Merge regex changes from libc, removing some of our
79572         POSIX-conformance changes that were rejected and redoing them in a
79573         less-intrusive way.
79574
79575         * lib/regcomp.c (re_compile_internal, init_dfa):
79576         Length arg is now size_t, not Idx.  All uses changed.
79577         (peek_token): Forward decl now says internal_function.
79578         (__re_error_msgid, __re_error_msgid_idx):
79579         Now static rather than extern with attribute_hidden.
79580         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79581         For some reason libc prefers K&R style defns for external functions.
79582         (regerror) [!defined _LIBC]: Likewise.
79583         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79584         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79585         (build_range_exp, build_collating_symbol):
79586         Use K&R-style defn.
79587         (re_compile_fastmap): Use '\0' to memset, not 0.
79588         (utf8_sb_map): Make the calculations more obvious.
79589         (init_dfa, parse_bracket_exp, build_charclass_op):
79590         Call calloc and cast result, as glibc does.
79591         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79592         (build_range_exp, build_collating_symbol):
79593         Now internal functions.
79594
79595         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79596
79597         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79598         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79599         Don't depend on VMS; depend on __VMS instead, for POSIX
79600         namespace cleanness.
79601         (regoff_t): Define to ssize_t, not long int.
79602
79603         Remove the REG_ macros named below.  Instead, make the old names
79604         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79605         __USE_GNU_REGEX.
79606         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79607         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79608         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79609         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79610         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79611         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79612         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79613         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79614         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79615         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79616         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79617         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79618         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79619         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79620         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79621         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79622         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79623         (REG_NREGS):
79624         Remove.  All uses replaced by the old RE_* names.
79625         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79626         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79627         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79628         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79629         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79630         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79631         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79632         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79633         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79634         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79635         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79636         Don't bother having these macros be independent of each others'
79637         values, since they no longer exist in the POSIX name space.
79638
79639         Rename the following member names back to their old names,
79640         unless !__USE_GNU_REGEX.  All uses changed back.
79641         (buffer): Renamed from re_buffer.
79642         (allocated): Renamed from re_allocated.
79643         (used): Renamed from re_used.
79644         (syntax): Renamed from re_syntax.
79645         (fastmap): Renamed from re_fastmap.
79646         (translate): Renamed from re_translate.
79647         (can_be_null): Renamed from re_can_be_null.
79648         (regs_allocated): Renamed from re_regs_allocated.
79649         (fastmap_accurate): Renamed from re_fastmap_accurate.
79650         (no_sub): Renamed from re_no_sub.
79651         (not_bol): Renamed from re_not_bol.
79652         (not_eol): Renamed from re_not_eol.
79653         (newline_anchor): Renamed from re_newline_anchor.
79654         (num_regs): Renamed from rm_num_regs.
79655         (start): Renamed from rm_start.
79656         (end): Renamed from rm_end.
79657
79658         (free_state): Move up a bit.
79659
79660         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79661         #define to be empty.
79662         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79663         when that is what is intended.
79664         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79665         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79666         (MAX): New macro.
79667         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79668         All uses changed back to re_malloc, etc.  It's now the caller's
79669         responsibility to check for overflow; all callers changed.
79670         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79671         (re_x2nrealloc): Remove.
79672         (free_state): Remove decl.
79673
79674         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79675         (re_set_registers, re_exec):
79676         Use K&R-style defn.
79677
79678         2006-01-31  Roland McGrath  <roland@redhat.com>
79679
79680         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79681         Reported by Mike Frysinger <vapier@gentoo.org>.
79682
79683         2006-01-15  Andreas Jaeger  <aj@suse.de>
79684
79685         [BZ #1950]
79686         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79687         build_wcs_upper_buffer change.
79688         (build_wcs_upper_buffer): Change return type.
79689
79690         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79691
79692         * lib/regex_internal.h: Include <stdint.h> if available.
79693
79694         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79695
79696         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79697
79698         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79699
79700         * lib/regcomp.c: Adjust for changed secondary hash function.
79701
79702         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79703
79704         * lib/regex.h: Pretty printing.
79705         Clean up namespace a bit.
79706
79707         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79708
79709         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79710         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79711
79712         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79713                     Ulrich Drepper  <drepper@redhat.com>
79714
79715         [BZ #1302]
79716         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79717         changed.
79718         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79719
79720         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79721
79722         [BZ #281]
79723         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79724         * lib/regcomp.c: Remove unnecessary uses of
79725         unsigned RE_TRANSLATE_TYPE.
79726         * lib/regex_internal.h: Likewise.
79727         * lib/regex_internal.c: Likewise.
79728         * lib/regexec.c: Likewise.
79729         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79730
79731         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79732
79733         * lib/regexec.c (find_recover_state): Remove unnecessary
79734         initialization.
79735         (transit_state_bkref): Make DFA a const pointer.
79736         (get_subexp): Likewise.
79737         (check_arrival): Likewise.
79738         (update_cur_sifted_state): Likewise.
79739         (re_search_internal): Likewise.
79740         (prune_impossible_nodes): Likewise.
79741         (acquire_init_state_context): Likewise.
79742         (proceed_next_node): Likewise.
79743         (set_regs): Likewise.
79744         (free_fail_stack_return): Likewise.
79745         (check_arrival_expand_ecl): Mark DFA parameter as const.
79746         (check_arrival_expand_ecl_sub): Likewise.
79747         (check_subexp_limits): Likewise.
79748         (sub_epsilon_src_nodes):  Likewise.
79749         (add_epsilon_src_nodes):  Likewise.
79750         (merge_state_array): Likewise.
79751         (update_regs): Likewise.
79752         (build_trtable): Likewise.
79753         (sift_states_backward): Mark MCTX parameter as const.
79754         (build_sifted_states): Likewise.
79755         (update_cur_sifted_state): Likewise.
79756         (sift_states_mkref): Likewise.
79757         (check_arrival_expand_ecl): Mark eclosure as const.
79758         (check_dst_limits_calc_pos_1): Likewise.
79759         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79760         pointer.
79761
79762         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79763
79764         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79765         (transit_state_sb): Likewise.
79766         (transit_state_mb): Likewise.
79767         (sift_states_iter_mb): Likewise.
79768         (check_arrival_add_next_nodes): Likewise.
79769         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79770         [_LIBC] (re_search_2_stub): Use mempcpy.
79771
79772         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79773         mbrtowc for very simple UTF-8 case.
79774
79775         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79776         a pointer-to-const.
79777         (re_acquire_state_context): Likewise.
79778         * lib/regex_internal.h: Adjust prototypes.
79779
79780         * lib/regex.c: Prevent using C++ compilers.
79781
79782         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79783         (re_acquire_state_context): Likewise.
79784
79785 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79786
79787         * modules/regex (Depends-on): Add ssize_t.
79788
79789 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79790
79791         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79792         translation table.
79793
79794 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79795
79796         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79797
79798 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79799             Bruno Haible  <bruno@clisp.org>
79800
79801         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79802         <sys/types.h> and <inttypes.h>.
79803
79804 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79805
79806         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79807         `__error_t_defined', so argp.h will not typedef the former.
79808
79809 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79810
79811         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79812         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79813         glibc names.  Even if glibc is changed to conform to POSIX, the
79814         traditional names will be available anyway, since regex depends on
79815         the extensions module.  Also, fix a longstanding typo in the
79816         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79817         reported by Emanuele Giaquinta.  Also, change sense of cached
79818         variable, so that the message makes sense.
79819
79820 2006-03-24  Simon Josefsson  <jas@extundo.com>
79821
79822         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79823         including some doc fixes.
79824         (base64_encode_alloc): Fix +1 bug on allocation failures.
79825
79826 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79827
79828         * lib/base64.c (base64_encode): Do not read past end of array with
79829         unsanitized input on systems with CHAR_BIT > 8.
79830
79831 2006-03-24  Eric Blake  <ebb9@byu.net>
79832
79833         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79834
79835 2006-03-22  Karl Berry  <karl@gnu.org>
79836
79837         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79838         * config/srclistvars.sh (COREUTILS): new var.
79839
79840 2006-03-17  Jim Meyering  <jim@meyering.net>
79841
79842         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79843         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79844
79845 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79846
79847         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79848         no longer needs it.  Instead, check that regoff_t is as least
79849         as wide as ptrdiff_t.
79850
79851         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79852         so that our regex.h stays compatible with the installed regex.
79853         This is helpful for installers who configure --without-included-regex.
79854         Problem reported by Emanuele Giaquinta.
79855
79856 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79857
79858         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79859         Typedef to long int, not to off_, as POSIX will likely change
79860         in that direction.
79861
79862 2006-03-15  Eric Blake  <ebb9@byu.net>
79863
79864         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79865
79866 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79867
79868         * lib/argp-help.c (validate_uparams): Fix typo
79869         * lib/argp-parse.c (argp_default_options): Consistently begin help
79870         messages with a lowercase letter.
79871
79872 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79873
79874         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79875         overrun buffers and shouldn't be used (much as gets shouldn't be
79876         used).
79877         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79878
79879 2006-03-08  Simon Josefsson  <jas@extundo.com>
79880
79881         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79882         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79883
79884 2006-03-08  Simon Josefsson  <jas@extundo.com>
79885
79886         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79887         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79888
79889 2006-03-08  Simon Josefsson  <jas@extundo.com>
79890
79891         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79892         signal that configure disabled the device.
79893
79894 2006-03-08  Simon Josefsson  <jas@extundo.com>
79895
79896         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79897         languages.
79898
79899 2006-03-07  Simon Josefsson  <jas@extundo.com>
79900
79901         * modules/getopt (Depends-on): Add unistd.
79902
79903         * modules/unistd: New file.
79904
79905 2006-03-07  Simon Josefsson  <jas@extundo.com>
79906
79907         * modules/gc-random: New file.
79908
79909 2006-03-07  Simon Josefsson  <jas@extundo.com>
79910
79911         * m4/unistd_h.m4: New file.
79912
79913 2006-03-07  Simon Josefsson  <jas@extundo.com>
79914
79915         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79916         test to be side-effect free by storing the result in the cache
79917         variable gl_cv_lib_readline, and moving the assignment of
79918         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79919         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79920
79921 2006-03-07  Simon Josefsson  <jas@extundo.com>
79922
79923         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79924         error on missing devices (the functions will return an error).
79925
79926         * m4/gc.m4: Move random stuff to gc-random.m4
79927
79928 2006-03-07  Simon Josefsson  <jas@extundo.com>
79929
79930         * lib/unistd_.h: New file.
79931
79932 2006-03-07  Simon Josefsson  <jas@extundo.com>
79933
79934         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79935
79936 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79937
79938         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79939         Problem reported by Juan Manuel Guerrero.
79940
79941 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79942
79943         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79944         the unistd module.
79945         * lib/getlogin_r.c: Likewise.
79946         * lib/getlogin_r.h: Likewise.
79947         * lib/glob.c: Likewise.
79948         * lib/pagealign_alloc.c: Likewise.
79949         * lib/unistd_.h: Remove; no longer needed.
79950
79951 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79954         Add unistd.
79955         * modules/c-stack (Depends-on): Add unistd.
79956         * modules/getlogin_r: Likewise.
79957         * modules/glob: Likewise.
79958         * modules/pagealign_alloc: Likewise.
79959         * modules/unistd (Files): Remove lib/unistd_.h.
79960         (EXTRA_DIST): Remove.
79961         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79962         need unistd_.h.
79963         (MOSTLYCLEANFILES): Remove unistd.h-t.
79964
79965 2006-03-03  Simon Josefsson  <jas@extundo.com>
79966
79967         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79968
79969 2006-03-03  Simon Josefsson  <jas@extundo.com>
79970
79971         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79972         libidn and bison.
79973
79974 2006-03-03  Simon Josefsson  <jas@extundo.com>
79975
79976         * build-aux/maint.mk: Add indent target.
79977
79978 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79979
79980         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79981         our replacement poll.h in any case, to avoid a differing
79982         declaration from a system header.  Seen on AIX.
79983
79984 2006-03-01  Simon Josefsson  <jas@extundo.com>
79985
79986         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79987         <kasal@ucw.cz>.
79988
79989 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79990
79991         * modules/gettime (Depends-on): Add extensions module.
79992         * modules/nanosleep (Depends-on): Likewise.
79993         * modules/settime (Depends-on): Likewise.
79994
79995 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79996
79997         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79998         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79999         pedantically.
80000         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80001         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
80002
80003         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
80004         not "==".  Reported by Ralf Wildenhues.
80005
80006 2006-03-01  Karl Berry  <karl@gnu.org>
80007
80008         * doc/Copyright/request-*: new files, synced from gnuorg.
80009
80010 2006-03-01  Karl Berry  <karl@gnu.org>
80011
80012         * config/srclist.txt (Copyright/*): new entries.
80013
80014 2006-02-28  Simon Josefsson  <jas@extundo.com>
80015
80016         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
80017
80018 2006-02-27  Simon Josefsson  <jas@extundo.com>
80019
80020         * lib/base64.h: Indent #define's.  From Jim Meyering
80021         <jim@meyering.net>.
80022
80023 2006-02-27  Jim Meyering  <jim@meyering.net>
80024
80025         Revert the change of 2006-02-24, so these files can continue
80026         to be sync'd from gettext.
80027         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
80028         of `config.h'.
80029
80030 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80031
80032         * modules/intprops: New file.
80033         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
80034         Add intprops.
80035         * modules/getloadavg (Files): Remove lib/intprops.h.
80036         (Depends-on): Add intprops.
80037         * modules/human: Likewise.
80038         * modules/inttostr: Likewise.
80039         * modules/openat: Likewise.
80040         * modules/sig2str: Likewise.
80041         * modules/userspec: Likewise.
80042         * modules/utimecmp: Likewise.
80043         * modules/xnanosleep: Likewise.
80044         * modules/xstrtol: Likewise.
80045
80046 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
80047
80048         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
80049         * modules/lock-tests (TESTS): Use $(EXEEXT).
80050         * modules/tls-tests: Likewise.
80051         * modules/argp-tests: Likewise.
80052         (check_PROGRAMS): New var, replacing...
80053         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
80054
80055 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80056
80057         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
80058         `config.h'.
80059
80060 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
80061
80062         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
80063
80064 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80065
80066         Sync from coreutils.
80067         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
80068         gl_CHDIR_SAFER.
80069
80070 2006-02-22  Jim Meyering  <jim@meyering.net>
80071
80072         Sync from coreutils.
80073         * m4/chdir-safer.m4: New file.
80074
80075 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
80076
80077         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
80078         AT_FDCWD exceeds INT_MAX.
80079         * lib/openat.h (AT_FDCWD): Likewise.
80080
80081 2006-02-17  Eric Blake  <address@hidden>
80082
80083         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
80084
80085 2006-02-16  Simon Josefsson  <jas@extundo.com>
80086
80087         * modules/getaddrinfo (Depends-on): Add sys_socket.
80088
80089 2006-02-15  Simon Josefsson  <jas@extundo.com>
80090
80091         * build-aux/maint.mk: Add dsyntax-check rule.
80092
80093 2006-02-15  Eric Blake  <ebb9@byu.net>
80094
80095         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
80096         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
80097         'present but cannot compile' warnings on cygwin.
80098         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
80099         use ws2tcpip.h if sys/socket.h works.
80100         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
80101         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
80102
80103 2006-02-14  Simon Josefsson  <jas@extundo.com>
80104
80105         * modules/maintainer-makefile (Files): Rename.
80106
80107         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
80108         and (the local) Makefile.cfg to maint-cfg.mk.
80109
80110         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
80111         to the latter.
80112
80113         * modules/maintainer-makefile: New module.
80114
80115         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
80116         severaly stripped to make it possible to build it up from scratch
80117         with reliable tests.
80118
80119         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
80120         fixes to permit overriding the default actions when configure and
80121         makefile are not available.
80122
80123 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80124
80125         Sync from coreutils.
80126         * modules/lstat (Depends-on): Don't depend on xalloc.
80127         (License): Change from GPL to LGPL, since this is now simply a
80128         replacement for a libc function.
80129
80130 2006-02-14  Jim Meyering  <jim@meyering.net>
80131
80132         Sync from coreutils.
80133
80134         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80135         failure on deficient systems, and simplify gnulib lgpl dependencies.
80136         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80137         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80138
80139         * lib/xalloc-die.c: Remove unused definition of N_.
80140
80141 2006-02-14  Jim Meyering  <jim@meyering.net>
80142
80143         Sync from coreutils.
80144         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80145         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80146         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80147         double-quote uses of that variable, to accommodate the rare case in
80148         which getmntent is available in none of the libraries checked.  This
80149         happens at least on FreeBSD 5.0.
80150
80151 2006-02-13  Simon Josefsson  <jas@extundo.com>
80152
80153         * gnulib-tool (Usage): Fix --import, from
80154         karl@freefriends.org (Karl Berry).
80155
80156 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80157
80158         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80159
80160 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80161
80162         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80163         "autoupdate" on 2005-12-12.
80164
80165 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80166
80167         * modules/closeout (Depends-on): Remove atexit.
80168
80169 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80170
80171         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80172         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80173
80174 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80175
80176         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80177         __EXTENSIONS__ if this causes compilation to fail.  Problem
80178         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80179         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80180
80181 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80182
80183         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80184         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80185         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80186         All uses changed.
80187
80188 2006-01-26  Simon Josefsson  <jas@extundo.com>
80189
80190         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80191         prototype is visible on mingw32.
80192
80193         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80194         for mingw32.
80195
80196         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80197         mingw32).
80198
80199 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80200
80201         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80202         attempt to open for write; this always fails, at least on POSIX
80203         hosts.  This reinstates the 2006-01-09 change, which was
80204         inadvertently removed.
80205
80206 2006-01-26  Bruno Haible  <bruno@clisp.org>
80207
80208         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80209         Reported by Paul Eggert.
80210
80211 2006-01-26  Bruno Haible  <bruno@clisp.org>
80212             Paul Eggert  <eggert@cs.ucla.edu>
80213
80214         * lib/stdbool_.h (_Bool)
80215         [(! (defined __cplusplus || defined __BEOS__)
80216           && !defined __GNUC__
80217           && !(defined __HP_cc || defined __xlc__
80218                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80219                || defined __sgi))]:
80220         #define to signed char in these cases too; this simplifies
80221         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80222         etc., separately) and makes it more conservative.
80223
80224 2006-01-25  Simon Josefsson  <jas@extundo.com>
80225
80226         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80227         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80228         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80229
80230 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80231
80232         * lib/argp-namefrob.h: Bugfix. Remove stray #
80233
80234 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80235
80236         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80237         so that we test the test.
80238         Check for yet another HP-UX cc bug involving *bool |= bool.
80239
80240 2006-01-25  Karl Berry  <karl@gnu.org>
80241
80242         * config/srclist.txt (vasnprintf.c): sync lost.
80243
80244 2006-01-25  Jim Meyering  <jim@meyering.net>
80245
80246         Sync from the stable (b5) branch of coreutils:
80247
80248         * lib/fts.c (fts_children): Don't let close() clobber errno from
80249         failed fchdir().
80250
80251         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80252         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80253         a dangling symlink.  That can also happen at least for ELOOP.
80254         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80255         FYI, this bug predates the inclusion of fts.c in coreutils.
80256
80257         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80258         in their own block, so pre-c99 compilers don't object.
80259
80260         Avoid the double-free (first in fts_read, second in fts_close) that
80261         would occur when an `active' directory is made inaccessible (e.g.,
80262         via chmod a-x) during a traversal.
80263         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80264         before returning.  Reproduce this failure by
80265         mkdir -p a/b; cd a; chmod a-x . b
80266         Reported by Stavros Passas.
80267
80268 2006-01-25  Jim Meyering  <jim@meyering.net>
80269
80270         * lib/fileblocks.c: Remove more useless parentheses.
80271         * lib/readutmp.h: Likewise.
80272
80273 2006-01-25  Bruno Haible  <bruno@clisp.org>
80274
80275         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80276         warnings.
80277         Reported by Paul Eggert.
80278
80279 2006-01-25  Bruno Haible  <bruno@clisp.org>
80280
80281         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80282         rid of a trap command. For Solaris sh.
80283         Reported by Mark D. Baushke <mdb@gnu.org>.
80284
80285 2006-01-24  Simon Josefsson  <jas@extundo.com>
80286
80287         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80288         Bruno.
80289
80290 2006-01-24  Karl Berry  <karl@gnu.org>
80291
80292         * config/srclist.txt (argp-namefrob.h): sync lost.
80293
80294 2006-01-24  Jim Meyering  <jim@meyering.net>
80295
80296         * modules/openat (Files): Add lib/intprops.h.
80297         From Mark D. Baushke.
80298
80299 2006-01-24  Jim Meyering  <jim@meyering.net>
80300
80301         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80302         Reported by Mark D. Baushke.
80303
80304 2006-01-24  Jim Meyering  <jim@meyering.net>
80305
80306         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80307
80308 2006-01-24  Bruno Haible  <bruno@clisp.org>
80309
80310         * modules/strnlen (Maintainer): Change from glibc to all.
80311
80312 2006-01-24  Bruno Haible  <bruno@clisp.org>
80313
80314         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80315         Patch by Paul Eggert.
80316
80317 2006-01-24  Bruno Haible  <bruno@clisp.org>
80318
80319         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80320         already has it.
80321         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80322         2005-11-26.
80323
80324         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80325         'signed char' to avoid problems with the built-in _Bool type.
80326         Reported by Paul Eggert on 2005-11-26.
80327
80328 2006-01-24  Bruno Haible  <bruno@clisp.org>
80329
80330         * gnulib-tool (func_import): Avoid constructing complicated sed
80331         expressions inside backquote.
80332         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80333
80334 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80335
80336         These changes imported from libc.
80337         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80338         test and two separate function calls.
80339         * lib/strndup.c (__strndup): Add libc_hidden_def.
80340
80341 2006-01-23  Simon Josefsson  <jas@extundo.com>
80342
80343         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80344         Remove the test_*_SOURCES variable: automake infers it by default.
80345         * modules/tls-tests: Likewise.
80346
80347 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80348
80349         Work around porting bugs reported by Dieter in
80350         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80351         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80352         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80353         Include "getopt.h" first, to check interface.
80354         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80355         !HAVE_DECL_GETENV.
80356         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80357         (__strndup): Revert to K&R-style function dfns, the glibc style.
80358         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80359         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80360         Include strnlen.h first, to get prototype properly.
80361         (strnlen): Renamed from __strnlen.
80362         Remove weak alias.
80363
80364 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80365
80366         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80367
80368 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80369
80370         * config/srclist.txt: Adjust to reflect glibc reorganization.
80371         This affects only comments.
80372
80373 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80374
80375          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80376          Reported by Bruce Korb <bkorb@gnu.org>.
80377
80378 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80379
80380         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80381         to pacify gcc -Wswitch-default.
80382
80383 2006-01-22  Bruno Haible  <bruno@clisp.org>
80384
80385         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80386         temporary buffer for sprintf, take into account the precision also
80387         for 'd', 'i', 'u', 'o', 'x', 'X'.
80388
80389 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80390
80391         * modules/argp-tests: New module
80392         * tests/test-argp.c: New file
80393         * tests/test-argp-2.sh: New file
80394
80395 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80396
80397         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80398         (__argp_base_name): Removed
80399         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80400         typo.
80401         (__argp_base_name): Provide macro definition or extern declaration
80402         depending on the configuration
80403
80404 2006-01-20  Simon Josefsson  <jas@extundo.com>
80405
80406         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80407
80408 2006-01-20  Simon Josefsson  <jas@extundo.com>
80409
80410         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80411
80412 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80413
80414         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80415         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80416         Suggested by Bruno Haible.
80417
80418 2006-01-20  Karl Berry  <karl@gnu.org>
80419
80420         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80421         until changes propagate, I guess.
80422
80423 2006-01-19  Simon Josefsson  <jas@extundo.com>
80424
80425         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
80426
80427 2006-01-19  Simon Josefsson  <jas@extundo.com>
80428
80429         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
80430
80431 2006-01-19  Simon Josefsson  <jas@extundo.com>
80432
80433         * gnulib-tool: Set check_PROGRAMS.
80434
80435         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80436         modules/des-tests, modules/gc-arcfour-tests,
80437         modules/gc-arctwo-tests, modules/gc-des-tests,
80438         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80439         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80440         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80441         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80442         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80443         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
80444         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
80445         test_*_SOURCES.
80446
80447 2006-01-18  Simon Josefsson  <jas@extundo.com>
80448
80449         * modules/socklen (Depends-on): Depend on sys_socket.
80450
80451 2006-01-18  Simon Josefsson  <jas@extundo.com>
80452
80453         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80454         modules/des-tests, modules/gc-arcfour-tests,
80455         modules/gc-arctwo-tests, modules/gc-des-tests,
80456         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80457         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80458         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80459         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80460         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80461         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80462         $(EXEEXT) to automake TESTS variable, for mingw32.
80463
80464 2006-01-17  Simon Josefsson  <jas@extundo.com>
80465
80466         * modules/socklen (Include): Need sys/socket.h.
80467
80468 2006-01-17  Bruno Haible  <bruno@clisp.org>
80469
80470         * modules/ssize_t (Include): Add <sys/types.h>.
80471
80472 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80473
80474         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80475         it's not portable and it doesn't work with cross-compiles.
80476         Problem reported by Bruno Haible.  Fix missing-$ typo in
80477         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80478         -zignore from being used with Sun's C compiler.
80479
80480 2006-01-12  Simon Josefsson  <jas@extundo.com>
80481
80482         * lib/base64.c: Fix warning, reported by Bruno Haible
80483         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80484
80485 2006-01-12  Bruno Haible  <bruno@clisp.org>
80486
80487         * modules/ldd: New file.
80488         * build-aux/ldd.sh.in: New file.
80489         * MODULES.html.sh (Support for building libraries and executables): Add
80490         ldd.
80491
80492 2006-01-12  Bruno Haible  <bruno@clisp.org>
80493
80494         * m4/ldd.m4: New file.
80495
80496 2006-01-12  Bruno Haible  <bruno@clisp.org>
80497
80498         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80499         endless loop while replacing $auxdir with build-aux.
80500
80501 2006-01-11  Simon Josefsson  <jas@extundo.com>
80502
80503         * lib/stdint_.h (SIZE_MAX): Add missing (.
80504
80505 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80506
80507         Sync from coreutils.
80508         * lib/md5.c: Fix commentary typos.
80509         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80510         * lib/md5.h (__attribute__): Remove; unused.
80511         * lib/sha1.c: Fix commentary to match md5 better.
80512         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80513         so that we don't need to worry about alignment.  All uses changed.
80514         This merges the 2005-10-28 md5 change into sha1.
80515
80516 2006-01-11  Jim Meyering  <jim@meyering.net>
80517
80518         Sync from coreutils.
80519         * lib/md5.c (OP): Fix spacing.
80520
80521 2006-01-11  Bruno Haible  <bruno@clisp.org>
80522
80523         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80524         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80525         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80526
80527 2006-01-11  Bruno Haible  <bruno@clisp.org>
80528
80529         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80530         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80531         the "early" section as well.
80532
80533 2006-01-11  Bruno Haible  <bruno@clisp.org>
80534
80535         Avoid "ar: no archive members specified" error on MacOS X.
80536         * gnulib-tool (func_modules_add_dummy): New function.
80537         (func_import, func_create_testdir): Invoke it.
80538
80539 2006-01-11  Bruno Haible  <bruno@clisp.org>
80540
80541         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80542         with $auxdir in AC_CONFIG_FILES statements.
80543
80544 2006-01-11  Bruno Haible  <bruno@clisp.org>
80545
80546         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80547         Initialize also noinst_HEADERS to empty.
80548
80549 2006-01-11  Bruno Haible  <bruno@clisp.org>
80550
80551         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80552         variables.
80553         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80554         autoreconf.
80555
80556 2006-01-11  Bruno Haible  <bruno@clisp.org>
80557
80558         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80559         overridable by the user.
80560         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80561
80562 2006-01-10  Simon Josefsson  <jas@extundo.com>
80563
80564         * modules/sys_socket: New file.
80565
80566 2006-01-10  Simon Josefsson  <jas@extundo.com>
80567
80568         * m4/sys_socket_h.m4: New file.
80569
80570 2006-01-10  Simon Josefsson  <jas@extundo.com>
80571
80572         * lib/socket_.h: New file.
80573
80574 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80575
80576         * modules/readutmp (Maintainer): Add myself.
80577
80578 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80579
80580         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80581         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80582         People who are still concerned with buggy memcmp implementations
80583         can invoke gl_FUNC_MEMCMP themselves.
80584
80585 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80586
80587         * lib/regex_internal.h (BITSET_WORD_BITS):
80588         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80589         preprocessor mishandles large unsigned values as if they were signed.
80590         Problem reported by Claudio Fontana in
80591         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80592
80593 2006-01-10  Jim Meyering  <jim@meyering.net>
80594
80595         Avoid the double-free (first in fts_read, second in fts_close) that
80596         would occur when an `active' directory is made inaccessible (e.g.,
80597         via chmod a-x) during a traversal.
80598         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80599         before returning.  Reproduce this failure by
80600         mkdir -p a/b; cd a; chmod a-x . b
80601         Reported by Stavros Passas.
80602
80603         Sync from coreutils.
80604         * lib/sha1.c: Tweak grammar in a comment.
80605
80606 2006-01-10  Jim Meyering  <jim@meyering.net>
80607
80608         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80609         Patch by Joerg Sonnenberger.
80610
80611 2006-01-10  Bruno Haible  <bruno@clisp.org>
80612
80613         * modules/readutmp: Depend on module free.
80614         * modules/strtok_r: Depend on module restrict.
80615
80616 2006-01-10  Bruno Haible  <bruno@clisp.org>
80617
80618         * modules/gettext (configure.ac): Add an invocation of
80619         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80620
80621 2006-01-10  Bruno Haible  <bruno@clisp.org>
80622
80623         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80624         Reported by Werner Lemberg <wl@gnu.org>.
80625
80626 2006-01-10  Bruno Haible  <bruno@clisp.org>
80627
80628         * lib/localcharset.c: Update from GNU gettext.
80629
80630 2006-01-10  Bruno Haible  <bruno@clisp.org>
80631
80632         * lib/argp.h (__const): Remove macro. Use const instead.
80633         * lib/argp-fmtstream.h (__const): Likewise.
80634         * lib/glob_.h (__const): Remove macro.
80635         * lib/glob-libc.h: Use const instead of __const.
80636
80637 2006-01-10  Bruno Haible  <bruno@clisp.org>
80638
80639         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80640         variable.
80641         Needed to avoid an automake error regarding the 'gettext' module.
80642
80643 2006-01-09  Simon Josefsson  <jas@extundo.com>
80644
80645         * modules/inet_ntop (Depends-on): Add restrict.
80646
80647 2006-01-09  Simon Josefsson  <jas@extundo.com>
80648
80649         * modules/gc-rijndael-tests (License): Put under LGPL.
80650
80651         * modules/gc-des-tests (License): Likewise.
80652
80653         * modules/gc-arcfour-tests (License): Likewise.
80654
80655         * modules/gc-arctwo-tests (License): Likewise.
80656
80657         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80658
80659         * modules/gc-hmac-sha1-tests (Files): Likewise.
80660
80661         * modules/gc-hmac-md5-tests (License): Likewise.
80662
80663         * modules/gc-sha1-tests (License): Likewise.
80664
80665         * modules/gc-md5-tests (License): Likewise.
80666
80667         * modules/gc-md4-tests (License): Likewise.
80668
80669         * modules/gc-md2-tests (License): Likewise.
80670
80671         * modules/gc-tests (License): Likewise.
80672
80673         * modules/des-tests (License): Likewise.
80674
80675         * modules/md4-tests (License): Likewise.
80676
80677         * modules/md2-tests (License): Likewise.
80678
80679 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80680
80681         Sync from coreutils:
80682
80683         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80684         * modules/lib-ignore: New file.
80685         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80686         chdir-safer.m4, lchmod.m4.
80687         * modules/openat: Add mkdirat.c, openat-priv.h.
80688
80689 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80690
80691         Sync from coreutils.
80692         * m4/lib-ignore.m4: New file.
80693         * m4/lchmod.m4: New file.
80694
80695 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80696
80697         Sync from coreutils.
80698         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80699         for write access: POSIX says that must fail.
80700         * lib/fts.c (diropen): Likewise.
80701         * lib/save-cwd.c (save_cwd): Likewise.
80702         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80703         well, for minor improvements on hosts that lack O_DIRECTORY.
80704         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80705         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80706         Fall back on chown if open failed with EACCES.
80707
80708         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80709         Report an error at compile-time if only a 1-second nominal clock
80710         resolution is found.
80711
80712         * lib/lchmod.h: New file.
80713         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80714         (make_dir_parents): Use lchown rather than chown, and
80715         lchmod rather than chmod.
80716
80717         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80718         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80719         "proc" reported by n0dalus.
80720
80721         * lib/mountlist.c: Include <limits.h>.
80722         (dev_from_mount_options)
80723         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80724         New function.  It no longer assumes "dev=" has the System V meaning
80725         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80726         (read_file_system_list)
80727         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80728         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80729         dev= in that case.
80730
80731         * lib/posixtm.h (PDS_PRE_2000): New macro.
80732         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80733         allow_century.  All usages changed.  Reject dates outside the range
80734         1969-1999 if PDS_PRE_2000 is used.
80735
80736 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80737
80738         Sync from coreutils.
80739         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80740         (Time of day items): Mention the possibility of leap seconds.
80741         Problem reported by Dr. David Alan Gilbert.
80742
80743 2006-01-09  Jim Meyering  <jim@meyering.net>
80744
80745         Sync from coreutils.
80746
80747         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80748
80749         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80750
80751         * lib/modechange.c (mode_compile): Reject an invalid mode string
80752         that starts with an octal digit.  From Andreas Gruenbacher.
80753
80754         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80755         and dup to open_safer and dup_safer, respectively.
80756         (openat_permissive): Fix typo in comment.
80757
80758         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80759         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80760         (_): Remove; no longer needed.
80761         (openat): Renamed from rpl_openat; no need for rpl_openat
80762         since openat.h renames openat for us.
80763         Replace most of the body with a call to openat_permissive,
80764         to avoid duplicate code.
80765         Port to (probably hypothetical) environments were mode_t is
80766         wider than int.
80767         (openat_permissive): Require mode arg, so that we can check
80768         types better.  Put it just after flags.  Change cwd failure
80769         indicator from pointer-to-bool to pointer-to-errno-value.
80770         All callers changed.
80771         Invoke openat_save_fail and/or openat_restore_fail if
80772         cwd_errno is null, so that openat can call us.
80773         (openat_permissive, fdopendir, fstatat, unlinkat):
80774         Simplify errno handling to avoid some duplicate code,
80775         as it's OK to set errno on success.
80776         * lib/openat.h: Revamp code so that function macros depend on
80777         __OPENAT_PREFIX only, not also on AT_FDCWD.
80778         (openat_ro): Remove.  Caller changed to use openat_permissive.
80779         (openat_permissive): Now a macro, if not a function.
80780         (openat_restore_fail, openat_save_fail): Now always functions,
80781         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80782
80783         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80784         and openat.c.
80785         * lib/mkdirat.c: Include openat-priv.h.
80786         Remove definitions of macros defined therein.
80787         * lib/openat.c: Likewise.
80788
80789         * lib/mkdirat.c (mkdirat): New file and function.
80790         * lib/openat.h (mkdirat): Declare.
80791
80792         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80793
80794         * lib/openat.h (openat_permissive): Declare.
80795         (openat_ro): Define.
80796
80797         * lib/openat.c (EXPECTED_ERRNO): New macro.
80798         (openat_permissive): New function -- used in remove.c rewrite.
80799         (all functions): Set errno just before returning, only if there
80800         was an actual failure.
80801         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80802
80803         Emulate openat-family functions using Linux's procfs, if possible.
80804         Idea and some code based on Ulrich Drepper's glibc changes.
80805
80806         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80807         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80808         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80809         before falling back on save_cwd and restore_cwd.
80810         (fdopendir, fstatat, unlinkat): Likewise.
80811
80812         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80813         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80814
80815         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80816         as second argument to va_arg.  Otherwise, some versions of gcc
80817         warn that `if this code is reached, the program will abort'.
80818
80819 2006-01-09  Jim Meyering  <jim@meyering.net>
80820
80821         Sync from coreutils.
80822         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80823         Require openat-priv.h.
80824
80825 2006-01-09  Bruno Haible  <bruno@clisp.org>
80826
80827         * modules/strnlen (Include): Use strnlen.h.
80828
80829 2006-01-09  Bruno Haible  <bruno@clisp.org>
80830
80831         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80832
80833 2006-01-09  Bruno Haible  <bruno@clisp.org>
80834
80835         * lib/sysexit_.h (EX_OK): New macro.
80836         Suggested by Martin Lambers <marlam@marlam.de>.
80837
80838 2006-01-09  Bruno Haible  <bruno@clisp.org>
80839
80840         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80841         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80842
80843 2006-01-09  Bruno Haible  <bruno@clisp.org>
80844
80845         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80846         numbers.
80847
80848 2006-01-09  Bruno Haible  <bruno@clisp.org>
80849
80850         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80851         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80852         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80853         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80854
80855 2006-01-09  Bruno Haible  <bruno@clisp.org>
80856
80857         * build-aux/javacomp.sh.in: New file, moved from lib/.
80858         * modules/javacomp-script (Files): Update.
80859         (configure.ac): Add AC_CONFIG_FILES invocation.
80860         (EXTRA_DIST): Remove variable.
80861
80862         * build-aux/javaexec.sh.in: New file, moved from lib/.
80863         * modules/javaexec (Files): Update.
80864         (configure.ac): Add AC_CONFIG_FILES invocation.
80865         (EXTRA_DIST): Remove javaexec.sh.in.
80866
80867         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80868         * modules/csharpcomp-script (Files): Update.
80869         (configure.ac): Add AC_CONFIG_FILES invocation.
80870         (EXTRA_DIST): Remove variable.
80871
80872         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80873         * modules/csharpexec (Files): Update.
80874         (configure.ac): Add AC_CONFIG_FILES invocation.
80875         (EXTRA_DIST): Remove csharpexec.sh.in.
80876
80877 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80878
80879         Sync from coreutils.
80880
80881         Add POSIX ACL support
80882         * lib/acl.h (copy_acl, set_acl): Add declarations.
80883         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80884         systems other than Linux.
80885         (chmod_or_fchmod): New function: use fchmod when possible,
80886         and chmod otherwise.
80887         (file_has_acl): Add a POSIX ACL implementation, with a
80888         Linux-specific subcase.
80889         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80890         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80891         acls are unsupported.
80892         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80893         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80894         are unsupported.
80895
80896 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80897
80898         Sync from coreutils.
80899         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80900
80901 2006-01-07  Bruno Haible  <bruno@clisp.org>
80902
80903         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80904         gl_EARLY.
80905
80906 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80907
80908         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80909         Problem reported for Mingw by Mark Junker.
80910
80911 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80912
80913         * README: Gnulib normally doesn't generate a tarball.
80914
80915 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80916
80917         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80918         long int, not int, for nanosecond counts, so that people who are
80919         used to POSIX struct timespec won't be surprised.  Reported by Jim
80920         Meyering.
80921
80922 2005-12-28  Bruno Haible  <bruno@clisp.org>
80923
80924         * build-aux/config.rpath: Update from GNU gettext.
80925
80926 2005-12-16  Jim Meyering  <jim@meyering.net>
80927
80928         * modules/fprintftime: New module.
80929         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80930
80931 2005-12-16  Jim Meyering  <jim@meyering.net>
80932
80933         * m4/fprintftime.m4: New file.
80934
80935 2005-12-16  Jim Meyering  <jim@meyering.net>
80936
80937         * lib/fprintftime.c, lib/fprintftime.h: New files.
80938
80939 2005-12-15  Simon Josefsson  <jas@extundo.com>
80940
80941         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80942         new m4/socklen.m4.
80943
80944 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80945
80946         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80947         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80948
80949 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80950
80951         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80952         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80953         struct uparams is valid. Fall back to the default values if it is
80954         not.
80955
80956 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80957
80958         * modules/argp (Files): Add argp-pin.c
80959         (Depends-on): dirname
80960         (lib_SOURCES): Add argp-pin.c
80961
80962 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80963
80964         * m4/argp.m4:  Check if program_invocation_name and
80965         program_invocation_short_name are declared and define appropriate
80966         macros if they are not.
80967
80968 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80969
80970         * lib/argp-help.c (__argp_base_name): New function
80971         (__argp_short_program_name): Rewrite using __argp_base_name
80972         * lib/argp-namefrob.h: Define program_invocation_name and
80973         program_invocation_short_name if requested
80974         (__argp_base_name): Add prototype
80975         * lib/argp-parse.c (argp_def): Use gettext wrappers
80976         (argp_default_parser): Use __argp_base_name
80977         * lib/argp-pin.c: New file. Defines program_invocation_name and
80978         program_invocation_short_name on systems that lack them.
80979
80980 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80981
80982         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80983         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80984         porting problem reported by Georg Schwarz in
80985         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80986
80987 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80990         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80991         porting problem reported by Georg Schwarz in
80992         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80993
80994 2005-12-05  Bruno Haible  <bruno@clisp.org>
80995
80996         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80997         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80998         Reported by Mark Junker <mjscod@gmx.de>.
80999
81000 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
81001
81002         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
81003         Use implementation from Albert Chin, with some
81004         comments/corrections by Stepan Kasal and myself.
81005
81006 2005-12-02  Bruno Haible  <bruno@clisp.org>
81007
81008         * gnulib-tool (func_import): Accept GPLed build tool modules when
81009         --lgpl is given.
81010         * modules/csharpcomp-script: New file.
81011         * modules/csharpcomp: Depend on it.
81012         * modules/javacomp-script: New file.
81013         * modules/javacomp: Depend on it.
81014         Suggested by Simon Josefsson.
81015
81016 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
81017
81018         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
81019         statement, to work around an HP-UX 10.20 compiler bug reported by
81020         Peter O'Gorman.
81021
81022 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81023
81024         * modules/savedir (Depends-on): Add openat.
81025
81026 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81027
81028         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
81029         (uintmax_t) [defined uintmax_t]: Do not declare.
81030         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
81031         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
81032         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
81033         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
81034         sake of portability to weird hosts that C allows (though we don't
81035         know of any practical examples).
81036
81037         * lib/savedir.h (fdsavedir): New decl.
81038         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
81039         contains most of the former guts of savedir.
81040         (savedir): Use savedirstream.
81041         Include "openat.h".
81042
81043 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81044
81045         * modules/obstack (Files): Add m4/ulonglong.m4.
81046         Problem reported by Davide Angelocola.
81047
81048 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81049
81050         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
81051         coreutils no longer futzes with rounding modes.
81052
81053 2005-11-14  Jim Meyering  <jim@meyering.net>
81054
81055         * lib/mkstemp-safer.c: Include <config.h>, required for possible
81056         replacement of mkstemp.
81057
81058 2005-11-10  Simon Josefsson  <jas@extundo.com>
81059
81060         * lib/readline.c: Remove EOL.
81061
81062 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81063
81064         * modules/gethrxtime (Depends-on): Add gettime.
81065
81066 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81067
81068         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
81069         or gettimeofday; no longer needed.
81070
81071 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81072
81073         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
81074         time business.
81075         (gethrxtime) [! (HAVE_NANOUPTIME
81076         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
81077         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
81078         our own approximation.
81079
81080 2005-11-08  Eric Blake  <ebb9@byu.net>
81081
81082         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81083
81084 2005-11-08  Eric Blake  <ebb9@byu.net>
81085
81086         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81087
81088 2005-11-04  Bruno Haible  <bruno@clisp.org>
81089
81090         * gnulib-tool: Implement --update mode.
81091
81092 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81093
81094         Fix porting problem reported by Theodoros V. Kalamatianos.
81095         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
81096         Don't assume that futimes failing means we must fail.
81097
81098 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81099
81100         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
81101         variables to suggest the intended function of the PATH_MAX check.
81102
81103 2005-10-30  Kean Johnston  <jkj@sco.com>
81104
81105         Trivial changes to support SCO systems.
81106         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
81107         as PATH_MAX.
81108         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
81109         where __ptr is null when no I/O is pending.
81110
81111 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81112
81113         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
81114         leave errno alone.  Problem reported by Dmitry V. Levin.
81115
81116 2005-10-28  Simon Josefsson  <jas@extundo.com>
81117
81118         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
81119         Test more.
81120
81121         * tests/test-gc-md2.c, tests/test-md2.c: New files.
81122
81123         * modules/md2, modules/md2-tests: New files.
81124
81125 2005-10-28  Simon Josefsson  <jas@extundo.com>
81126
81127         * m4/inet_ntop.m4: More tests.
81128
81129         * m4/gc-md2.m4, md2.m4: New file.
81130
81131 2005-10-28  Simon Josefsson  <jas@extundo.com>
81132
81133         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81134         "restrict" keywords, as per POSIX.  Protect the function
81135         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81136         Don't use K&R prototypes.  Check the sprintf return values.
81137         Re-define EAFNOSUPPORT if not present.  Indent.
81138
81139         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81140         suggested by Bruno Haible <bruno@clisp.org>.
81141
81142         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81143
81144         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81145
81146         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81147         libgcrypt).
81148
81149         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81150
81151         * lib/md2.h, lib/md2.c: New files.
81152
81153 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81154
81155         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81156         errno alone.  Problem reported by Frederic Jolliton.
81157
81158 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81159
81160         * modules/verify (License): Change from GPL to LGPL.  This is a
81161         tiny module and there are apparently near-equivalents that are
81162         under the BSD license.
81163
81164 2005-10-24  Simon Josefsson  <jas@extundo.com>
81165
81166         * modules/sha1: Relicense to LGPL.
81167
81168 2005-10-24  Simon Josefsson  <jas@extundo.com>
81169
81170         * lib/md4.h: Shrink buffer size, now that we changed the type.
81171
81172 2005-10-23  Simon Josefsson  <jas@extundo.com>
81173
81174         * gnulib-tool (func_import): Fix --tests-base.
81175
81176 2005-10-22  Simon Josefsson  <jas@extundo.com>
81177
81178         * modules/arcfour (Depends-on): Need stdint.
81179
81180 2005-10-22  Simon Josefsson  <jas@extundo.com>
81181
81182         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81183         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81184
81185 2005-10-22  Simon Josefsson  <jas@extundo.com>
81186
81187         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81188         suggested by Bruno Haible <bruno@clisp.org>.
81189
81190 2005-10-22  Simon Josefsson  <jas@extundo.com>
81191
81192         * lib/crc.h: Include stddef.h, for size_t.
81193
81194 2005-10-22  Simon Josefsson  <jas@extundo.com>
81195
81196         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81197         arcfour_context struct (simplify test vector testing in GNU
81198         Shishi).
81199
81200 2005-10-21  Simon Josefsson  <jas@extundo.com>
81201
81202         * modules/des, modules/des-tests: New files.
81203
81204         * modules/gc-des, modules/gc-des-tests: New files.
81205
81206         * tests/test-des.c, tests/test-gc-des.c: New file.
81207
81208 2005-10-21  Simon Josefsson  <jas@extundo.com>
81209
81210         * modules/arctwo, modules/arctwo-tests: New files.
81211
81212         * tests/test-arctwo.c: New file.
81213
81214         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81215
81216         * tests/test-gc-arctwo.c: New file.
81217
81218 2005-10-21  Simon Josefsson  <jas@extundo.com>
81219
81220         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81221         Bruno Haible <bruno@clisp.org>.
81222
81223         * m4/gc-des.m4: New file.
81224
81225 2005-10-21  Simon Josefsson  <jas@extundo.com>
81226
81227         * m4/arctwo.m4: New file.
81228
81229         * m4/gc-arctwo.m4: New file.
81230
81231 2005-10-21  Simon Josefsson  <jas@extundo.com>
81232
81233         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81234         block.
81235
81236 2005-10-21  Simon Josefsson  <jas@extundo.com>
81237
81238         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81239         <bruno@clisp.org>.
81240
81241         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81242
81243         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81244         Bruno Haible <bruno@clisp.org>.
81245
81246         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81247         <bruno@clisp.org>.
81248
81249 2005-10-21  Simon Josefsson  <jas@extundo.com>
81250
81251         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81252
81253 2005-10-21  Simon Josefsson  <jas@extundo.com>
81254
81255         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81256
81257 2005-10-21  Simon Josefsson  <jas@extundo.com>
81258
81259         * lib/des.h, lib/des.c: New files.
81260
81261         * lib/gc-gnulib.c: Support DES.c
81262
81263 2005-10-21  Simon Josefsson  <jas@extundo.com>
81264
81265         * lib/arctwo.h, lib/arctwo.c: New files.
81266
81267         * lib/gc-gnulib.c: Support ARCTWO.
81268
81269 2005-10-21  Simon Josefsson  <jas@extundo.com>
81270
81271         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81272         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81273
81274 2005-10-21  Simon Josefsson  <jas@extundo.com>
81275
81276         * gnulib-tool (func_import, func_create_testdir): Define automake
81277         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81278         Makefile.am snippet),
81279         suggested by Bruno Haible <bruno@clisp.org>.
81280
81281         * modules/gc (Makefile.am): Use it.
81282
81283 2005-10-21  Bruno Haible  <bruno@clisp.org>
81284
81285         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81286         patch.
81287
81288 2005-10-19  Simon Josefsson  <jas@extundo.com>
81289
81290         * tests/test-gc-rijndael.c: New file.
81291
81292         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81293
81294 2005-10-19  Simon Josefsson  <jas@extundo.com>
81295
81296         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81297         interface too.
81298
81299 2005-10-19  Simon Josefsson  <jas@extundo.com>
81300
81301         * tests/test-gc-arcfour.c: New file.
81302
81303         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81304
81305 2005-10-19  Simon Josefsson  <jas@extundo.com>
81306
81307         * modules/gc-md4, modules/gc-md4-tests: New file.
81308
81309         * tests/test-gc-md4.c: New file.
81310
81311 2005-10-19  Simon Josefsson  <jas@extundo.com>
81312
81313         * m4/gc-md4.m4: New file.
81314
81315 2005-10-19  Simon Josefsson  <jas@extundo.com>
81316
81317         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81318         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81319         <kasal@ucw.cz>.
81320
81321 2005-10-19  Simon Josefsson  <jas@extundo.com>
81322
81323         * m4/gc-arcfour.m4: New file.
81324
81325         * m4/gc-rijndael.m4: New file.
81326
81327 2005-10-19  Simon Josefsson  <jas@extundo.com>
81328
81329         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81330
81331 2005-10-19  Simon Josefsson  <jas@extundo.com>
81332
81333         * lib/gc-gnulib.c: Support ARCFOUR.
81334
81335 2005-10-19  Simon Josefsson  <jas@extundo.com>
81336
81337         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81338         support.
81339
81340         * lib/gc.h: Add ECB enum type.
81341
81342         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81343
81344 2005-10-18  Simon Josefsson  <jas@extundo.com>
81345
81346         * tests/test-md5.c: New file.
81347
81348         * modules/md5-tests: New file.
81349
81350 2005-10-18  Simon Josefsson  <jas@extundo.com>
81351
81352         * tests/test-md4.c: New file.
81353
81354         * modules/md4, modules/md4-tests: New files.
81355
81356 2005-10-18  Simon Josefsson  <jas@extundo.com>
81357
81358         * m4/md4.m4: New file.
81359
81360 2005-10-18  Simon Josefsson  <jas@extundo.com>
81361
81362         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81363
81364 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81365
81366         * gnulib-tool (func_create_testdir): Omit the second check whether
81367         BUILT_SOURCES in nonempty.
81368
81369 2005-10-17  Simon Josefsson  <jas@extundo.com>
81370
81371         * tests/test-rijndael.c: New file.
81372
81373 2005-10-17  Simon Josefsson  <jas@extundo.com>
81374
81375         * modules/sha1: Depend on stdint instead of md5.
81376
81377         * modules/md5: Depend on stdint, remove uint32_t.
81378
81379 2005-10-17  Simon Josefsson  <jas@extundo.com>
81380
81381         * modules/gc-sha1-tests: New file.
81382
81383         * tests/test-gc-sha1.c: New file.
81384
81385 2005-10-17  Simon Josefsson  <jas@extundo.com>
81386
81387         * m4/md5.m4: Remove call to uint32_t.m4.
81388
81389 2005-10-17  Simon Josefsson  <jas@extundo.com>
81390
81391         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81392
81393         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81394         md5.h.
81395
81396         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81397
81398         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81399
81400 2005-10-17  Simon Josefsson  <jas@extundo.com>
81401
81402         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81403
81404 2005-10-17  Simon Josefsson  <jas@extundo.com>
81405
81406         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81407
81408 2005-10-17  Simon Josefsson  <jas@extundo.com>
81409
81410         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81411
81412         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81413
81414 2005-10-17  Bruno Haible  <bruno@clisp.org>
81415
81416         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81417         that it can also be used in a test.
81418
81419 2005-10-16  Bruno Haible  <bruno@clisp.org>
81420
81421         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81422         TESTS_ENVIRONMENT, so that individual tests can augment it.
81423
81424         * gnulib-tool (func_create_testdir): Use an intermediate target for
81425         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
81426         macros, like $(ALLOCA_H), which cannot be passed through the command
81427         line.
81428
81429 2005-10-15  Simon Josefsson  <jas@extundo.com>
81430
81431         * modules/rijndael-tests: New file.
81432
81433         * modules/rijndael: New file.
81434
81435 2005-10-15  Simon Josefsson  <jas@extundo.com>
81436
81437         * m4/rijndael.m4: New file.
81438
81439 2005-10-15  Simon Josefsson  <jas@extundo.com>
81440
81441         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
81442
81443         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
81444
81445 2005-10-14  Simon Josefsson  <jas@extundo.com>
81446
81447         * tests/test-arcfour.c: New file.
81448
81449         * modules/arcfour, modules/arcfour-tests: New files.
81450
81451 2005-10-14  Simon Josefsson  <jas@extundo.com>
81452
81453         * m4/arcfour.m4: New file.
81454
81455 2005-10-14  Simon Josefsson  <jas@extundo.com>
81456
81457         * lib/arcfour.h, lib/arcfour.c: New files.
81458
81459 2005-10-14  Roland McGrath  <roland@redhat.com>
81460
81461         Import from libc.  [BZ #1331]
81462         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81463         macro argument.
81464         Reported by Matej Vela <vela@debian.org>.
81465
81466 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81467
81468         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81469         include <wchar.h>; no longer needed.
81470
81471 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81472
81473         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81474
81475 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81476         and  Ulrich Drepper  <drepper@redhat.com>
81477
81478         Import from libc.
81479         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81480         instead of inline stream orientation test and two separate
81481         function calls.  Pay no attention to USE_IN_LIBIO.
81482
81483 2005-10-13  Simon Josefsson  <jas@extundo.com>
81484
81485         * modules/gc-hmac-md5-tests: New file.
81486
81487         * tests/test-gc-hmac-sha1.c: New file.
81488
81489         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81490
81491         * modules/gc-hmac-md5-tests: New file.
81492
81493         * tests/test-gc-md5.c: New file.
81494
81495         * modules/gc-md5-tests: New file.
81496
81497 2005-10-13  Simon Josefsson  <jas@extundo.com>
81498
81499         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81500         Move memory allocation outside of loop.
81501
81502 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81503
81504         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81505         intermediate directory is in a read-only file system.  Problem
81506         reported by Eric Blake.
81507
81508 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81509
81510         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81511
81512 2005-10-12  Simon Josefsson  <jas@extundo.com>
81513
81514         * tests/test-hmac-sha1.c: New file.
81515
81516         * modules/hmac-sha1-tests: New file.
81517
81518         * modules/hmac-sha1: New file.
81519
81520 2005-10-12  Simon Josefsson  <jas@extundo.com>
81521
81522         * modules/gc-sha1: New file.
81523
81524 2005-10-12  Simon Josefsson  <jas@extundo.com>
81525
81526         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81527
81528         * tests/test-gc-pbkdf2-sha1.c: New file.
81529
81530 2005-10-12  Simon Josefsson  <jas@extundo.com>
81531
81532         * modules/gc-md5, modules/gc-hmac-md5: New files.
81533
81534         * modules/gc (Files): Remove md5, memxor and hmac files.
81535
81536 2005-10-12  Simon Josefsson  <jas@extundo.com>
81537
81538         * m4/gc-pbkdf2-sha1.m4: New file.
81539
81540         * m4/gc-hmac-sha1.m4: New file.
81541
81542         * m4/gc-sha1: New file.
81543
81544         * m4/hmac-sha1.m4: New file.
81545
81546 2005-10-12  Simon Josefsson  <jas@extundo.com>
81547
81548         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81549
81550         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81551
81552 2005-10-12  Simon Josefsson  <jas@extundo.com>
81553
81554         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81555         suggested by Bruno Haible <bruno@clisp.org>.
81556
81557 2005-10-12  Simon Josefsson  <jas@extundo.com>
81558
81559         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81560
81561 2005-10-12  Simon Josefsson  <jas@extundo.com>
81562
81563         * lib/gc-pbkdf2-sha1.c: New file.
81564
81565         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81566
81567 2005-10-12  Simon Josefsson  <jas@extundo.com>
81568
81569         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81570
81571         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81572
81573 2005-10-12  Simon Josefsson  <jas@extundo.com>
81574
81575         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81576         GC_USE_HMAC_MD5, respectively.
81577
81578         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81579         (gc_md5): Fix typo.
81580
81581         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81582
81583         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81584
81585         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81586
81587 2005-10-12  Bruno Haible  <bruno@clisp.org>
81588
81589         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81590         Reported by Stepan Kasal <kasal@ucw.cz>.
81591
81592 2005-10-11  Simon Josefsson  <jas@extundo.com>
81593
81594         * tests/test-crc.c: New file.
81595
81596         * modules/crc, modules/crc-tests: New files.
81597
81598 2005-10-11  Simon Josefsson  <jas@extundo.com>
81599
81600         * m4/crc.m4: New file.
81601
81602 2005-10-11  Simon Josefsson  <jas@extundo.com>
81603
81604         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81605
81606         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81607
81608         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81609
81610 2005-10-11  Simon Josefsson  <jas@extundo.com>
81611
81612         * lib/crc.h, lib/crc.c: New files.
81613
81614         * lib/gc.h (gc_hash_buffer): Add doc.
81615
81616 2005-10-11  Bruno Haible  <bruno@clisp.org>
81617
81618         * modules/c-strcasestr: New file.
81619         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81620
81621 2005-10-11  Bruno Haible  <bruno@clisp.org>
81622
81623         * modules/c-strcase: New file.
81624         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81625
81626 2005-10-11  Bruno Haible  <bruno@clisp.org>
81627
81628         * lib/strcasecmp.c: Include limits.h.
81629         (strcasecmp): Avoid integer overflow on exotic platforms.
81630         * lib/strncasecmp.c: Include limits.h.
81631         (strncasecmp): Avoid integer overflow on exotic platforms.
81632         Reported by Paul Eggert.
81633
81634 2005-10-11  Bruno Haible  <bruno@clisp.org>
81635
81636         * lib/c-strcasestr.h: New file, from GNU gettext.
81637         * lib/c-strcasestr.c: New file, from GNU gettext.
81638
81639 2005-10-11  Bruno Haible  <bruno@clisp.org>
81640
81641         * lib/c-strcase.h: New file, from GNU gettext.
81642         * lib/c-strcasecmp.c: New file, from GNU gettext.
81643         * lib/c-strncasecmp.c: New file, from GNU gettext.
81644
81645 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81646
81647         * modules/mempcpy (License): GPL -> LGPL.
81648         * modules/strchrnul (License): Likewise.
81649         * modules/sysexits (License): Likewise.
81650
81651 2005-10-08  Simon Josefsson  <jas@extundo.com>
81652
81653         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81654
81655 2005-10-07  Simon Josefsson  <jas@extundo.com>
81656
81657         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81658
81659 2005-10-06  Simon Josefsson  <jas@extundo.com>
81660
81661         * tests/test-hmac-md5.c: New file.
81662
81663         * modules/hmac-md5-tests: New file.
81664
81665         * modules/hmac-md5: New file.
81666
81667 2005-10-06  Simon Josefsson  <jas@extundo.com>
81668
81669         * m4/hmac-md5.m4: New file.
81670
81671         * m4/memxor.m4: Require gl_C_RESTRICT.
81672
81673 2005-10-06  Simon Josefsson  <jas@extundo.com>
81674
81675         * lib/memxor.c (memxor): Avoid casts and warnings.
81676
81677 2005-10-06  Simon Josefsson  <jas@extundo.com>
81678
81679         * lib/hmac-md5.c: New file.
81680
81681         * lib/hmac.h: New file.
81682
81683 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81684
81685         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81686         promotes to int, not unsigned int, to catch the AIX 5.3
81687         compiler bug.
81688
81689 2005-10-05  Simon Josefsson  <jas@extundo.com>
81690
81691         * modules/memxor: New file.
81692
81693         * modules/iconv (Files): Move config.rpath to havelib, it is used
81694         there.
81695
81696         * modules/havelib (Files): Add config.rpath.
81697
81698 2005-10-05  Simon Josefsson  <jas@extundo.com>
81699
81700         * m4/memxor.m4: New file.
81701
81702 2005-10-05  Simon Josefsson  <jas@extundo.com>
81703
81704         * lib/memxor.c (memxor): Fix compiler error.
81705
81706         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81707         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81708
81709         * lib/memxor.h, lib/memxor.c: New files.
81710
81711         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81712         we assume all systems have it, suggested by Jim Meyering
81713         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81714         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81715         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81716         same reasons.
81717
81718 2005-10-05  Simon Josefsson  <jas@extundo.com>
81719
81720         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81721
81722 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81723
81724         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81725         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81726         needed, since the source code now assumes these .h files.
81727
81728 2005-10-05  Derek Price  <derek@ximbiot.com>
81729
81730         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81731
81732 2005-10-05  Bruno Haible  <bruno@clisp.org>
81733
81734         * modules/stdint (License): Change to LGPL.
81735
81736 2005-10-04  Simon Josefsson  <jas@extundo.com>
81737
81738         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81739         D. Baushke" <mdb@gnu.org>.
81740
81741 2005-10-04  Bruno Haible  <bruno@clisp.org>
81742
81743         * lib/verify.h (verify_true): Provide alternative definition for C++.
81744
81745 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81746
81747         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81748         (SSIZE_MAX): New macro, if not already defined.
81749         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81750         than 2 GiB.
81751
81752 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81753
81754         Sync from coreutils.
81755         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81756         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81757         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81758         ULLONG_MAX doesn't work with 2.7.2.1.
81759
81760 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81761
81762         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81763         From Ben Pfaff.
81764
81765         * modules/exclude (Depends-on): Depend on verify.
81766         * modules/strtoimax (Depends-on): Likewise.
81767         * modules/utimecmp (Depends-on): Likewise.
81768
81769 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81770
81771         * lib/exclude.c: Include verify.h.
81772         (verify): Remove.  All callers changed to use verify.h's version.
81773         * lib/strtoimax.c: Likewise.
81774         * lib/utimecmp.c: Likewis.e
81775
81776         Sync from coreutils.
81777         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81778         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81779         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81780         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81781         bother returning ENOSYS if settimeofday or stime fails; just let
81782         them return whatever errno they want to return.
81783         * lib/utimens.c: Include unistd.h, for dup2.
81784         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81785         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81786
81787 2005-10-02  Jim Meyering  <jim@meyering.net>
81788
81789         Sync from coreutils.
81790         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81791         from glibc-2.2.5 that fails for read-only files.
81792
81793 2005-10-02  Jim Meyering  <jim@meyering.net>
81794
81795         Sync from coreutils.
81796         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81797         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81798         `#if HAVE_CONFIG_H'.
81799         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81800         Remove AT_FDCWD test.
81801         Do not consume the fd unless successful.
81802         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81803         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81804         block, so that we don't even try to compile it if settimeofday is
81805         available.  This works around a compilation failure on OSF1 V5.1,
81806         due to stime requiring a `long int*' while tv_sec is `int'.
81807
81808 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81809
81810         Sync from coreutils.
81811         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81812         against `yes', rather than just testing for nonempty.
81813
81814 2005-10-01  Simon Josefsson  <jas@extundo.com>
81815
81816         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81817         and Darwin.
81818
81819         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81820         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81821         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81822         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81823         Check if struct addrinfo is declared.
81824
81825 2005-10-01  Simon Josefsson  <jas@extundo.com>
81826
81827         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81828         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81829         AI_* and EAI_* definitions.  Protect function declarations.
81830
81831 2005-10-01  Jim Meyering  <jim@meyering.net>
81832
81833         Sync from coreutils.
81834
81835         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81836         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81837         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81838         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81839         in the inet and nsl libraries.  Required on Solaris 5.7.
81840
81841 2005-10-01  Jim Meyering  <jim@meyering.net>
81842
81843         Sync from coreutils.
81844         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81845         in the inet and nsl libraries.  Required on Solaris 5.7.
81846
81847 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
81848
81849         * lib/getdelim.c (getdelim): Remove unused variables.
81850
81851 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81852
81853         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81854         so that the code works even with ancient cpp.  Portability problem
81855         with GCC 2.7.2.1 reported by Thomas M.Ott.
81856
81857 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         * modules/regex (Depends-on): Add strcase.
81860
81861         * modules/gethostname (Licence): Change from GPL to LGPL, since
81862         gethostname.c is a trivial implementation of a standard library
81863         function.
81864         * modules/poll (License): Change from GPL to LGPL, since it's
81865         derived from LGPL code.
81866
81867 2005-09-27  Jim Meyering  <jim@meyering.net>
81868
81869         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81870         HAVE_CONFIG_H.
81871
81872         * lib/intprops.h (signed_type_or_expr__): Define.
81873         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81874         for unsigned types.
81875
81876 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81877
81878         * lib/verify.h (verify_expr): Remove, replacing with:
81879         (verify_true): New macro that returns true instead of void.
81880         (verify_type__): Remove.
81881         (verify): Use verify_true rather than verify_type__.
81882
81883 2005-09-26  Bruno Haible  <bruno@clisp.org>
81884
81885         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81886         is necessary.
81887         (lib_SOURCES): Remove mbchar.c.
81888         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81889         (Files): Add m4/mbrtowc.m4.
81890         * modules/mbiter: Likewise.
81891         * modules/mbuiter: Likewise.
81892
81893 2005-09-26  Bruno Haible  <bruno@clisp.org>
81894
81895         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81896         compile mbchar.c if they are not both present.
81897         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81898         * m4/mbiter.m4 (gl_MBITER): Likewise.
81899         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81900         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81901         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81902
81903 2005-09-25  Jim Meyering  <jim@meyering.net>
81904
81905         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81906         also uses socklen_t.
81907
81908 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81909
81910         * lib/utimens.c (ENOSYS): Define if not already defined.
81911         (futimens): Support having a null PATH if the file descriptor
81912         is nonnegative.
81913
81914         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81915         Remove.
81916         (__attribute): Define to empty unless GCC 3.1 or later.
81917         This works around a core dump on OpenBSD 3.4, which has GCC
81918         2.95.3, which dumps core when given __attribute__(()).  It also
81919         simplifies other tests, since we really don't want to bother with
81920         worrying about which ancient version of GCC supported what.
81921         Original problem reported by Yoann Vandoorselaere, with part of
81922         the fix suggested by Derek Price.
81923
81924 2005-09-24  Jim Meyering  <jim@meyering.net>
81925
81926         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81927         so we can once again use a positive bitfield width of 1 -- now we
81928         don't have to explain why we were using a bitfield width of 2.
81929
81930 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81931
81932         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81933         and similarly for the other external symbols.  Problem reported
81934         by James Gallager.
81935
81936         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81937         bug reported by Jim Meyering.
81938
81939         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81940         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81941         not needed, since socklen is a prerequisite module.
81942
81943 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81944
81945         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81946         Problem reported by Eric Blake.
81947         (getaddrinfo): Initialize se so that it's not garbage.
81948         Redo internal storage allocation so that it doesn't make unportable
81949         assumptions about alignment.
81950         Fix a memory leak.
81951
81952         * lib/utimens.c (futimens): Use futimesat if available.
81953         Prefer it to futimes since it doesn't have the futimes bug.
81954
81955         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81956         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81957         Instead, declare a function that returns a pointer to an array,
81958         and use verify_type__ to declare the size of the array.
81959         Problem and germ of a solution reported by Bruno Haible.
81960         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81961         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81962
81963 2005-09-23  Jim Meyering  <jim@meyering.net>
81964
81965         Sync from coreutils.
81966         Correct build failure (socklen_t not defined) on at least
81967         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81968         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81969
81970 2005-09-23  Jim Meyering  <jim@meyering.net>
81971
81972         * modules/getaddrinfo (Depends-on): Add socklen.
81973
81974 2005-09-23  Bruno Haible  <bruno@clisp.org>
81975
81976         * tests/test-verify.c: New file.
81977
81978 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81979
81980         Sync from coreutils.
81981
81982         * modules/argmatch (Depends-on): Add verify.
81983         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81984         unistd-safer.
81985         * modules/save-cwd (Depends-on): Likewise.
81986
81987         * modules/openat (Files): Add lib/openat-die.c.
81988         (Depends-on): Remove error, exitfail.
81989         Add dirname.
81990
81991         * modules/verify: New file.
81992         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81993         with "verify" module.
81994
81995 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81996
81997         Sync from coreutils.
81998
81999         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
82000         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
82001         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
82002         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
82003         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
82004         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
82005         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
82006         Don't bother checking for string.h, stdlib.h, unistd.h.
82007         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
82008         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
82009         module's job.
82010         * m4/jm-macros.m4 (gl_MACROS): Likewise.
82011         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
82012
82013         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
82014         (gl_GETDATE): Use it.
82015
82016         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
82017
82018 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82019
82020         Sync from coreutils.
82021
82022         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
82023         stat-time.h.
82024         * lib/argmatch.h: Include verify.h
82025         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
82026         (ARGMATCH_ASSERT): Remove; unused.
82027         * lib/canonicalize.c: Assume STDC_HEADERS.
82028         * lib/exclude.c: Include "strcase.h".
82029         * lib/regex_internal.h [!defined _LIBC]: Likewise.
82030         * lib/getusershell.c: Include stdio--.h rather than stdio.h
82031         and stdio-safer.h.
82032         (getusershell): Call fopen, not fopen_safer.
82033         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
82034         Do not include unistd-safer.h.
82035         (save_cwd): Don't call fd_safer; no longer needed
82036         now that we include fcntl--.h.
82037
82038         * lib/getdate.y (relative_time): New type.
82039         (RELATIVE_TIME_0): New constant.
82040         (parser_control): Use relative_time instead of doing it ourselves.
82041         (%union): Add new relative_time rel member.
82042         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
82043         Now typeless.
82044         (relunit, relunit_snumber): Now of type rel.
82045         (zone, rel, relunit, get_date): Adjust to above changes.
82046
82047         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
82048         Do not include unistd-safer.h.
82049         (getloadavg): Don't call fd_safer; no longer needed
82050         now that we include fcntl--.h.
82051
82052         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
82053         (make_dir_parents): Treat ENOSYS like EEXIST.
82054
82055         Improve quality of diagnostics on restore_cwd failure.
82056         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
82057         (make_dir_parents): Last arg is now int * (for errno), not bool *.
82058         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
82059         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
82060         each time through the loop.  Do not diagnose restore_cwd failure;
82061         that is the caller's job (and perhaps the caller does not care).
82062
82063         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
82064         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
82065         If the file already exists but is not a directory, don't bother
82066         to try to make its parents.
82067         Close potential file descriptor leak if we can't chdir("/") (!).
82068         Don't always return true if chdir($PWD) fails; return true only
82069         if the requested action was done successfully (except for the
82070         chdir($PWD)).
82071         Don't log final directory unless we actually made it.
82072         Refactor to avoid duplicate code to fix up permissions.
82073         Don't attempt to fix up parent permissions if chdir($PWD) fails.
82074
82075         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
82076         to make it a bit faster and (I hope) clearer.
82077         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
82078         Fix bug in formats like %2N.
82079
82080         * lib/verify.h: New file.
82081
82082 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82083
82084         Sync from coreutils.
82085         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
82086
82087 2005-09-22  Jim Meyering  <jim@meyering.net>
82088
82089         Sync from coreutils.
82090
82091         * m4/lstat.m4 (gl_FUNC_LSTAT):
82092         Use AC_LIBSOURCES to require lstat.c and lstat.h.
82093         Remove obsolete comment.
82094         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
82095         * m4/xstrtod.m4: Likewise.
82096
82097         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
82098
82099 2005-09-22  Jim Meyering  <jim@meyering.net>
82100
82101         Sync from coreutils.
82102
82103         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
82104
82105         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
82106         the .tm_year member, since otherwise gcc-4.0 would now warn about
82107         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
82108
82109         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
82110         order to avoid an unsuppressible warning from gcc on 64-bit systems.
82111
82112         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
82113         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
82114         when run in a time zone for which daylight savings time is in effect
82115         for the starting date.
82116
82117         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
82118         stop us from restricting permissions of just-created absolute-named
82119         directories.
82120         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
82121         to restore initial working directory.
82122         * lib/mkdir-p.c (make_dir_parents): New parameter:
82123         different_working_dir, to tell caller if/when we change the working
82124         directory and are unable to return to the initial one.
82125         * lib/mkdir-p.h (make_dir_parents): Update prototype.
82126         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82127         `return false'.  This fixes a bug introduced on 2004-07-30.
82128
82129         * lib/openat.c (fdopendir): Be sure to close the supplied
82130         file descriptor before returning.  This makes our replacement
82131         implementation a little closer to Solaris's, where fdopendir
82132         ties the file descriptor to the returned DIR* pointer.
82133         * lib/openat.c (unlinkat): New function.
82134         * lib/openat.h (unlinkat): Add prototype.
82135         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82136         (openat_restore_fail): Rename from openat_restore_die.
82137         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82138
82139         Provide an alternative to exiting immediately upon save_cwd or
82140         restore_cwd failure.  Now, an application can arrange e.g.,
82141         to perform a longjump in that case.
82142         * lib/openat.c: Include dirname.h.
82143         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82144         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82145         and openat_restore_die rather than calling error directly.
82146         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82147
82148         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82149         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82150         define.
82151
82152         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82153         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82154                             int utc, int nanoseconds);
82155         Background:
82156         date should not have to allocate a megabyte of virtual memory to
82157         handle a format argument like +%1048575T.  When implemented with
82158         strftime, it must allocate such a buffer, use strftime to fill it
82159         in, print it, then free it.
82160         With fprintftime, it simply prints everything and exits.
82161         With no need for memory allocation, that's one fewer way to fail.
82162         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82163         optional field width, not before, so we accept %9:z, not %:9z.
82164         (my_strftime): Be sure to use L_('x') for literals.
82165
82166         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82167         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82168         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82169         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82170         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82171         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82172         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82173         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82174         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82175         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82176         * lib/xgethostname.c, lib/xreadlink.c:
82177         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82178
82179         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82180         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82181         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82182         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82183         and don't include <sys/file.h>).
82184
82185 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82186
82187         Sync from coreutils.
82188
82189         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82190         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82191         [!LDAV_DONE]: Avoid unused variable warning.
82192
82193 2005-09-21  Bruno Haible  <bruno@clisp.org>
82194
82195         * lib/unicodeio.h (unicode_to_mb): New declaration.
82196
82197 2005-09-20  Derek Price  <derek@ximbiot.com>
82198
82199         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82200         getaddrinfo.h.
82201
82202 2005-09-20  Bruno Haible  <bruno@clisp.org>
82203
82204         * gnulib-tool: Remove trailing slashes from the values specified for
82205         --source-base, --m4-base, --tests-base, --aux-dir.
82206         Suggested by Simon Josefsson <jas@extundo.com>.
82207
82208 2005-09-20  Bruno Haible  <bruno@clisp.org>
82209
82210         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82211         func_modules_to_filelist, func_import, func_create_testdir): Make all
82212         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82213         change when gnulib-tool is invoked in a different locale.
82214
82215 2005-09-19  Simon Josefsson  <jas@extundo.com>
82216
82217         * m4/socklen.m4: Fix typo.
82218
82219 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82220
82221         Use a consistent style for including <config.h>.
82222         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82223         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82224         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82225         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82226         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82227         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82228         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82229         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82230         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82231         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82232         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82233         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82234         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82235         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82236         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82237         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82238         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82239         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82240         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82241         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82242         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82243         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82244         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82245         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82246         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82247         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82248         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82249         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82250         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82251         lib/xstrtoumax.c, lib/yesno.c:
82252         Standardize inclusion of config.h.
82253         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82254         lib/inttostr.h:  Removed inclusion of config.h from header files.
82255         * lib/inttostr.c:  Adjusted in-tree users.
82256         * lib/timespec.h: Remove superfluous warning to include config.h.
82257         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82258         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82259         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82260         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82261         config.h with HAVE_CONFIG_H.
82262
82263 2005-09-19  Jim Meyering  <jim@meyering.net>
82264
82265         * modules/pathmax (License): Change to LGPL.
82266
82267 2005-09-19  Derek Price  <derek@ximbiot.com>
82268
82269         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82270
82271 2005-09-19  Bruno Haible  <bruno@clisp.org>
82272
82273         * gnulib-tool (import): Provide default for --tests-base.
82274
82275 2005-09-19  Bruno Haible  <bruno@clisp.org>
82276
82277         * doc/quote.texi: New file, extracted from gnulib.texi.
82278         * doc/ctime.texi: New file, extracted from gnulib.texi.
82279         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82280         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82281         * doc/gnulib.texi: Include them.
82282
82283 2005-09-18  Bruno Haible  <bruno@clisp.org>
82284
82285         Portability fix.
82286         * gnulib-tool (func_readlink): New function.
82287         (func_ln_if_changed): Use it.
82288
82289 2005-09-18  Bruno Haible  <bruno@clisp.org>
82290
82291         * gnulib-tool: Support --with-tests also with --import.
82292         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82293         (func_import): Use variables $testsbase and $inctests. Emit a
82294         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82295         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82296         SUBDIRS += $testsdir.
82297         (func_create_testdir): Update.
82298
82299 2005-09-18  Bruno Haible  <bruno@clisp.org>
82300
82301         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82302         instead of $dry_run.
82303         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82304         (func_ln_if_changed): Don't handle dry-run here.
82305         (func_import): In dry-run mode, detect more precisely which actions
82306         would be performed, and don't use "...ing" verbs.
82307
82308 2005-09-18  Bruno Haible  <bruno@clisp.org>
82309
82310         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82311         (func_import): Use join on two temporary files instead of three nested
82312         loops, in order to determine which files are new or old.
82313
82314 2005-09-18  Bruno Haible  <bruno@clisp.org>
82315
82316         * gnulib-tool (func_import): Comment out code that spits out the
82317         new files with --dry-run.
82318
82319 2005-09-18  Bruno Haible  <bruno@clisp.org>
82320
82321         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82322
82323 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82324
82325         * lib/stat-time.h: New file.
82326         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82327         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82328         in a different way.
82329         (timespec_cmp): New function.
82330         * lib/utimecmp.c: Include stat-time.h.
82331         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82332         members exist, not on the obsolescent ST_MTIM_NSEC.
82333         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82334
82335 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82338
82339 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82340
82341         * MODULES.html.sh (File system functions): Add stat-time.
82342         * modules/stat-time: New file.
82343         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82344         is now done in a different way, by the stat-time module.
82345         * modules/utimecmp (Depends-on): Add stat-time.
82346
82347 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82348
82349         * m4/st_mtim.m4: Remove.  Superseded by...
82350         * m4/stat-time.m4: New file.
82351         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82352         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82353
82354 2005-09-15  Derek Price  <derek@ximbiot.com>
82355
82356         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82357
82358 2005-09-15  Derek Price  <derek@ximbiot.com>
82359
82360         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82361         * lib/regex_internal.c: Ditto, using this...
82362         (__GNUC_PREREQ): ...new macro.
82363         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82364         using...
82365         (__GNUC_PREREQ): ...this new macro.
82366
82367         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82368
82369 2005-09-15  Derek Price  <derek@ximbiot.com>
82370             Paul Eggert  <eggert@cs.ucla.edu>
82371
82372         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82373         changes, consolidating in...
82374         * lib/regex_internal.h: ...this file.
82375
82376 2005-09-13  Jim Meyering  <jim@meyering.net>
82377
82378         * lib/canon-host.c: Filter through gnu indent and reword comments
82379         slightly.
82380         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82381
82382 2005-09-13  Derek Price  <derek@ximbiot.com>
82383
82384         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82385         failure.
82386         Reported by Jim Meyering  <jim@meyering.net>.
82387
82388 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82389
82390         * lib/base64.c: Typo.
82391         (base64_encode): Put b64str in initialized data section.
82392
82393 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         Merge glibc and coreutils changes into gnulib, plus a few
82396         extra fixes.
82397         * lib/md5.c: Use #error rather than a string.
82398         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82399         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82400         (__attribute__): Define to empty for non recent-GCC.
82401         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82402         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82403         Renamed from their non-__ counterparts, with new macros replacing
82404         them if not _LIBC.  Add __THROW attribute.
82405         (rol): Remove.
82406         (struct md5_ctx): Align buffer if using GCC.
82407         * lib/sha1.h (struct sha1_ctx): Likewise.
82408         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82409         The old name was backwards.
82410         (NOTSWAP): Remove; not used.
82411         (rol): New macro, moved here from md5.h.
82412         (sha1_process_block): Remove a FIXME that doesn't make sense.
82413
82414 2005-09-12  Derek Price  <derek@ximbiot.com>
82415
82416         Return usable errors from canon-host.
82417         * lib/canon-host.h: New file.
82418         * lib/canon-host.c (canon_host): Wrap...
82419         (canon_host_r): ...this new function, which now relies exclusively on
82420         getaddrinfo.
82421         (ch_strerror): New function.
82422         (last_cherror): New global.
82423         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
82424         interface.
82425         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
82426         void *.
82427         (freeaddrinfo): Free ai->ai_canonname when set.
82428
82429 2005-09-12  Derek Price  <derek@ximbiot.com>
82430
82431         Make canon-host require getaddrinfo.
82432         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
82433         AC_LIBSOURCE canon-host.h.  Call...
82434         (gl_PREREQ_CANON_HOST): ...this new function, which requires
82435         gl_GETADDRINFO.
82436         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
82437
82438 2005-09-12  Derek Price  <derek@ximbiot.com>
82439
82440         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
82441         LGPL.
82442         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
82443
82444 2005-09-12  Derek Price  <derek@ximbiot.com>
82445
82446         * lib/gai_strerror.c: Include config.h when available.  Include
82447         getaddrinfo.h before other headers to test interface.
82448         Reported by Larry Jones <lawrence.jones@ugs.com>.
82449
82450 2005-09-12  Derek Price  <derek@ximbiot.com>
82451             Paul Eggert  <eggert@cs.ucla.edu>
82452
82453         * modules/glob (Files): Add glob-libc.h.
82454
82455 2005-09-12  Derek Price  <derek@ximbiot.com>
82456             Paul Eggert  <eggert@cs.ucla.edu>
82457
82458         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82459         glob_.h, glob-libc.h.
82460         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82461
82462 2005-09-12  Derek Price  <derek@ximbiot.com>
82463             Paul Eggert  <eggert@cs.ucla.edu>
82464
82465         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82466         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82467         protecting things that should be done only in gnulib contexts.
82468         * lib/glob_.h: New file, containing only the glob things needed for
82469         gnulib.
82470         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82471         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82472         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82473         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82474         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82475         and to respect the namespace rules better.
82476
82477 2005-09-08  Simon Josefsson  <jas@extundo.com>
82478
82479         * modules/socklen: New file.
82480
82481 2005-09-08  Simon Josefsson  <jas@extundo.com>
82482
82483         * m4/socklen.m4: New file.
82484
82485 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82486
82487         * modules/utimens (Files): Add m4/utimbuf.m4, since
82488         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82489         Reported by Sergey Poznyakoff.
82490
82491 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82492
82493         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82494         definitions, since that's the preferred style in glibc.
82495         Fix a minor spacing issue, and update copyright notice to match
82496         glibc's.
82497
82498 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82501
82502 2005-09-06  Simon Josefsson  <jas@extundo.com>
82503
82504         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82505         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82506
82507 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82508
82509         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82510         warning.
82511
82512 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82513
82514         * config/srclist.txt: Add glibc bug 1302.
82515
82516 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82517
82518         Change bitset word type from unsigned int to unsigned long int,
82519         as this has better performance on typical 64-bit hosts.
82520         Port bitset code to hosts with unusual word sizes.
82521         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82522         (build_collating_symbol):
82523         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82524         argument is a bitset.  This is merely a style issue, but it makes
82525         it clearer that an entire array is expected.
82526         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82527         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82528         Port to the case where bitset_word is not the same as unsigned int.
82529         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82530         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82531         Likewise.
82532         * lib/regexec.c (check_dst_limits_calc_pos_1,
82533         check_subexp_matching_top):
82534         (build_trtable, group_nodes_into_DFAstates):
82535         Likewise.
82536         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82537         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82538         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82539         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82540         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82541         * lib/regcomp.c (optimize_subexps, lower_subexp):
82542         Work even if bitset_word has holes in its bitwise representation.
82543         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82544         * lib/regexec.c (check_dst_limits_calc_pos_1,
82545         check_subexp_matching_top):
82546         Likewise.
82547         * lib/regex_internal.c (re_string_reconstruct):
82548         Don't assume UCHAR_MAX == 255.
82549         * lib/regex_internal.h (bitset_set_all): Likewise.
82550         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82551         All uses changed.
82552         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82553         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82554         All uses changed.
82555         (BITSET_WORD_MAX): New macro.
82556         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82557         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82558         (bitset_empty, bitset_copy):
82559         Prefer sizeof (bitset) to multiplying it out ourselves.
82560         (bitset_not_merge): Remove; unused.
82561         (bitset_contain): Return bool, not unsigned int with one bit on.
82562         All callers changed.
82563         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82564         alignment than re_node_set; do this by defining a new internal
82565         type struct dests_alloc and using it to allocate memory.
82566
82567 2005-09-05  Bruno Haible  <bruno@clisp.org>
82568
82569         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82570         links.
82571
82572 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82573
82574         * modules/size_max (Makefile.am): Add size_max.h
82575
82576 2005-09-04  Derek Price  <derek@ximbiot.com>
82577
82578         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82579
82580 2005-09-03  Simon Josefsson  <jas@extundo.com>
82581
82582         * gnulib-tool: Fix typo.
82583
82584 2005-09-03  Simon Josefsson  <jas@extundo.com>
82585
82586         * config/srclist.txt: Add glibc bug 1293.
82587
82588 2005-09-03  Derek Price  <derek@ximbiot.com>
82589
82590         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82591         From Larry Jones <lawrence.jones@ugs.com>.
82592
82593 2005-09-02  Simon Josefsson  <jas@extundo.com>
82594
82595         * modules/socklen: New file.
82596
82597 2005-09-02  Simon Josefsson  <jas@extundo.com>
82598
82599         * modules/havelib: New module.
82600
82601         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82602         Use havelib.
82603
82604 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82605
82606         Check for arithmetic overflow when calculating sizes, to prevent
82607         some buffer-overflow issues.  These patches are conservative, in the
82608         sense that when I couldn't determine whether an overflow was possible,
82609         I inserted a run-time check.
82610         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82611         macros.
82612         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82613         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82614         (re_xnrealloc, re_x2nrealloc): New inline functions.
82615         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82616         parse_bracket_exp):
82617         (build_equiv_class, build_charclass): Check for arithmetic overflow
82618         in size expression calculations.
82619         * lib/regex_internal.c (re_string_realloc_buffers):
82620         (build_wcs_upper_buffer, re_node_set_add_intersect):
82621         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82622         (re_dfa_add_node, register_state): Likewise.
82623         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82624         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82625         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82626         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82627
82628 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82629
82630         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82631         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82632
82633 2005-09-02  Bruno Haible  <bruno@clisp.org>
82634
82635         Support for lib vs. lib64 distinction on biarch platforms.
82636         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82637         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82638         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82639
82640 2005-09-02  Bruno Haible  <bruno@clisp.org>
82641
82642         * gnulib-tool (import): In the other first-use case, provide defaults
82643         as well.
82644
82645 2005-09-02  Bruno Haible  <bruno@clisp.org>
82646
82647         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82648         patches not yet found in the latest gettext release.
82649
82650 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82651
82652         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82653         to avoid a collision with bits/local_lim.h in glibc.
82654         All uses changed.  Problem reported by Dmitry V. Levin in
82655         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82656
82657         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82658         bugs in int versus size_t comparisons.
82659         (re_string_context_at): Fix bug where the code assumed that
82660         Idx is signed.
82661
82662         Use bool where appropriate.
82663         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82664         All callers changed.
82665         (calc_eclosure_iter): Likewise, for ROOT arg.
82666         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82667         (build_charclass_op): Likewise, for NON_MATCH arg.
82668         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82669         (re_string_construct_common): Likewise, for ICASE arg.
82670         * lib/regexec.c (re_search_2_stub, re_search_stub):
82671         Likewise, for RET_LEN arg.
82672         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82673         (set_regs): Likewise, for FL_BACKTRACK arg.
82674         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82675         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82676         (calc_eclosure_iter, parse_bracket_exp):
82677         Use bool for internal variables that are booleans.
82678         * lib/regexec.c (re_search_internal, check_matching,
82679         proceed_next_node):
82680         (set_regs, build_sifted_states, sift_states_bkref):
82681         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82682         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82683         (find_collation_sequence_value):
82684         Likewise.
82685         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82686         (re_node_set_compare):
82687         Return bool, not int. All callers changed.
82688         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82689         (build_trtable, check_node_accept): Likewise.
82690         * lib/regex_internal.h: Include stdbool.h.
82691
82692         Fix bugs uncovered when converting to bool.
82693         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82694         failure instead of charging ahead blindly.
82695         * lib/regex_internal.c (register_state): Likewise.
82696         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82697         for freeing internal storage.
82698         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82699         bitset pieces used as boolean, to avoid undefined behavior
82700         on hosts that do int overflow checking.
82701
82702 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82703
82704         * config/srclist.txt: Add glibc bugs 1285-1287.
82705
82706 2005-09-01  Jim Meyering  <jim@meyering.net>
82707
82708         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82709         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82710         Require gl_STAT_MACROS, too.
82711
82712 2005-09-01  Bruno Haible  <bruno@clisp.org>
82713
82714         * gnulib-tool (import): In the first-use case, provide defaults.
82715
82716 2005-09-01  Bruno Haible  <bruno@clisp.org>
82717
82718         * gnulib-tool (func_import): Remove the .tmp files.
82719
82720 2005-09-01  Bruno Haible  <bruno@clisp.org>
82721
82722         * gnulib-tool (func_import): Fix handling of symbolic links.
82723
82724 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82725
82726         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82727         old glibc regex code mishandles strings longer than 2**31 bytes.
82728         This patch fixes this when the regex code is used in gnulib
82729         (i.e., outside glibc).
82730
82731         This patch should not affect the use of the regex code inside
82732         glibc.  No doubt this problem also needs to be handled for glibc
82733         as well, but the result will be an incompatible change to the
82734         glibc ABI, and the old ABI will have to be supported too.  That
82735         can be the the subject for another patch.
82736
82737         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82738         governing whether the rest of this patch is active.  By default,
82739         the macro is disabled and the patch has no effect.
82740         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82741         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82742         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82743         (re_match_2, re_set_registers): Use the new types.
82744         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82745         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82746         New macros.
82747         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82748         (re_string_context_at, bin_tree_t, re_dfastate_t):
82749         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82750         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82751         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82752         (re_string_char_size_at, re_string_wchar_at):
82753         (re_string_elem_size_at):
82754         Use the new types and macros to port to 64-bit hosts.
82755         Use unsigned types for internal values, so that the code
82756         mostly works even for arrays larger than SSIZE_MAX.
82757         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82758         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82759         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82760         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82761         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82762         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82763         (calc_inveclosure, parse_dup_op, build_range_exp):
82764         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82765         (fetch_number, create_token_tree, mark_opt_subexp):
82766         Likewise.
82767         * lib/regex_internal.c (re_string_construct_common,
82768         create_ci_newstate):
82769         (create_cd_newstate, re_string_allocate, re_string_construct):
82770         (re_string_realloc_buffers, build_wcs_upper_buffer):
82771         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82772         (re_string_reconstruct, re_string_peek_byte_case):
82773         (re_string_fetch_byte_case, re_string_context_at):
82774         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82775         (re_node_set_init_copy, re_node_set_add_intersect):
82776         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82777         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82778         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82779         (re_acquire_state, re_acquire_state_context, register_state):
82780         Likewise.
82781         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82782         search_cur_bkref_entry):
82783         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82784         (re_search_internal, re_search_2_stub, re_search_stub)
82785         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82786         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82787         (update_cur_sifted_state, check_dst_limits):
82788         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82789         (check_subexp_limits, sift_states_bkref, merge_state_array):
82790         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82791         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82792         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82793         (expand_bkref_cache, check_node_accept_bytes):
82794         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82795         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82796         (acquire_init_state_context, check_halt_node_context):
82797         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82798         (sift_states_backward, clean_state_log_if_needed):
82799         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82800         (find_recover_state, transit_state_sb, transit_state_mb):
82801         (transit_state_bkref, build_trtable, match_ctx_clean):
82802         Likewise.
82803         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82804         to work around an assumption that REG_MISSING is negative.
82805
82806         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82807         (seek_collating_symbol_entry) [defined _LIBC]:
82808         (lookup_collation_sequence_value) [defined _LIBC]:
82809         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82810         Use prototypes rather than old-style function definitions.
82811         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82812         (transit_state_sb) [0]:
82813         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82814
82815         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82816         rm_eo.
82817
82818         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82819         (optimize_subexps, lower_subexp):
82820         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82821         since the signed shift might overflow.  Use 1u<<31 instead.
82822         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82823         Likewise.
82824         * lib/regexec.c (check_dst_limits_calc_pos_1,
82825         check_subexp_matching_top): Likewise.
82826
82827         * lib/regcomp.c (optimize_subexps, lower_subexp):
82828         Use CHAR_BIT rather than 8, for clarity.
82829         * lib/regexec.c (check_dst_limits_calc_pos_1):
82830         (check_subexp_matching_top): Likewise.
82831         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82832         have to worry about portability issues when shifting it left.
82833         Remove no-longer-needed test for table_size > 0.
82834         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82835         in a word, as the resulting behavior is undefined.
82836         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82837         in one case, a <= should have been an <, and in another case the
82838         whole test was missing.
82839         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82840         the standard name CHAR_BIT.
82841         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82842         this is not true on one's complement and signed-magnitude hosts.
82843
82844         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82845         next_last_offset.
82846         (struct re_dfa_t): Remove unused member states_alloc.
82847         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82848
82849 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82850
82851         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82852         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82853         and large-file glibc and in 32-bit large-file Solaris.
82854
82855 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82856
82857         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82858         lengths fit in regoff_t; this isn't true if regoff_t is the same
82859         width as size_t.
82860         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82861         (= START + RANGE) instead of RANGE.  This avoids overflow
82862         problems when regoff_t is the same width as size_t.
82863         All callers changed.
82864         (re_search_2_stub): Check for overflow when adding the
82865         sizes of the two strings.
82866         (re_search_stub): Check for overflow when adding START
82867         to RANGE; if it occurs, substitute the extreme value.
82868
82869 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82870
82871         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82872
82873 2005-08-31  Jim Meyering  <jim@meyering.net>
82874
82875         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82876         a pointer-to-const.
82877         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82878         (register_state): Likewise.
82879         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82880         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82881         (group_nodes_into_DFAstates): Likewise.
82882
82883 2005-08-31  Jim Meyering  <jim@meyering.net>
82884
82885         * check-module: Add a FIXME comment.
82886
82887 2005-08-31  Eric Blake  <ebb9@byu.net>
82888
82889         * modules/unistd-safer (Files): Add unistd--.h.
82890         * modules/stdio-safer (Files): Add stdio--.h.
82891
82892 2005-08-31  Derek Price  <derek@ximbiot.com>
82893
82894         * lib/getdelim.c (getdelim): Return EOF on EOF.
82895         Reported by Larry Jones <lawrence.jones@ugs.com>.
82896
82897 2005-08-31  Bruno Haible  <bruno@clisp.org>
82898
82899         Avoid unnecessary diffs in the generated lib/Makefile.am.
82900         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82901         the generated files.
82902         (func_import): Don't set cmd.
82903
82904 2005-08-31  Bruno Haible  <bruno@clisp.org>
82905
82906         * lib/strstr.c: Include <stddef.h>, for NULL.
82907         * lib/strcasestr.c: Likewise.
82908         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82909
82910 2005-08-31  Bruno Haible  <bruno@clisp.org>
82911
82912         * gnulib-tool: New option --macro-prefix.
82913         (func_import): Use macro_prefix.
82914         (import): Handle option --macro-prefix.
82915
82916 2005-08-31  Bruno Haible  <bruno@clisp.org>
82917
82918         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82919         Also use new variables cached_lgpl, cached_libtool.
82920
82921 2005-08-31  Bruno Haible  <bruno@clisp.org>
82922
82923         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82924         always instantiating them.
82925
82926 2005-08-31  Bruno Haible  <bruno@clisp.org>
82927
82928         * gnulib-tool (func_import): Read the previous cached settings
82929         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82930         earlier added by gnulib but are now dropped. Warn when a gnulib file
82931         overwrites a non-gnulib file.
82932
82933 2005-08-31  Bruno Haible  <bruno@clisp.org>
82934
82935         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82936         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82937         projects that don't keep autogenerated files in CVS. Put into
82938         actioncmd only the specified modules, not the transitive closure.
82939
82940 2005-08-31  Bruno Haible  <bruno@clisp.org>
82941
82942         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82943         Create directories that shall be filled.
82944         (import): Don't look for gl_* macros in configure.ac. Recurse across
82945         all directories containing a gnulib-cache.m4 files, if meaningful.
82946
82947 2005-08-31  Bruno Haible  <bruno@clisp.org>
82948
82949         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82950         (import): Set seen_libtool when we see gl_LIBTOOL.
82951
82952 2005-08-31  Bruno Haible  <bruno@clisp.org>
82953
82954         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82955         declaration macro definitions from generated gnulib.m4.
82956
82957 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82958
82959         * lib/iconvme.h: Add prototype for iconv_alloc.
82960
82961 2005-08-29  Simon Josefsson  <jas@extundo.com>
82962
82963         * lib/iconvme.c: Fix errno.
82964
82965 2005-08-29  Bruno Haible  <bruno@clisp.org>
82966
82967         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82968         that it works when the directory contains spaces.
82969
82970 2005-08-29  Bruno Haible  <bruno@clisp.org>
82971
82972         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82973
82974 2005-08-29  Bruno Haible  <bruno@clisp.org>
82975
82976         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82977         Emit more advice.
82978
82979 2005-08-29  Bruno Haible  <bruno@clisp.org>
82980         and Stepan Kasal  <kasal@ucw.cz>
82981
82982         * check-module: If more parameters are given, check each of them
82983         separately; add more exceptions, as noted by Jim Meyering.
82984         (check_module): New procedure.
82985         (%exempt_header): Now contains all exceptions.
82986
82987 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82988
82989         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82990
82991 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82992
82993         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82994
82995 2005-08-28  Bruno Haible  <bruno@clisp.org>
82996
82997         * m4/gnulib-tool.m4: New file.
82998
82999 2005-08-27  Jim Meyering  <jim@meyering.net>
83000
83001         * modules/unistd-safer (Files): Add pipe-safer.c.
83002         * modules/fcntl-safer (Files): Add creat-safer.c.
83003
83004 2005-08-27  Jim Meyering  <jim@meyering.net>
83005
83006         * m4/stdlib-safer.m4: New file.  From coreutils.
83007         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
83008         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
83009         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
83010         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
83011         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
83012
83013 2005-08-27  Jim Meyering  <jim@meyering.net>
83014
83015         * lib/fopen-safer.c: Merge minor changes from coreutils.
83016         * lib/dup-safer.c: Likewise.
83017         * lib/fd-safer.c: Likewise.
83018
83019         Merge from coreutils.
83020         * lib/stdio--.h: New file.
83021         * lib/stdlib--.h: New file.
83022         * lib/mkstemp-safer.c: New file.
83023
83024         GNU tar needs these.
83025         * lib/pipe-safer.c: New file.
83026         * lib/creat-safer.c: New file.
83027         * lib/fcntl--.h (creat): Define to creat_safer.
83028         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
83029         * lib/unistd--.h (pipe): Define to pipe_safer.
83030         * lib/unistd-safer.h: Declare pipe_safer.
83031
83032 2005-08-26  Simon Josefsson  <jas@extundo.com>
83033
83034         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
83035         Haible <bruno@clisp.org>.
83036
83037 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
83038
83039         * lib/regex_internal.h: Remove all references to
83040         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
83041         or better.
83042         (bitset_not, bitset_merge, bitset_not_merge):
83043         (bitset_mask, re_string_allocate, re_string_construct):
83044         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
83045         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
83046         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
83047         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
83048         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83049         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83050         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
83051         (re_acquire_state_context):
83052         Remove unnecessary forward decls.
83053         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
83054         Put __attribute at function definition,
83055         now that the function decl has been removed.
83056         * lib/regex_internal.c (re_string_peek_byte_case):
83057         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
83058         Likewise.
83059
83060 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
83061
83062         * m4/regex.m4: Add AC_PREREQ(2.50).
83063         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
83064
83065 2005-08-25  Simon Josefsson  <jas@extundo.com>
83066
83067         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
83068         __fsetlocking.
83069
83070 2005-08-25  Simon Josefsson  <jas@extundo.com>
83071
83072         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
83073         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
83074         GLIBC specific code.
83075
83076 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83077
83078         Make regex safe for g++.  This fixes one real bug (an "err"
83079         that should have been "*err").  g++ problem reported by
83080         Sam Steingold.
83081         * lib/regex_internal.h (re_calloc): New macro, consistent with
83082         re_malloc etc.  All callers of calloc changed to use re_calloc.
83083         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
83084         not int.  All callers changed.
83085         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
83086         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
83087         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
83088         (find_recover_state): Change "err" to "*err"; this fixes what
83089         appears to be a real bug.
83090         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
83091         versus int.
83092
83093 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83094
83095         * modules/regex (Depends-on): Add malloc, since the code
83096         assumes that !malloc(0) means failure.
83097
83098 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83099
83100         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
83101
83102         alloca modernization/simplification for regex.
83103         * lib/regex.c: Remove portability cruft for alloca.  This no longer
83104         needs to be at the start of the file, and can be moved into
83105         regex_internal.h and simplified.
83106         * lib/regex_internal.h: Include <alloca.h>.
83107         (__libc_use_alloca) [!defined _LIBC]: New macro.
83108         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
83109         now works outside glibc.
83110
83111 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83112
83113         * config/srclist.txt: Add glibc bugs 1241, 1245.
83114
83115 2005-08-25  Jim Meyering  <jim@meyering.net>
83116
83117         * lib/open-safer.c: Include <config.h>.
83118         Otherwise, we'd lose LARGEFILE support in any file using
83119         e.g. "fcntl--.h"
83120
83121 2005-08-25  Bruno Haible  <bruno@clisp.org>
83122
83123         * m4/minmax.m4: Require autoconf 2.52.
83124         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
83125         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
83126         alternatives of translit over the alphabet.
83127         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83128
83129 2005-08-24  Simon Josefsson  <jas@extundo.com>
83130
83131         * tests/test-getpass.c: New file.
83132
83133 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83134
83135         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83136         for GNU regex features.
83137
83138 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83139
83140         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83141         * lib/regex.h (regerror): Likewise.
83142
83143         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83144         requires this.  (The code never needed it.)
83145
83146         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83147         All uses of recently-renamed identifiers changed to use the new,
83148         POSIX-compliant names.  The code will build and run just fine
83149         without these changes, but it's better to eat our own dog food
83150         and use the standard-conforming names.
83151
83152         * lib/regex.h: Fix a multitude of POSIX name space violations.
83153         These changes have an effect only for programs that define
83154         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83155         do not change anything for programs compiled in the normal way.
83156         Also, there is no effect on the ABI.
83157
83158         (_REGEX_SOURCE): New macro.
83159         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83160         defined and _GNU_SOURCE is not; this fixes a name space violation.
83161
83162         Rename the following macros to obey POSIX requirements.
83163         The old names are still visible as macros if _REGEX_SOURCE is defined.
83164         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83165         RE_BACKSLASH_ESCAPE_IN_LISTS.
83166         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83167         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83168         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83169         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83170         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83171         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83172         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83173         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83174         (REG_INTERVALS): renamed from RE_INTERVALS.
83175         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83176         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83177         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83178         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83179         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83180         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83181         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83182         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83183         RE_UNMATCHED_RIGHT_PAREN_ORD.
83184         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83185         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83186         (REG_DEBUG): renamed from RE_DEBUG.
83187         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83188         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83189         unusual, since we can't clash with the POSIX REG_ICASE.
83190         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83191         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83192         (REG_NO_SUB): renamed from RE_NO_SUB.
83193         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83194         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83195         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83196         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83197         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83198         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83199         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83200         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83201         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83202         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83203         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83204         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83205         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83206         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83207         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83208         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83209         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83210         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83211         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83212         (REG_FIXED): Renamed from REGS_FIXED.
83213         (REG_NREGS): Renamed from RE_NREGS.
83214
83215         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83216         of other REG_* macros, since POSIX says the user is allowed to
83217         #undef these macros selectively.
83218
83219         (reg_errcode_t): Update comment stating what other tables need
83220         to be consistent.
83221
83222         Rename the following enum values to obey POSIX requirements.
83223         The old names are still visible as macros.
83224         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83225         is not defined, since GNU is supposed to be a superset of POSIX as
83226         much as possible, and since we want reg_errcode_t to be a signed
83227         type for implementation consistency.
83228         (_REG_NOERROR): Renamed from REG_NOERROR.
83229         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83230         (_REG_BADPAT): Renamed from REG_BADPAT.
83231         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83232         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83233         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83234         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83235         (_REG_EBRACK): Renamed from REG_EBRACK.
83236         (_REG_EPAREN): Renamed from REG_EPAREN.
83237         (_REG_EBRACE): Renamed from REG_EBRACE.
83238         (_REG_BADBR): Renamed from REG_BADBR.
83239         (_REG_ERANGE): Renamed from REG_ERANGE.
83240         (_REG_ESPACE): Renamed from REG_ESPACE.
83241         (_REG_BADRPT): Renamed from REG_BADRPT.
83242         (_REG_EEND): Renamed from REG_EEND.
83243         (_REG_ESIZE): Renamed from REG_ESIZE.
83244         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83245         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83246         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83247         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83248         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83249
83250         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83251         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83252         changed.  But support the old name if the new one is not defined
83253         and if _REGEX_SOURCE.
83254
83255         Change the following member names in struct re_pattern_buffer.
83256         The old names are still supported if !_REGEX_SOURCE.
83257         The new names are always supported, regardless of _REGEX_SOURCE.
83258         (re_buffer): Renamed from buffer.
83259         (re_allocated): Renamed from allocated.
83260         (re_used): Renamed from used.
83261         (re_syntax): Renamed from syntax.
83262         (re_fastmap): Renamed from fastmap.
83263         (re_translate): Renamed from translate.
83264         (re_can_be_null): Renamed from can_be_null.
83265         (re_regs_allocated): Renamed from regs_allocated.
83266         (re_fastmap_accurate): Renamed from fastmap_accurate.
83267         (re_no_sub): Renamed from no_sub.
83268         (re_not_bol): Renamed from not_bol.
83269         (re_not_eol): Renamed from not_eol.
83270         (re_newline_anchor): Renamed from newline_anchor.
83271
83272         Change the following member names in struct re_registers.
83273         The old names are still supported if !_REGEX_SOURCE.
83274         The new names are always supported, regardless of _REGEX_SOURCE.
83275         (rm_num_regs): Renamed from num_regs.
83276         (rm_start): Renamed from start.
83277         (rm_end): Renamed from end.
83278
83279         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83280         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83281         Prepend __ to parameter names.
83282
83283         Undo yesterday's changes.
83284
83285 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83286
83287         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83288         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83289         lib/regex.c.
83290
83291 2005-08-24  Jim Meyering  <jim@meyering.net>
83292
83293         Sync from coreutils.
83294         * m4/fcntl-safer.m4: New file.
83295
83296         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83297         and object files for this module.
83298
83299 2005-08-24  Jim Meyering  <jim@meyering.net>
83300
83301         Sync from coreutils.
83302         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83303
83304 2005-08-24  Jim Meyering  <jim@meyering.net>
83305
83306         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83307         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83308
83309 2005-08-24  Jim Meyering  <jim@meyering.net>
83310
83311         * modules/fcntl-safer: New module.
83312         * modules/fts (Depends-on): Add fcntl-safer.
83313         * MODULES.html.sh (File descriptor based Input/Output):
83314         Add fcntl-safer.
83315
83316 2005-08-24  Bruno Haible  <bruno@clisp.org>
83317
83318         Support for unit test modules.
83319         * modules/README: Mention tests modules.
83320         * modules/TEMPLATE-TESTS: New file.
83321         * gnulib-tool: New options --extract-tests-module, --with-tests and
83322         --tests-base (unused for the moment).
83323         (testsbase, inctests): New variables.
83324         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83325         (func_verify_module): Exclude TEMPLATE-TESTS.
83326         (func_verify_nontests_module, func_verify_tests_module): New functions.
83327         (func_get_dependencies): Add implicit dependency for tests modules.
83328         (func_get_tests_module): New function.
83329         (func_modules_transitive_closure): When --with-tests was specified,
83330         include the unit tests as well, unless explicitly avoided.
83331         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83332         (func_emit_tests_Makefile_am): New function.
83333         (func_create_testdir): When --with-tests was specified, emit a
83334         tests/ directory.
83335         * MODULES.html.sh (Future developments): Update.
83336
83337 2005-08-24  Bruno Haible  <bruno@clisp.org>
83338
83339         * modules/tls-tests: New file.
83340         * tests/test-tls.c: New file, from GNU gettext.
83341
83342 2005-08-24  Bruno Haible  <bruno@clisp.org>
83343
83344         * modules/lock-tests: New file.
83345         * tests/test-lock.c: New file, from GNU gettext.
83346
83347 2005-08-24  Bruno Haible  <bruno@clisp.org>
83348
83349         * lib/lock.h: Add multiple inclusion guard.
83350         * lib/tls.h: Add multiple inclusion guard.
83351
83352 2005-08-24  Bruno Haible  <bruno@clisp.org>
83353
83354         * gnulib-tool: Add support for the --aux-dir option to
83355         --create-testdir, --create-megatestdir, --test, --megatest.
83356         (func_create_testdir, func_create_megatestdir): Optionally emit a
83357         AC_CONFIG_AUX_DIR directive.
83358         (create-testdir, create-megatestdir, test, megatest): Provide a
83359         default value for $auxdir.
83360
83361 2005-08-24  Bruno Haible  <bruno@clisp.org>
83362
83363         * gnulib-tool (import): Use compound statement instead of subshell
83364         where possible.
83365
83366 2005-08-24  Bruno Haible  <bruno@clisp.org>
83367
83368         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83369
83370 2005-08-24  Bruno Haible  <bruno@clisp.org>
83371
83372         * gnulib-tool (func_version): Update.
83373
83374 2005-08-24  Bruno Haible  <bruno@clisp.org>
83375
83376         * gnulib-tool (func_import, func_create_testdir,
83377         func_create_megatestdir): Quote all autoconf macro arguments.
83378
83379 2005-08-24  Bruno Haible  <bruno@clisp.org>
83380
83381         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83382         option --force, because --force causes the aclocal.m4 of each
83383         subdirectory to be newer than the corresponding config.h.in.
83384
83385 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83388         All contents moved to gl_REGEX.
83389         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83390         assume that it does.
83391
83392 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83393
83394         * lib/regex.h (REG_NOSYS)
83395         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83396         Define, since POSIX requires it as of 2001.
83397         (_REG_ENOSYS)
83398         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83399         New private symbol, used to keep the enum signed in all cases.
83400         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83401         Youngman in
83402         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83403
83404         * lib/regex_internal.c (re_string_skip_chars, register_state):
83405         (calc_state_hash):
83406         Remove forward decls; no longer needed now that we use prototypes.
83407         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83408         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83409         (clean_state_log_if_needed): Likewise.
83410
83411 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83412
83413         * config/srclist.txt: Add glibc bugs 1231-1233.
83414
83415 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83416
83417         Fix problems reported by Sam Steingold in
83418         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83419         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83420         assumed that reg_errcode_t is a signed type, which is not
83421         necessarily true if _XOPEN_SOURCE is not defined.
83422         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83423         since some compilers warn about it otherwise.
83424
83425 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83426
83427         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
83428         (init_word_char, create_initial_state, duplicate_node_closure):
83429         (fetch_token, peek_token_bracket, build_range_exp):
83430         (build_collating_symbol): Remove forward decls; no longer needed
83431         now that we use prototypes.
83432
83433         * lib/regcomp.c:
83434         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
83435         (re_compile_fastmap_iter, regcomp, regerror, regfree):
83436         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
83437         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
83438         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
83439         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
83440         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
83441         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
83442         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
83443         (build_range_exp, build_collating_symbol, parse_bracket_exp):
83444         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
83445         (build_charclass, build_charclass_op, fetch_number, create_tree):
83446         (create_token_tree, mark_opt_subexp, duplicate_tree):
83447         Use prototypes rather than old-style definitions.
83448
83449         * lib/regex_internal.c:
83450         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
83451         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
83452         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83453         (re_string_reconstruct, re_string_peek_byte_case):
83454         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
83455         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83456         (re_node_set_init_copy, re_node_set_add_intersect):
83457         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83458         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83459         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83460         (re_acquire_state, re_acquire_state_context, register_state):
83461         (create_ci_newstate, create_cd_newstate, free_state):
83462         Likewise.
83463         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83464         re_search_2):
83465         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83466         (re_search_internal, prune_impossible_nodes):
83467         (acquire_init_state_context, check_matching, static):
83468         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83469         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83470         (update_regs, sift_states_backward, build_sifted_states):
83471         (clean_state_log_if_needed, merge_state_array):
83472         (update_cur_sifted_state, add_epsilon_src_nodes):
83473         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83474         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83475         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83476         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83477         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83478         (check_arrival, check_arrival_add_next_nodes):
83479         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83480         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83481         (check_node_accept_bytes, check_node_accept, extend_buffers):
83482         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83483         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83484         (sift_ctx_init):
83485         Likewise.
83486
83487         * lib/regex_internal.h:
83488         (re_string_allocate, re_string_construct, re_string_reconstruct):
83489         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83490         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83491         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83492         (re_string_context_at, re_string_peek_byte_case):
83493         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83494         is defined, since we now use prototypes always.
83495
83496         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83497         C89 or better.  All uses removed.
83498
83499 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83500
83501         * config/srclist.txt: Add glibc bugs 1220-1227.
83502
83503 2005-08-20  Jim Meyering  <jim@meyering.net>
83504
83505         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83506         of unused local, dfa.
83507
83508 2005-08-20  Bruno Haible  <bruno@clisp.org>
83509
83510         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83511
83512 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83513
83514         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83515         (re_node_set_insert_last, re_dfa_add_node):
83516         Rename local variables to avoid GCC shadowing warnings.
83517
83518 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83519
83520         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83521         [defined lint]: Suppress bogus uninitialized-variable warnings.
83522
83523         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83524         and let the caller return REG_ESPACE if out of space.  This
83525         removes an uninitialied-variable warning with GCC 4.0.1, and also
83526         avoids taking the address of a local variable.  All callers
83527         changed.
83528
83529 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83530
83531         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83532         $LIBCSRC/posix/regexec.c.
83533         Add glibc bug 1217 for regcomp.c.
83534
83535 2005-08-19  Jim Meyering  <jim@meyering.net>
83536
83537         * lib/regexec.c (proceed_next_node): Redo local variables to
83538         avoid GCC shadowing warnings.
83539
83540 2005-08-18  Bruno Haible  <bruno@clisp.org>
83541
83542         * lib/strstr.c (strstr): Fix return value in multibyte case.
83543         * lib/strcasestr.c (strcasestr): Likewise.
83544
83545 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83546
83547         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83548
83549 2005-08-17  Jim Meyering  <jim@meyering.net>
83550
83551         Make the %s format (seconds since the epoch) work for a negative
83552         number and when used with a zero-padded field width, e.g. %015s.
83553
83554         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83555         label so that it precedes the code to set `digits'.  Otherwise,
83556         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83557         print `00-22'.  Now, it prints `-0022', as it should.
83558
83559 2005-08-17  Bruno Haible  <bruno@clisp.org>
83560
83561         * modules/strstr (Files): Add m4/mbrtowc.m4.
83562         (Depends-on): Add mbuiter.
83563
83564 2005-08-17  Bruno Haible  <bruno@clisp.org>
83565
83566         * modules/strcasestr: New file.
83567         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83568         strcasestr.
83569
83570 2005-08-17  Bruno Haible  <bruno@clisp.org>
83571
83572         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83573
83574 2005-08-17  Bruno Haible  <bruno@clisp.org>
83575
83576         * modules/mbuiter: New file.
83577         * MODULES.html.sh (Extended multibyte and wide character utilities):
83578         Add mbuiter.
83579
83580 2005-08-17  Bruno Haible  <bruno@clisp.org>
83581
83582         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83583         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83584
83585 2005-08-17  Bruno Haible  <bruno@clisp.org>
83586
83587         * m4/strcasestr.m4: New file.
83588
83589 2005-08-17  Bruno Haible  <bruno@clisp.org>
83590
83591         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83592         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83593
83594 2005-08-17  Bruno Haible  <bruno@clisp.org>
83595
83596         * lib/strcasestr.h: New file.
83597         * lib/strcasestr.c: New file.
83598
83599 2005-08-17  Bruno Haible  <bruno@clisp.org>
83600
83601         * lib/strcasecmp.c: Use mbuiter.h.
83602
83603 2005-08-17  Bruno Haible  <bruno@clisp.org>
83604
83605         * lib/mbuiter.h: New file.
83606
83607 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83608
83609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83610         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83611         and gl_GETOPT are both invoked via different paths (as happens
83612         with GNU tar CVS because it uses both argp and getopt), the former
83613         wins.
83614
83615 2005-08-16  Bruno Haible  <bruno@clisp.org>
83616
83617         * modules/tls: New file.
83618         * MODULES.html.sh (Multithreading): Add tls.
83619
83620 2005-08-16  Bruno Haible  <bruno@clisp.org>
83621
83622         * modules/strnlen1: New file.
83623         * MODULES.html.sh (String handling): Add strnlen1.
83624
83625 2005-08-16  Bruno Haible  <bruno@clisp.org>
83626
83627         * modules/strcase (Files): Add m4/mbrtowc.m4.
83628         (Depends-on): Add strnlen1, mbchar.
83629
83630 2005-08-16  Bruno Haible  <bruno@clisp.org>
83631
83632         * modules/mbiter: New file.
83633         * MODULES.html.sh (Extended multibyte and wide character utilities):
83634         Add mbiter.
83635
83636 2005-08-16  Bruno Haible  <bruno@clisp.org>
83637
83638         * modules/mbfile: New file.
83639         * MODULES.html.sh (Extended multibyte and wide character utilities):
83640         Add mbfile.
83641
83642 2005-08-16  Bruno Haible  <bruno@clisp.org>
83643
83644         * modules/mbchar: New file.
83645         * MODULES.html.sh (Extended multibyte and wide character utilities):
83646         New section.
83647
83648 2005-08-16  Bruno Haible  <bruno@clisp.org>
83649
83650         * m4/tls.m4: New file, from GNU gettext.
83651
83652 2005-08-16  Bruno Haible  <bruno@clisp.org>
83653
83654         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83655         always.
83656         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83657
83658 2005-08-16  Bruno Haible  <bruno@clisp.org>
83659
83660         * m4/mbiter.m4: New file.
83661
83662 2005-08-16  Bruno Haible  <bruno@clisp.org>
83663
83664         * m4/mbfile.m4: New file.
83665
83666 2005-08-16  Bruno Haible  <bruno@clisp.org>
83667
83668         * m4/mbchar.m4: New file.
83669
83670 2005-08-16  Bruno Haible  <bruno@clisp.org>
83671
83672         * lib/tls.h: New file, from GNU gettext.
83673         * lib/tls.c: New file, from GNU gettext.
83674
83675 2005-08-16  Bruno Haible  <bruno@clisp.org>
83676
83677         * lib/strnlen1.h: New file.
83678         * lib/strnlen1.c: New file.
83679
83680 2005-08-16  Bruno Haible  <bruno@clisp.org>
83681
83682         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83683         (mbi_init): Update.
83684         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83685         NUL byte, not after it.
83686
83687 2005-08-16  Bruno Haible  <bruno@clisp.org>
83688
83689         * lib/strcase.h (strcasecmp): Add note in comments.
83690         * lib/strncasecmp.c: Use code from strcasecmp.c.
83691         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83692         (strcasecmp): Work correctly in multibyte locales.
83693
83694 2005-08-16  Bruno Haible  <bruno@clisp.org>
83695
83696         * lib/mbiter.h: New file.
83697
83698 2005-08-16  Bruno Haible  <bruno@clisp.org>
83699
83700         * lib/mbfile.h: New file.
83701
83702 2005-08-16  Bruno Haible  <bruno@clisp.org>
83703
83704         * lib/mbchar.h: New file.
83705         * lib/mbchar.c: New file.
83706
83707 2005-08-16  Bruno Haible  <bruno@clisp.org>
83708
83709         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83710         the valid ones. Makes the comparison operations transitive:
83711         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83712         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83713
83714 2005-08-15  Simon Josefsson  <jas@extundo.com>
83715
83716         * modules/ssize_t (License): Change to 'unlimited'.
83717
83718         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83719
83720 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83721
83722         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83723         Add comments for each pending glibc patch.
83724
83725 2005-08-15  Bruno Haible  <bruno@clisp.org>
83726
83727         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83728         __cplusplus is defined.
83729
83730 2005-08-14  Jim Meyering  <jim@meyering.net>
83731
83732         Sync from coreutils.
83733
83734         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83735         Use the hash-table-based cycle-detection code not just when
83736         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83737         Reported by James Youngman in
83738         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83739         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83740         FTS_TIGHT_CYCLE_CHECK.
83741         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83742         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83743         once again.
83744         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83745         * lib/fts.c (fd_safer): Remove decl.
83746         Include fcntl--.h rather than unistd-safer.h
83747         (fts_safe_changedir): Don't call fd_safer; no longer needed
83748         now that we include fcntl--.h.
83749
83750 2005-08-12  Simon Josefsson  <jas@extundo.com>
83751
83752         * modules/getndelim2: Use ssize_t module.
83753         * modules/getnline: Likewise.
83754         * modules/safe-read: Likewise.
83755         * modules/xreadlink: Likewise.
83756
83757         * modules/ssize_t: New file.
83758
83759 2005-08-12  Simon Josefsson  <jas@extundo.com>
83760
83761         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83762
83763 2005-08-12  Simon Josefsson  <jas@extundo.com>
83764
83765         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83766         ssize_t.
83767
83768 2005-08-12  Simon Josefsson  <jas@extundo.com>
83769
83770         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83771         readline, getdelim and check_version.
83772         (Support for systems lacking ISO C 99: Sizes of integer types):
83773         Add size_max.
83774
83775 2005-08-12  Bruno Haible  <bruno@clisp.org>
83776
83777         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83778
83779 2005-08-11  Simon Josefsson  <jas@extundo.com>
83780
83781         * modules/readline: New file.
83782
83783         * modules/strnlen (Files): Add strnlen.h.
83784
83785 2005-08-11  Simon Josefsson  <jas@extundo.com>
83786
83787         * m4/readline.m4: New file.
83788
83789 2005-08-11  Simon Josefsson  <jas@extundo.com>
83790
83791         * lib/readline.h, readline.c: New file.
83792
83793 2005-08-11  Simon Josefsson  <jas@extundo.com>
83794
83795         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83796         gl_AVOID.
83797
83798 2005-08-11  Bruno Haible  <bruno@clisp.org>
83799
83800         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83801
83802 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83803
83804         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83805
83806 2005-08-10  Simon Josefsson  <jas@extundo.com>
83807
83808         * tests/test-iconvme.c: New file.
83809
83810 2005-08-10  Simon Josefsson  <jas@extundo.com>
83811
83812         * m4/strnlen.m4: New file.
83813
83814         * m4/strndup.m4: Don't check for strnlen declaration, done in
83815         strnlen.m4.
83816
83817 2005-08-10  Simon Josefsson  <jas@extundo.com>
83818
83819         * lib/strndup.c: Use strnlen.h.
83820
83821         * lib/strnlen.h: New file.
83822
83823 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83824
83825         * README: Typos.
83826
83827 2005-08-02  Simon Josefsson  <jas@extundo.com>
83828
83829         * modules/readline: New file.
83830
83831 2005-08-02  Simon Josefsson  <jas@extundo.com>
83832
83833         * modules/getdelim: New file.
83834
83835         * modules/getline: Rewrite, don't use getndelim2.
83836
83837 2005-08-02  Simon Josefsson  <jas@extundo.com>
83838
83839         * m4/getline.m4: Separate out getdelim stuff into separate module.
83840
83841         * m4/getdelim.m4: New file.
83842
83843 2005-08-02  Simon Josefsson  <jas@extundo.com>
83844
83845         * lib/getline.h, getline.c: Rewrite.
83846
83847         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83848
83849 2005-07-31  Bruno Haible  <bruno@clisp.org>
83850
83851         * lib/lock.h (gl_lock_initializer): New macro.
83852         (gl_lock_define_initialized): Use it.
83853         (gl_rwlock_initializer): New macro.
83854         (gl_rwlock_define_initialized): Use it.
83855         (gl_recursive_lock_initializer): New macro.
83856         (gl_recursive_lock_define_initialized): Use it.
83857
83858 2005-07-30  Karl Berry  <karl@gnu.org>
83859
83860         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83861         Report from Ben Pfaff, regarding getopt.
83862
83863 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83864
83865         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83866         normal way.
83867         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83868         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83869         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83870         (gl_GETOPT): Use the new macros.  Most of the implementation
83871         is moved to the new macros.  This is for programs like Emacs
83872         that don't want all the functionality of gl_GETOPT.
83873
83874 2005-07-26  Bruno Haible  <bruno@clisp.org>
83875
83876         * m4/lock.m4: Update from GNU gettext.
83877
83878 2005-07-26  Bruno Haible  <bruno@clisp.org>
83879
83880         * lib/lock.h: Update from GNU gettext.
83881         * lib/lock.c: Update from GNU gettext.
83882
83883 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83884
83885         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83886         obsolescent AC_TRY_RUN.  Include the default includes files, for
83887         'exit'.
83888
83889 2005-07-24  Bruno Haible  <bruno@clisp.org>
83890
83891         * modules/visibility: New file.
83892         * MODULES.html.sh (Misc): Add visibility.
83893
83894 2005-07-24  Bruno Haible  <bruno@clisp.org>
83895
83896         * m4/visibility.m4: New file.
83897
83898 2005-07-24  Bruno Haible  <bruno@clisp.org>
83899
83900         * doc/visibility.texi: New file.
83901
83902 2005-07-22  Bruno Haible  <bruno@clisp.org>
83903
83904         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83905         $(ALLOCA_H), redundant through BUILT_SOURCES.
83906         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83907         redundant through BUILT_SOURCES.
83908         * modules/byteswap (Makefile.am): Remove explicit dependency on
83909         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83910         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83911         $(FNMATCH_H), redundant through BUILT_SOURCES.
83912         * modules/getopt (Makefile.am): Remove explicit dependency on
83913         $(GETOPT_H), redundant through BUILT_SOURCES.
83914         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83915         redundant through BUILT_SOURCES.
83916         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83917         redundant through BUILT_SOURCES.
83918         * modules/stdbool (Makefile.am): Remove explicit dependency on
83919         $(STDBOOL_H), redundant through BUILT_SOURCES.
83920         * modules/stdint (Makefile.am): Remove explicit dependency on
83921         $(STDINT_H), redundant through BUILT_SOURCES.
83922         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83923         Remove explicit dependency on $(SYSEXITS_H).
83924         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83925
83926 2005-07-18  Simon Josefsson  <jas@extundo.com>
83927
83928         * lib/check-version.c (check_version): Accept identical versions too.
83929
83930 2005-07-18  Bruno Haible  <bruno@clisp.org>
83931
83932         * modules/lock: New file.
83933         * MODULES.html.sh (Multithreading): New section.
83934
83935 2005-07-18  Bruno Haible  <bruno@clisp.org>
83936
83937         * m4/lock.m4: New file, from GNU gettext.
83938
83939 2005-07-18  Bruno Haible  <bruno@clisp.org>
83940
83941         * lib/lock.h: New file, from GNU gettext.
83942         * lib/lock.c: New file, from GNU gettext.
83943
83944 2005-07-18  Bruno Haible  <bruno@clisp.org>
83945
83946         * lib/lock.h (gl_once_t): New type.
83947         (gl_once_define, gl_once): New macros.
83948         * lib/lock.c (fresh_once): New variable.
83949         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83950         functions.
83951
83952 2005-07-16  Simon Josefsson  <jas@extundo.com>
83953
83954         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83955         workaround, suggested by Bruno.
83956
83957 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83958
83959         * modules/xalloc (Depends-on): Add xalloc-die.
83960         * modules/xvasprintf (Depends-on): Add xalloc-die.
83961
83962 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83963
83964         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83965         with a minor change.
83966
83967 2005-07-15  Bruno Haible  <bruno@clisp.org>
83968
83969         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83970         When using lib/poll.c, define poll as rpl_poll.
83971
83972 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83973
83974         * modules/argp (Depends-on): Remove unlocked-io.
83975
83976 2005-07-14  Derek Price  <derek@ximbiot.com>
83977
83978         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83979         for glob symlink bug.
83980
83981 2005-07-14  Bruno Haible  <bruno@clisp.org>
83982
83983         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83984         Instead, test for *_unlocked function declarations directly.
83985
83986 2005-07-11  Simon Josefsson  <jas@extundo.com>
83987
83988         * modules/size_max: New file.
83989
83990         * modules/xsize: Depend on size_max module for size_max.m4.
83991
83992 2005-07-11  Simon Josefsson  <jas@extundo.com>
83993
83994         * lib/size_max.h: New file.
83995
83996 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83997
83998         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83999         copyright symbol and the year.
84000         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
84001         (version_etc_va): Use parameterized copyright notice.
84002         Reword to conform to the current GNU coding standards.
84003
84004 2005-07-11  Karl Berry  <karl@gnu.org>
84005
84006         * doc/gnulib.texi (Quoting): new node.
84007         (Initial import): more info, from Patrice.
84008
84009 2005-07-11  Bruno Haible  <bruno@clisp.org>
84010
84011         * gnulib-tool (func_usage): Document option --avoid.
84012         (Command line options): Handle --avoid.
84013         (func_acceptable): New function.
84014         (func_modules_transitive_closure): Use it.
84015
84016 2005-07-11  Bruno Haible  <bruno@clisp.org>
84017
84018         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
84019         Reported by Jim Meyering.
84020
84021 2005-07-10  Bruno Haible  <bruno@clisp.org>
84022
84023         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
84024         Needed when size_t is smaller than 'unsigned int'.
84025         Reported by Paul Eggert.
84026
84027 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84028
84029         * modules/argp (Depends-on): Add unlocked-io
84030
84031 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84032
84033         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
84034         block of defines.
84035
84036 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
84037
84038         * config/srclist.txt: Comment out regcomp.c, since we have a porting
84039         fix now.
84040
84041 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
84042         and Paul Eggert  <eggert@cs.ucla.edu>
84043
84044         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
84045         in wint_t, not wchar_t.  Remove now-unnecessary cast.
84046
84047 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84048
84049         * modules/regex (Files): Add lib/regex_internal.c,
84050         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
84051         (Depends-on): Add extensions.
84052         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
84053
84054 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84055
84056         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
84057         pathconf.
84058         * m4/same.m4 (gl_SAME): Likewise.
84059         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
84060
84061         * m4/regex.m4: Adjust to new libc regex implementation.
84062         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
84063         all the .c and .h parts of (the new) regex.
84064         Quote the m4 stuff better.
84065         Check for RE_ICASE bug of old gnulib.
84066         Check for REG_STARTEND of recent libc.
84067         Rename local variables from jm_* to gl_*.
84068         Quote operand of "test -f".
84069         Say "recent enough" version of libc, not "version 2".
84070         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
84071         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
84072         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
84073         Remove check for btowc, isascii.
84074         Require AM_LANGINFO_CODESET.
84075
84076 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84077
84078         * lib/regex.c, regex.h: Sync from libc.
84079         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
84080         * lib/regexec.c:
84081         New files, synced from libc, except that regex_internal.h
84082         currently has a small porting fix.
84083
84084 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
84087         regex_internal.c, regexec.c.
84088         Add regex_internal.h too, but as a comment, since the libc version
84089         is currently broken in gnulib mode.
84090
84091 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
84092
84093         Support programs like Emacs that use gnulib but not gettext.
84094         * MODULES.html.sh (Internationalization functions): Add gettext-h.
84095         * modules/gettext-h: New file.
84096         * modules/gettext (Files): Remove lib/gettext.h.
84097         (Depends-on): Add gettext-h.
84098         (Makefile.am): Remove lib_SOURCES.
84099         * modules/argmatch, modules/c-stack, modules/closeout:
84100         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
84101         * modules/execute, modules/file-type, modules/getaddrinfo:
84102         * modules/getopt, modules/human, modules/javacomp:
84103         * modules/javaexec, modules/mkdir-p, modules/obstack:
84104         * modules/openat, modules/pagealign_alloc, modules/pipe:
84105         * modules/quotearg, modules/regex, modules/rpmatch:
84106         * modules/unicodeio, modules/userspec, modules/version-etc:
84107         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
84108         * modules/xsetenv:
84109         Depend on gettext-h, not gettext.
84110
84111 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
84112
84113         * gnulib-tool (func_import): Add support for 'public domain' license.
84114         * modules/alloca, modules/atexit, modules/memmove:
84115         Now public domain, not GPL.
84116         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
84117         * modules/realloc, modules/strerror, modules/strtod:
84118         Now LGPL, not GPL.
84119
84120 2005-07-05  Bruno Haible  <bruno@clisp.org>
84121
84122         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
84123         autoconf CVS. Needed for mingw.
84124
84125 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84126
84127         Remove the dependency of the strftime module on the tzset module.
84128         * modules/strftime (Depends-on): Remove dependency on tzset.
84129
84130 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84131
84132         Remove the dependency of the strftime module on the tzset module.
84133         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84134         gl_FUNC_TZSET_CLOBBER.
84135
84136 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84137
84138         Remove the dependency of the strftime module on the tzset module.
84139         * lib/strftime.c (my_strftime)
84140         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84141         Copy the input structure, to work around some of the bug with
84142         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84143         Solaris releases, you should also use the tzset module, but we won't
84144         require it as a dependency any more since we don't want LGPLed code
84145         to depend on GPLed code.
84146
84147 2005-07-02  Jim Meyering  <jim@meyering.net>
84148
84149         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84150         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84151         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84152         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84153
84154 2005-07-02  Jim Meyering  <jim@meyering.net>
84155
84156         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84157
84158 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84159
84160         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84161         declares only 'struct timespec;' (!).
84162
84163 2005-07-01  Jim Meyering  <jim@meyering.net>
84164
84165         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84166         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84167         * lib/save-cwd.c, tempname.c:
84168         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84169         and don't include <sys/file.h>).
84170
84171 2005-06-29  Jim Meyering  <jim@meyering.net>
84172
84173         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84174         type name.  Use the variable name instead.
84175         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84176         Likewise.
84177
84178 2005-06-28  Simon Josefsson  <jas@extundo.com>
84179
84180         * modules/check-version (Files): Add check-version.m4.
84181
84182 2005-06-28  Simon Josefsson  <jas@extundo.com>
84183
84184         * m4/check-version.m4: New file, suggested by Jim Meyering
84185         <jim@meyering.net>.
84186
84187 2005-06-28  Simon Josefsson  <jas@extundo.com>
84188
84189         * lib/check-version.h, lib/check-version.c: New files.
84190
84191 2005-06-28  Simon Josefsson  <jas@extundo.com>
84192
84193         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84194         collision with global variable.  Better indentation.  Don't
84195         increment buffer pointer beyond buffer end.  Based on comments
84196         from Paul Eggert <eggert@cs.ucla.edu>.
84197
84198         * lib/base64.h: Indent.
84199
84200 2005-06-28  Simon Josefsson  <jas@extundo.com>
84201
84202         * doc/gnulib.texi (Library version handling): New section.
84203
84204 2005-06-28  Jim Meyering  <jim@meyering.net>
84205
84206         * check-module (find_included_lib_files): Hard-code another
84207         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84208         but modules/fts-lgpl (correctly) does not list those files.
84209
84210         * modules/canonicalize (Files): Add lib/pathmax.h.
84211
84212 2005-06-25  Simon Josefsson  <jas@extundo.com>
84213
84214         * modules/check-version: New file.
84215
84216 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84217
84218         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84219         initializer of struct addrinfo, as an indication that we don't
84220         care how many members the structure has.
84221
84222 2005-06-24  Derek Price  <derek@ximbiot.com>
84223         and Bruno Haible  <bruno@clisp.org>
84224
84225         Remove stat module & update lstat.
84226         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84227         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84228         * m4/stat.m4: Remove this file.
84229
84230 2005-06-24  Derek Price  <derek@ximbiot.com>
84231         and Bruno Haible  <bruno@clisp.org>
84232
84233         Remove stat module & update lstat.
84234         * lib/stat.c: Remove this file...
84235         (slash_aware_lstat): ...moving this content and its support...
84236         * lib/lstat.c (rpl_lstat): ...into here.
84237         * lib/lstat.h: New file.
84238
84239 2005-06-24  Derek Price  <derek@ximbiot.com>
84240         and Bruno Haible  <bruno@clisp.org>
84241
84242         Remove stat module & update lstat.
84243         * config/srclist.txt (libc sources): Remove stat.
84244
84245 2005-06-24  Derek Price  <derek@ximbiot.com>
84246         and Bruno Haible  <bruno@clisp.org>
84247
84248         Remove stat module & update lstat.
84249         * MODULES.html.sh (stat): Remove.
84250         * MODULES.html: Regenerated.
84251         * modules/lstat (Description): Correct function name.
84252         (Files): Add "lstat.h".
84253         (Depends-on): Remove stat, add xalloc, stat-macros.
84254         * modules/stat: Remove this file.
84255         (Include): Add "lstat.h", remove <sys/stat.h>.
84256
84257 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84258
84259         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84260         (ranged_convert): Don't save conversion in a temporary struct.
84261         This causes a warning with GCC 4.0.0, and anyway in the typical
84262         case it's not worth the extra 100 bytes or so of code.
84263         (ranged_convert, __mktime_internal): When calling a function via a
84264         pointer P, use P () rather than (*P) (), as we now assume C89 or
84265         better.
84266
84267 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84268
84269         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84270         "who -r" failed to give output.  Problem reported by Tim Waugh.
84271
84272         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84273         (xcalloc): Use it to avoid needless tests.
84274         Problem reported by Jim Meyering.
84275
84276 2005-06-20  Derek Price  <derek@ximbiot.com>
84277
84278         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84279         unnecessary for Autoconfs > 2.59c.
84280
84281 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84282
84283         * lib/argp.h (__option_is_short): Check upper limit of
84284         __key. Isprint() requires its argument to have the value
84285         of an unsigned char or EOF.
84286
84287 2005-06-16  Jim Meyering  <jim@meyering.net>
84288
84289         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84290         when either N or S is zero.
84291
84292 2005-06-16  Derek Price  <derek@ximbiot.com>
84293
84294         * m4/bison.m4: Declare YACC & YFLAGS precious.
84295
84296 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84297
84298         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84299         multibyte string or pattern, fall back on unibyte matching.
84300         Problem reported by James Youngman.
84301
84302 2005-06-08  Bruno Haible  <bruno@clisp.org>
84303
84304         * modules/csharpcomp: New file.
84305         * MODULES.html.sh (C#): Add csharpcomp.
84306
84307 2005-06-08  Bruno Haible  <bruno@clisp.org>
84308
84309         * m4/csharpcomp.m4: New file, from GNU gettext.
84310
84311 2005-06-08  Bruno Haible  <bruno@clisp.org>
84312
84313         * lib/csharpcomp.h: New file, from GNU gettext.
84314         * lib/csharpcomp.c: New file, from GNU gettext.
84315         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84316
84317 2005-06-08  Bruno Haible  <bruno@clisp.org>
84318
84319         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84320         warning on mingw.
84321
84322 2005-06-07  Derek Price  <derek@ximbiot.com>
84323
84324         Sync from CVS.
84325         * lib/glob_.h: Indent nested #ifdef.
84326
84327 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84328
84329         Sync from coreutils.
84330         Use "file name" when talking about file names, instead of "filename"
84331         or "path", as per the GNU coding standards.
84332         * lib/mkdir-p.c: Renamed from makepath.c.
84333         (make_dir_parents): Renamed from make_path.  All callers changed.
84334         * lib/mkdir-p.h: Likewise.  All includers changed.
84335         * lib/filenamecat.c: Renamed from path-concat.c.
84336         (file_name_concat): Renamed from path_concat.  All callers changed.
84337         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84338         * lib/filenamecat.h: Likewise.  All includers changed.
84339         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84340         in comments or local variable names.
84341         * lib/basename.c: Likewise.
84342         * lib/canonicalize.c, canonicalize.h: Likewise.
84343         * lib/dirname.c, dirname.h: Likewise.
84344         * lib/euidaccess.c: Likewise.
84345         * lib/exclude.c: Likewise
84346         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84347         * lib/fsusage.c, fsuage.h: Likewise.
84348         * lib/fts.c, fts_.h: Likewise.
84349         * lib/getcwd.c: Likewise.
84350         * lib/getloadavg.c: Likewise.
84351         * lib/mkstemp.c: Likewise.
84352         * lib/mountlist.c, mountlist.h: Likewise.
84353         * lib/openat.c, openat.h: Likewise.
84354         * lib/readlink-stub.c: Likewise.
84355         * lib/readutmp.c, readutmp.h: Likewise.
84356         * lib/rename.c: Likewise.
84357         * lib/rmdir.c: Likewise.
84358         * lib/same.c: Likewise.
84359         * lib/savedir.c: Likewise.
84360         * lib/stripslash.c: Likewise.
84361         * lib/tempname.c: Likewise.
84362         * lib/xreadlink.c: Likewise.
84363         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84364         All uses changed.
84365         * lib/exclude.h: Likewise.
84366
84367         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84368         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84369         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84370         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84371         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84372         files have been getting away with it for years (MORE/BSD 4.3
84373         is extinct now).
84374         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84375         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84376
84377         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84378         Define to 256, not 255, as per modern POSIX.
84379
84380 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84381
84382         Sync from coreutils.
84383         Use "file name" when talking about file names, instead of "filename"
84384         or "path", as per the GNU coding standards.
84385         * MODULES.html.sh: mkdir-p renamed from makepath.
84386         filenamecat renamed from path-concat.
84387         * modules/filenamecat: Renamed from modules/path-concat.
84388         (Files): filenamecat.h and filenamecat.c renamed from
84389         path-concat.h and path-concat.c.
84390         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84391         (Include): filenamecat.h, not path-concat.h.
84392         * modules/mkdir-p: Renamed from modules/makepath.
84393         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84394         makepath.c.
84395         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84396         (Include): mkdir-p.h, not makepath.h.
84397
84398 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84399
84400         Sync from coreutils.
84401         * m4/mkdir-p.m4: Renamed from makepath.m4.
84402         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84403         Rename files from makepath.c to mkdir-p.c, and from
84404         makepath.h to mkdir-p.h.
84405         * m4/filenamecat.m4: Renamed from path-concat.m4.
84406         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84407         Rename files from path-concat.c to filenamecat.c,
84408         and from path-concat.h to filenamecat.h.
84409         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84410         "file name" in local variables or comments.
84411         * m4/rename.m4: Likewise.
84412
84413 2005-06-01  Bruno Haible  <bruno@clisp.org>
84414
84415         * modules/csharpexec: New file.
84416         * MODULES.html.sh (C#): New section.
84417
84418 2005-06-01  Bruno Haible  <bruno@clisp.org>
84419
84420         * m4/csharp.m4: New file, from GNU gettext.
84421         * m4/csharpexec.m4: New file, from GNU gettext.
84422
84423 2005-06-01  Bruno Haible  <bruno@clisp.org>
84424
84425         * lib/csharpexec.h: New file, from GNU gettext.
84426         * lib/csharpexec.c: New file, from GNU gettext.
84427         * lib/csharpexec.sh.in: New file, from GNU gettext.
84428
84429 2005-05-31  Derek Price  <derek@ximbiot.com>
84430             Paul Eggert  <eggert@cs.ucla.edu>
84431
84432         Sync from cvs.
84433         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84434
84435 2005-05-31  Derek Price  <derek@ximbiot.com>
84436             Paul Eggert  <eggert@cs.ucla.edu>
84437
84438         Sync from cvs.
84439         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84440
84441 2005-05-29  Derek Price  <derek@ximbiot.com>
84442
84443         * config/srclist.txt (glob_.h, glob.c): Add these files.
84444
84445 2005-05-29  Derek Price  <derek@ximbiot.com>
84446
84447         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
84448         * modules/glob: New file.
84449         * modules/getlogin_r: Add link to POSIX spec in description.
84450
84451 2005-05-29  Derek Price  <derek@ximbiot.com>
84452             Paul Eggert  <eggert@cs.ucla.edu>
84453
84454         * m4/glob.m4: New file.
84455
84456 2005-05-29  Derek Price  <derek@ximbiot.com>
84457             Paul Eggert  <eggert@cs.ucla.edu>
84458
84459         * lib/glob_.h, lib/glob.c: New files.
84460
84461 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84462
84463         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84464         * modules/fts-lgpl (Depends-on): Remove gettext.
84465
84466 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84467
84468         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84469         and don't require gt_INTTYPES_PRI.
84470
84471 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84472
84473         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84474
84475         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84476         the configuration hassle isn't worth it.
84477         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84478         (LONGEST_MODIFIER, PRIuMAX): Remove.
84479
84480 2005-05-27  Bruno Haible  <bruno@clisp.org>
84481
84482         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84483
84484 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84485
84486         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84487         _POSIX_PTHREAD_SEMANTICS for Solaris.
84488
84489 2005-05-25  Derek Price  <derek@ximbiot.com>
84490
84491         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84492
84493 2005-05-25  Derek Price  <derek@ximbiot.com>
84494             Paul Eggert  <eggert@cs.ucla.edu>
84495
84496         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84497         * lib/getlogin_r.c, getlogin_r.h: New files.
84498
84499 2005-05-25  Bruno Haible  <bruno@clisp.org>
84500             Derek Price  <derek@ximbiot.com>
84501
84502         * lib/getlogin_r.h: Simplify API documentation.
84503
84504 2005-05-23  Derek Price  <derek@ximbiot.com>
84505
84506         * modules/minmax (Files): Add m4/minmax.m4.
84507         (configure.ac): Add gl_MINMAX.
84508
84509 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84510
84511         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84512         so that unistd-safer.h (GPL'ed code) need not be included.
84513
84514 2005-05-22  Bruno Haible  <bruno@clisp.org>
84515
84516         * m4/minmax.m4: New file.
84517         Based on a patch by Derek Price <derek@ximbiot.com>.
84518
84519 2005-05-22  Bruno Haible  <bruno@clisp.org>
84520
84521         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84522         (INT64_MIN): Fix definition.
84523         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84524
84525         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84526         NEED_SIGNED_INT_TYPES.
84527
84528         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84529         HAVE_SYSTEM_INTTYPES.
84530
84531 2005-05-22  Bruno Haible  <bruno@clisp.org>
84532
84533         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84534         Also include <sys/param.h> if it defines MIN, MAX.
84535         Based on a patch by Derek Price <derek@ximbiot.com>.
84536
84537 2005-05-21  Jim Meyering  <jim@meyering.net>
84538
84539         * modules/fts (Files): Add m4/inttypes-pri.m4.
84540         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84541
84542 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84543
84544         New fts module.
84545         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84546         (setup_dir, free_dir): New functions.
84547         (enter_dir, leave_dir): Define trivial
84548         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84549         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84550         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84551         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84552         Move to fts-cycle.c.
84553         (fts_open): Use setup_dir.
84554         (fts_close): Use free_dir.
84555         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84556         This adds a label and some gotos, but the alternatives were messier.
84557         Check for memory allocation failure when entering a dir.
84558         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84559         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84560         (FTS): New member fts_cycle, that is a union that contains the
84561         old active_dir_ht and cycle_state.  All uses changed to mention
84562         fts_cycle.ht and fts_cycle.state.
84563         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84564         fts.c, with the following changes:
84565         (setup_dir, free_dir): New functions.
84566         (enter_dir): Now returns bool.  Return true if successful, false
84567         if memory exhausted.  All callers changed.
84568         Do not bother partly cleaning up on
84569         memory allocation failure; that is free_dir's job.
84570         However, free ad if hash_insert fails, to avoid memory leak.
84571         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84572         fts->fts_options to see which union member to use.
84573
84574 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84575
84576         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84577         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84578
84579 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84580
84581         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84582
84583 2005-05-20  Jim Meyering  <jim@meyering.net>
84584
84585         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84586         Now a macro, to pacify GCC.
84587
84588 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84589
84590         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84591         of -1.
84592
84593 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84594
84595         * lib/chown.c (rpl_chown): Return -1 on failure.
84596
84597 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84598
84599         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84600         Don't check for stddef.h.
84601         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84602         don't use its results.
84603         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84604         since we include them unconditionally.  Don't require
84605         AM_STDBOOL_H, since stdbool is a prerequisite.
84606         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84607         since we assume C89 or better.
84608         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84609         as we don't use their results.
84610         Don't check for fchdir, memmove, memset, strrchr, as we use
84611         them unconditionally.
84612         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84613         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84614
84615 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84616
84617         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84618         Include <stddef.h> unconditionally, since we assume C89 now.
84619         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84620         * lib/fts.c: Include fts_.h first, to check interface.
84621         Do not include intprops.h; no longer needed.
84622         Include cycle-check.h and hash.h, since fts_.h no longer does.
84623         Remove unnecessary casts of closedir to void.
84624         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84625         decide whether to decrement nlinks.
84626         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84627         (FTS): Use struct hash_table * instead of Hash_table, so that
84628         we no longer need to include hash.h here.
84629
84630 2005-05-18  Jim Meyering  <jim@meyering.net>
84631
84632         * modules/dirfd (License): Change to LGPL.  Most of the code
84633         is already in the public domain.
84634
84635 2005-05-18  Jim Meyering  <jim@meyering.net>
84636
84637         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84638         Reported by Yoann Vandoorselaere.
84639
84640 2005-05-17  Jim Meyering  <jim@meyering.net>
84641
84642         * m4/fts.m4: New file, from coreutils.
84643
84644 2005-05-17  Jim Meyering  <jim@meyering.net>
84645
84646         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84647
84648 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84649
84650         Sync from coreutils.
84651         * m4/unlinkdir.m4: New file.
84652
84653 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84654
84655         Sync from coreutils.
84656         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84657         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84658         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84659         White space changes only.
84660         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84661         special.
84662         * lib/yesno.c: Include getline.h, not ctype.h.
84663         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84664         Use getline to remove arbitrary restriction on response length.
84665
84666 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84667
84668         * config/srclist-update: Spell out "Street" in FSF postal
84669         mail address; this is the style the FSF seems to prefer.
84670
84671         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84672         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84673         this updates FSF postal mail address.
84674
84675         Sync from coreutils.
84676         * modules/unlinkdir: New file.
84677         * modules/yesno (Depends-on): Add getline.
84678         * MODULES.html.sh (File system functions): Add unlinkdir.
84679
84680 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84681
84682         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84683         lib/strsep.h:
84684         Change the initial comment to refer to GPL, not LGPL.
84685         gnulib-tool will change it to LGPL as needed.
84686
84687         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84688         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84689         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84690         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84691         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84692         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84693         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84694         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84695         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84696         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84697         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84698         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84699         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84700         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84701         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84702         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84703         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84704         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84705         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84706         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84707         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84708         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84709         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84710         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84711         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84712         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84713         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84714         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84715         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84716         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84717         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84718         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84719         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84720         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84721         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84722         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84723         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84724         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84725         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84726         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84727         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84728         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84729         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84730         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84731         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84732         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84733         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84734         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84735         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84736         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84737         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84738         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84739         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84740         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84741         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84742         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84743         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84744         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84745         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84746         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84747         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84748         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84749         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84750         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84751         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84752         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84753         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84754         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84755         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84756         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84757         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84758         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84759         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84760         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84761         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84762         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84763         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84764         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84765         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84766         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84767         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84768         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84769         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84770         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84771         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84772         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84773         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84774         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84775         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84776         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84777         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84778         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84779         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84780         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84781         lib/yesno.c, lib/yesno.h:
84782         Update FSF postal mail address.
84783
84784 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84785
84786         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84787         tests/test-memmem.c, tests/test-stpncpy.c:
84788         Update FSF postal mail address.
84789
84790 2005-05-13  Bruno Haible  <bruno@clisp.org>
84791
84792         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84793         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84794         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84795         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84796         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84797         Add support for 64-bit integers in the MSVC compiler.
84798
84799 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84800
84801         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84802
84803 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84804
84805         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84806
84807 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84808
84809         * doc/getdate.texi (General date syntax): Don't say that date
84810         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84811         Problem reported by Nic Ferrier.
84812
84813 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84814
84815         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84816         specified in ai_socktype. Fix invalid ai_protocol
84817         check. ai_protocol is usually set to 0 or depending on
84818         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84819         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84820         ai_socktype / ai_protocol in the returned addrinfo structure.
84821
84822 2005-05-10  Simon Josefsson  <jas@extundo.com>
84823
84824         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84825         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84826
84827 2005-05-10  Karl Berry  <karl@gnu.org>
84828
84829         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84830         (from http://www.gnu.org/licenses).
84831         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84832         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84833         fdl.texi suffices.
84834
84835 2005-05-10  Karl Berry  <karl@gnu.org>
84836
84837         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84838         (COPYING.DOC): remove.
84839
84840         * config/srclist-update: new FSF address.
84841
84842 2005-05-10  Derek Price  <derek@ximbiot.com>
84843
84844         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84845         possible.
84846
84847 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84848             Bruno Haible  <bruno@clisp.org>
84849
84850         * modules/inet_ntop: New file.
84851         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84852         inet_ntop.
84853
84854 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84855             Bruno Haible  <bruno@clisp.org>
84856
84857         * m4/inet_ntop.m4: New file.
84858
84859 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84860             Bruno Haible  <bruno@clisp.org>
84861
84862         * lib/inet_ntop.h: New file.
84863         * lib/inet_ntop.c: New file, from glibc with modifications.
84864
84865 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84866
84867         * modules/time_r (License): Change to LGPL.
84868         * modules/extensions (License): Change to LGPL.  Actually,
84869         the license is more permissive than that, but currently gnulib-tool
84870         doesn't know how to handle more-permissive licenses.
84871
84872         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84873         Problem reported by Dave Love.
84874
84875 2005-05-08  Jim Meyering  <jim@meyering.net>
84876
84877         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84878         blank.
84879
84880 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84881
84882         * modules/argmatch (Depends-on): Add stdbool.
84883         * modules/backupfile (Depends-on): Likewise.
84884         * modules/chdir-long (Depends-on): Likewise.
84885         * modules/closeout (Depends-on): Likewise.
84886         * modules/cycle-check (Depends-on): Likewise.
84887         * modules/dirname (Depends-on): Likewise.
84888         * modules/fnmatch (Depends-on): Likewise.
84889         * modules/fsusage (Depends-on): Likewise.
84890         * modules/fwriteerror (Depends-on): Likewise.
84891         * modules/getcwd (Depends-on): Likewise.
84892         * modules/getloadavg (Depends-on): Likewise.
84893         * modules/hard-locale (Depends-on): Likewise.
84894         * modules/makepath (Depends-on): Likewise.
84895         * modules/mountlist (Depends-on): Likewise.
84896         * modules/nanosleep (Depends-on): Likewise.
84897         * modules/posixtm (Depends-on): Likewise.
84898         * modules/quotearg (Depends-on): Likewise.
84899         * modules/readtokens (Depends-on): Likewise.
84900         * modules/readtokens0 (Depends-on): Likewise.
84901         * modules/readutmp (Depends-on): Likewise.
84902         * modules/save-cwd (Depends-on): Likewise.
84903         * modules/strftime (Depends-on): Likewise.
84904         * modules/userspec (Depends-on): Likewise.
84905         * modules/utimecmp (Depends-on): Likewise.
84906         * modules/xgetcwd (Depends-on): Likewise.
84907         * modules/xnanosleep (Depends-on): Likewise.
84908         * modules/xstrtod (Depends-on): Likewise.
84909         * modules/yesno (Depends-on): Likewise.
84910
84911 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84912
84913         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84914         needless checks.
84915
84916 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84917
84918         Merge from coreutils.  Among other things,
84919         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84920         * lib/fd-safer.c: New file.
84921         * lib/fcntl-safer.h, open-safer.c: Remove.
84922         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84923         * lib/dup-safer.c: Include unistd-safer.h first.
84924         Don't include errno.h.
84925         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84926         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84927         * lib/file-type.c: Rely on file-type.h change.
84928         * lib/getloadavg.c: Include unistd-safer.h.
84929         (getloadavg): Use safer open.
84930         * lib/getusershell.c: Include "stdio-safer.h".
84931         (getusershell): Use safer fopen.
84932         * lib/long-options.c (long_options): Use NULL rather than 0.
84933         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84934         'free'.
84935         * lib/modechange.c: Likewise.
84936         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84937         (MODE_DONE): New constant.
84938         (struct mode_change): Remove 'next' member.
84939         (make_node_op_equals): New function; like the old one of the
84940         same name, except it allocates an array.
84941         (mode_compile, mode_create_from_ref): Use it.
84942         (mode_compile): Allocate result as an array, not a linked list.
84943         Parse octal string ourself, so that we catch mistakes like "+0".
84944         (mode_adjust): Arg is an array, not a linked list.
84945         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84946         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84947         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84948         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84949         Remove.  This is now stat-macros.h's job.
84950         (talloc): Remove.  All callers replaced by xalloc, so that
84951         our invokers don't have to worry about reporting memory failures.
84952         (make_node_op_equals): Remove.
84953         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84954         New constants.
84955         (struct mode_change): Moved here from modechange.h.
84956         (mode_append_entry): Remove.
84957         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84958         apps to have incorrect behavior.  Use simpler algorithm for head
84959         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84960         Detect more invalid usages rather than having somewhat-random behavior.
84961         Don't insert an "a=" action, as that leads to incorrect behavior.
84962         (mode_compile, mode_create_from_ref): Return NULL on error instead
84963         of an enum, since now there's only one way to have an error.  All
84964         callers changed.
84965         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84966         at the correct time.  Simplify calculation of "+u" and its ilk.
84967         Don't mishandle "+X".
84968         (mode_free): Remove "register" and localize decls.
84969         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84970         (struct mode_change): Move to modechange.c; callers don't
84971         need to see this stuff.
84972         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84973         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84974         (mode_change, mode_adjust): Reflect the new signatures noted above.
84975         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84976         that might redefine system include files.
84977         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84978         (my_usleep): Use NULL rather than (void *) 0.
84979         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84980         Use siginterrupt to specify that system calls should be interrupted.
84981         (rpl_nanosleep): Move initialization of suspended closer to call of
84982         my_usleep.
84983         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84984         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84985         (desirable_utmp_entry): New function.
84986         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84987         using x2nrealloc, to simplify logic.
84988         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84989         size calculation.  Do not assume utmp file is a regular file.
84990         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84991         (READ_UTMP_CHECK_PIDS): New constant.
84992         * lib/save-cwd.c: Include unistd-safer.h.
84993         (save_cwd): Use fd_safer.
84994         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84995         [!_LIBC] Include "stat-macros.h" instead.
84996         * lib/unistd-safer.h (fd_safer): New decl.
84997
84998 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84999
85000         * modules/getloadavg (Depends-on): Add unistd-safer.
85001         * modules/getusershell (Depends-on): Add stdio-safer.
85002         * modules/lstat (Depends-on): Remove xalloc.
85003         * modules/mkstemp (Depends-on): Add stat-macros.
85004         * modules/modechange (Depends-on): Remove xstrtol.
85005         Add stat-macros, xalloc.
85006         * modules/save-cwd (Depends-on): Add unistd-safer.
85007         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
85008         * modules/unistd-safer (Files): Add lib/fd-safer.c
85009         (Makefile.am): Remove lib_SOURCES.
85010
85011         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
85012         Remove fcntl-safer; unistd-safer supersedes it.
85013
85014 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85015
85016         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
85017         AC_HEADER_STAT.
85018         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
85019         (gl_PREREQ_CHOWN): Remove.
85020         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
85021         it.  Don't require AC_HEADER_STAT.
85022         (gl_PREREQ_LSTAT): Remove.
85023         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
85024         Don't require AC_HEADER_STAT.
85025         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
85026         (gl_PREREQ_RMDIR): Remove.
85027         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
85028         mention stat-macros.h or AC_HEADER_STAT, since we'll make
85029         the stat-macros module a prerequisite.
85030         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
85031         * m4/filemode.m4 (gl_FILEMODE): Likewise.
85032         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
85033         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
85034         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
85035         variable names.
85036         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
85037         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
85038         variable prefixes.
85039         * m4/fcntl-safer.m4: Remove.
85040         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
85041         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
85042         Invoke gl_PREREQ_FD_SAFER.
85043         (gl_PREREQ_FD_SAFER): New macro.
85044         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
85045         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
85046         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
85047         Remove duplicate call to AC_LIBOBJ(readutmp).
85048         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
85049
85050         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
85051         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
85052
85053 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85054
85055         * MODULES.html.sh (Misc): Add byteswap.
85056
85057 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85058
85059         * modules/getcwd (Depends-on): Add extensions.
85060         * modules/openat (Depends-on): Likewise.
85061
85062 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85063
85064         * modules/byteswap: New file.
85065
85066 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85067
85068         * m4/byteswap.m4: New file.
85069
85070 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85071
85072         * lib/byteswap_.h: New file.
85073
85074 2005-04-25  Karl Berry  <karl@gnu.org>
85075
85076         * m4/gettext.m4: Update from GNU gettext 0.14.4.
85077
85078 2005-04-25  Albert Chin  <china@thewrittenword.com>
85079
85080         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
85081         Toolkit C bug.
85082
85083 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
85084
85085         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
85086         (func_ln_if_changed): Remove forcibly for no error message
85087         in case file does not exist.
85088
85089 2005-04-19  Simon Josefsson  <jas@extundo.com>
85090
85091         * gnulib-tool (Options): Make --symlink mean --symbolic.
85092
85093 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
85094
85095         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
85096
85097 2005-04-16  Simon Josefsson  <jas@extundo.com>
85098
85099         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
85100
85101 2005-04-15  Simon Josefsson  <jas@extundo.com>
85102
85103         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
85104
85105 2005-04-15  Simon Josefsson  <jas@extundo.com>
85106
85107         * gnulib-tool: Rename --symlink to --symbolic.
85108
85109 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
85110
85111         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
85112         symbolic links to files instead of copying/moving.  Add --aux-dir,
85113         specifying directory relative --dir where auxiliary build tools
85114         are placed.
85115
85116 2005-04-14  Bruno Haible  <bruno@clisp.org>
85117
85118         * modules/allocsa (License): Change to LGPL.
85119         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
85120
85121 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
85122
85123         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
85124         that "UTC +1 second" continues to work.  Problem reported
85125         by Dmitry V. Levin.
85126         (relunit_snumber): New rule.
85127         (relunit): Use it.
85128
85129 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85130
85131         * lib/getdate.y (universal_time_zone_table): New constant.
85132         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85133         universal_time_zone_table.
85134         (lookup_zone): Prefer universal_time_zone_table to
85135         local_time_zone_table, so that "GMT" time stamps are allowed in
85136         London during the summer.  Problem reported by Ian Abbott.
85137
85138 2005-04-12  Jim Meyering  <jim@meyering.net>
85139
85140         * lib/human.c (humblock): Set *options even when returning due to
85141         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85142         warning from gcc-4.
85143
85144 2005-04-09  Jim Meyering  <jim@meyering.net>
85145
85146         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85147         -Wuninitialized: initialize tm0.tm_year.
85148
85149 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85150
85151         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85152         count, since there's no maximum.  All uses changed.
85153         Add member dsts_seen.
85154         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85155         not being INT_MAX.
85156         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85157         Use pc_rels_seen to decide whether a date is absolute.
85158
85159         * lib/getdate.y (number): Don't overwrite year.
85160         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85161         check.
85162
85163 2005-04-02  Simon Josefsson  <jas@extundo.com>
85164
85165         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85166         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85167
85168 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85169
85170         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85171         where no absolute path name can be longer than PATH_MAX.
85172
85173 2005-03-27  Jim Meyering  <jim@meyering.net>
85174
85175         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85176
85177 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85178
85179         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85180         "one's complement" -> "ones' complement" in comment, as per Knuth.
85181         "value of type" -> "type or expression" in comment.
85182         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85183
85184 2005-03-26  Jim Meyering  <jim@meyering.net>
85185
85186         Comment nits.
85187         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85188         Correct typos: s/or/of/.
85189
85190 2005-03-26  Jim Meyering  <jim@meyering.net>
85191
85192         * modules/check-include-files: Move to ../ and rename to...
85193         * check-module: ...this.
85194
85195 2005-03-25  Jim Meyering  <jim@meyering.net>
85196
85197         * modules/xvasprintf (Files): Add xalloc.h.
85198
85199 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85200
85201         * modules/gettext (Files): config/config.rpath ->
85202         build-aux/config.rpath
85203         * modules/iconv (Files): Likewise.
85204         Problem reported by Oskar Liljeblad.
85205
85206 2005-03-23  Jim Meyering  <jim@meyering.net>
85207
85208         * modules/check-include-files: New script to check for
85209         missing dependencies, multiple includes, etc.
85210
85211         * modules/c-strtold (Depends-on): Add xalloc.
85212         * modules/c-strtod (Depends-on): Add xalloc.
85213         * modules/hash (Depends-on): Add xalloc.
85214         (Files): Remove lib/xalloc.h.
85215
85216         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85217         * modules/userspec (Files): Add lib/inttostr.h.
85218
85219 2005-03-23  Jim Meyering  <jim@meyering.net>
85220
85221         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85222
85223 2005-03-22  Jim Meyering  <jim@meyering.net>
85224
85225         * modules/stat-macros: New module.
85226         * modules/canonicalize, modules/euidaccess, modules/file-type,
85227         * modules/filemode, modules/lchown, modules/makepath,
85228         * modules/rmdir, modules/stat: Depend on new stat-macros module
85229         rather than listing lib/stat-macros.h manually.
85230         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85231
85232 2005-03-22  Jim Meyering  <jim@meyering.net>
85233
85234         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85235
85236 2005-03-22  Bruno Haible  <bruno@clisp.org>
85237
85238         * config/srclist.txt: Replace target directory 'config' with
85239         'build-aux'.
85240         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85241         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85242         ../build-aux/.
85243
85244 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85245
85246         * modules/chdir-long (Depends-on): Add mempcpy.
85247
85248         * modules/acl, modules/backupfile, modules/c-strtod,
85249         modules/c-strtold, modules/canon-host, modules/canonicalize,
85250         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85251         modules/exclude, modules/exitfail, modules/file-type,
85252         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85253         modules/getdate, modules/getline, modules/getpagesize,
85254         modules/getpass, modules/getugroups, modules/group-member,
85255         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85256         modules/inttostr, modules/long-options, modules/makepath,
85257         modules/md5, modules/memcasecmp, modules/memcoll,
85258         modules/modechange, modules/mountlist, modules/path-concat,
85259         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85260         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85261         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85262         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85263         modules/strftime, modules/strndup, modules/strverscmp,
85264         modules/timespec, modules/unlocked-io, modules/userspec,
85265         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85266         modules/yesno:
85267         Remove lib_SOURCES line from Makefile.am section, as this is now
85268         done automatically by the corresponding Autoconf macro.
85269
85270 2005-03-21  Jim Meyering  <jim@meyering.net>
85271
85272         Changes imported from coreutils.
85273
85274         * lib/cycle-check.c: Don't include xalloc.h.
85275
85276         * lib/path-concat.c: Don't include assert.h.
85277         (path_concat): Remove assertion that would have triggered
85278         for ABASE starting with more than one slash.
85279         Reported by Andreas Schwab.
85280
85281         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85282         properly when ABASE is an absolute file name.
85283         Correct the description of this function.
85284         Include <assert.h>.
85285         Add an assertion and a test driver.
85286         This fixes a bug introduced on 2004-07-02.
85287         Andreas Schwab reported the resulting failure of cp --parents:
85288         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85289
85290 2005-03-21  Jim Meyering  <jim@meyering.net>
85291
85292         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85293         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85294
85295 2005-03-21  Jim Meyering  <jim@meyering.net>
85296         and  Paul Eggert  <eggert@cs.ucla.edu>
85297
85298         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85299         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85300         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85301         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85302         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85303         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85304         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85305         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85306         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85307         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85308         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85309         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85310         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85311         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85312         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85313         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85314         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85315         for these modules.
85316
85317 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85318
85319         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85320         (which shouldn't happen), generate nothing instead of returning 0
85321         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85322
85323 2005-03-16  Bruno Haible  <bruno@clisp.org>
85324
85325         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85326         HAVE_LONGLONG_64BIT.
85327
85328 2005-03-16  Bruno Haible  <bruno@clisp.org>
85329
85330         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85331         HAVE_LONGLONG_64BIT.
85332
85333 2005-03-16  Bruno Haible  <bruno@clisp.org>
85334
85335         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85336         HAVE_LONGLONG_64BIT.
85337
85338 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85339
85340         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85341         reliably distinguish strftime failure from empty output on POSIX
85342         hosts.
85343
85344 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85345
85346         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85347         (iconv_string): Don't guess a size-zero buffer, as that might cause
85348         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85349         result would be 'too large', where 'too large' is (heuristically)
85350         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85351         overflow concerns.  This will prevent some unwanted malloc failures
85352         when the inputs are very large.
85353
85354 2005-03-15  Karl Berry  <karl@gnu.org>
85355
85356         * config/srclist.txt (config.rpath): from gettext.
85357         * config/config.rpath: update.
85358
85359 2005-03-15  Bruno Haible  <bruno@clisp.org>
85360
85361         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85362         to 'negate'.
85363
85364         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85365         variable.
85366
85367         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85368         results.
85369
85370 2005-03-14  Simon Josefsson  <jas@extundo.com>
85371
85372         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85373         <fx@gnu.org>.
85374
85375 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85376
85377         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85378         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85379         intprops.h.
85380         * lib/strtol.c: Likewise.
85381
85382 2005-03-14  Jim Meyering  <jim@meyering.net>
85383
85384         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85385         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85386         to be nonzero so that we (and caller) can detect the difference
85387         between a valid zero-length expansion and an error return, even
85388         when the underlying strftime fails before writing anything into
85389         that location.
85390
85391 2005-03-14  Bruno Haible  <bruno@clisp.org>
85392
85393         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85394         Update from GNU gettext 0.14.3.
85395
85396 2005-03-10  Jim Meyering  <jim@meyering.net>
85397
85398         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85399
85400 2005-03-10  Jim Meyering  <jim@meyering.net>
85401
85402         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85403         so that this module works on systems without fchdir.
85404
85405 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85406
85407         Factor int-properties macros into a single file, except for
85408         glibc-related files.
85409         * lib/intprops.h: New file.
85410         * lib/getloadavg.c: Include it instead of limits.h.
85411         (INT_STRLEN_BOUND): Remove.
85412         * lib/human.c: Include intprops.h.
85413         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85414         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85415         302/1000.
85416         * lib/inttostr.h: Include intprops.h instead of limits.h.
85417         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85418         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85419         for consistency with intprops.h.
85420         (time_t_is_integer, twos_complement_arithmetic): Use them.
85421         * lib/sig2str.h: Include <signal.h>, intprops.h.
85422         (INT_STRLEN_BOUND): Remove.
85423         * lib/strftime.c (TYPE_SIGNED): Remove.
85424         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
85425         * lib/strtol.c: Adjust comments to match intprops.h.
85426         * lib/userspec.c: Include intprops.h.
85427         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
85428         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
85429         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
85430         instead of rolling our own expressions.
85431         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
85432
85433         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
85434         instead of int.
85435         (my_strftime): Do not mishandle years close to INT_MAX, by doing
85436         the right thing even if adding 1900 would overflow.  Similarly
85437         for tm_mon + 1 and tm_yday + 1.
85438         Make %Y always equivalent to %C%y, and similarly for %G and %g.
85439         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
85440         (DO_SIGNED_NUMBER): New macro.
85441         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
85442
85443 2005-03-07  Bruno Haible  <bruno@clisp.org>
85444
85445         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
85446
85447 2005-03-07  Bruno Haible  <bruno@clisp.org>
85448
85449         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
85450
85451 2005-03-04  Derek R. Price  <derek@ximbiot.com>
85452
85453         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
85454         (func_import): Only replace files via --import when they have actually
85455         changed.
85456
85457 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85458
85459         * m4/mmap-anon.m4: New file.
85460         * m4/pagealign_alloc.m4: New file.
85461
85462 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85463             Bruno Haible  <bruno@clisp.org>
85464
85465         * modules/pagealign_alloc: New file.
85466         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85467
85468 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85469             Bruno Haible  <bruno@clisp.org>
85470
85471         * lib/pagealign_alloc.h: New file.
85472         * lib/pagealign_alloc.c: New file.
85473
85474 2005-03-03  Bruno Haible  <bruno@clisp.org>
85475
85476         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85477         Use an all-permissive copyright notice, recommended by RMS.
85478
85479 2005-03-02  Bruno Haible  <bruno@clisp.org>
85480
85481         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85482         of AIX, the replacement has to be done only after <string.h> is
85483         included, therefore not in config.h. stpncpy.h does the replacement,
85484         and stpncpy.c uses it.
85485
85486 2005-03-02  Bruno Haible  <bruno@clisp.org>
85487
85488         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85489         stpncpy.c uses it.
85490
85491 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85492
85493         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85494         The workaround isn't strictly needed for POSIX conformance, and
85495         it's too much of a pain to configure and maintain.  We'll ask
85496         people to fix their kernels instead.
85497         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85498         (NANOSLEEP_BUG_WORKAROUND): Remove.
85499         (xnanosleep): Remove the workaround.
85500
85501 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85502
85503         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85504         Reported by Derek Price.
85505         (Include): Add "timespec.h".
85506
85507         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85508
85509 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85510
85511         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85512         to detect nanosleep bug.
85513
85514 2005-03-01  Bruno Haible  <bruno@clisp.org>
85515
85516         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85517
85518 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85519
85520         * modules/gethrxtime: New file.
85521         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85522         (Depends-on): Add gethrxtime.
85523         (configure.ac): Add gl_XNANOSLEEP.
85524         (Makefile.am): Remove lib_SOURCES line.
85525
85526 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85527
85528         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85529         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85530
85531 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85532
85533         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85534         * lib/timespec.h (gettime): Return void, since it always
85535         succeeds now.  All uses changed.
85536         * lib/gettime.c (gettime): Likewise.
85537         [HAVE_NANOTIME]: Prefer nanotime.
85538         Assume gettimeofday succeeds, as POSIX requires.
85539         Assime time () succeeds, since other code already does.
85540         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85541         (timespec_subtract): Remove.
85542         (NANOSLEEP_BUG_WORKAROUND): New constant.
85543         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85544         things considerably.  Use it only on GNU/Linux hosts, since the
85545         workaround shouldn't be needed elsewhere.
85546
85547 2005-02-24  Bruno Haible  <bruno@clisp.org>
85548
85549         * modules/gettext (Files): Add m4/glibc2.m4.
85550
85551 2005-02-24  Bruno Haible  <bruno@clisp.org>
85552
85553         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85554         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85555         * m4/progtest.m4:
85556         Update from GNU gettext 0.14.2.
85557         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85558
85559 2005-02-24  Bruno Haible  <bruno@clisp.org>
85560
85561         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85562         * lib/config.charset: Update from GNU gettext 0.14.2.
85563
85564 2005-02-24  Bruno Haible  <bruno@clisp.org>
85565
85566         * lib/gettext.h: Update from GNU gettext 0.14.2.
85567
85568 2005-02-23  Simon Josefsson  <jas@extundo.com>
85569
85570         * m4/iconvme.m4: New file.
85571
85572 2005-02-23  Jim Meyering  <jim@meyering.net>
85573
85574         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85575         change.
85576         Thanks to Bruno Haible for catching it.
85577
85578 2005-02-22  Simon Josefsson  <jas@extundo.com>
85579
85580         * modules/iconvme: New file.
85581
85582         * MODULES.html.sh: Add iconvme.
85583
85584 2005-02-22  Simon Josefsson  <jas@extundo.com>
85585
85586         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85587
85588 2005-02-22  Simon Josefsson  <jas@extundo.com>
85589
85590         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85591
85592 2005-02-22  Jim Meyering  <jim@meyering.net>
85593
85594         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85595         s/ifndef/ifdef/.
85596
85597 2005-02-20  Neil Conway  <neilc@samurai.com>
85598
85599         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85600         returned by OSX/Darwin if the specified buffer is not large
85601         enough for the hostname.
85602
85603 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85604
85605         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85606         pass it to _help, otherwise the latter coredumps trying to
85607         dereference state.root_argp.
85608
85609 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85610
85611         * modules/chdir-long (Depends-on): Add memrchr.
85612         * modules/memrchr (Files): Add lib/memrchr.h.
85613         (Include): "memrchr.h".
85614
85615 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85616
85617         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85618
85619 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85620
85621         * lib/memrchr.h: New file.
85622         * lib/chdir-long.c: Include it.
85623         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85624         Don't bother including stddef.h.
85625
85626 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85627
85628         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85629         inclusion.
85630         Include <sys/types.h>, for dev_t.
85631         (ME_DUMMY, ME_REMOTE): Move from here....
85632         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85633         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85634         Dmitry V. Levin.
85635         Include mountlist.h first, to test the interface.
85636
85637 2005-01-29  Bruno Haible  <bruno@clisp.org>
85638
85639         * lib/progname.c (program_name): Initialize.
85640         Needed when linking statically on MacOS X.
85641
85642 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85643
85644         Sync from coreutils.
85645         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85646         (Depends-on): Add c-strtod.
85647         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85648
85649 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85650
85651         Sync from coreutils.
85652         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85653
85654         Remove files that are specific to coreutils.
85655         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85656
85657 2005-01-28  Bruno Haible  <bruno@clisp.org>
85658
85659         * modules/javacomp: New file.
85660         * MODULES.html.sh (Java): Add javacomp.
85661
85662 2005-01-28  Bruno Haible  <bruno@clisp.org>
85663
85664         * m4/javacomp.m4: New file, from GNU gettext.
85665
85666 2005-01-28  Bruno Haible  <bruno@clisp.org>
85667
85668         * lib/javacomp.sh.in: New file, from GNU gettext.
85669         * lib/javacomp.h: New file, from GNU gettext.
85670         * lib/javacomp.c: New file, from GNU gettext.
85671
85672 2005-01-26  Simon Josefsson  <jas@extundo.com>
85673
85674         * lib/gai_strerror.c: Use GPL in header.
85675
85676 2005-01-26  Bruno Haible  <bruno@clisp.org>
85677
85678         * modules/javaexec: New file.
85679         * MODULES.html.sh (Java): Add javaexec.
85680
85681 2005-01-26  Bruno Haible  <bruno@clisp.org>
85682
85683         * m4/javaexec.m4: New file, from GNU gettext.
85684
85685 2005-01-26  Bruno Haible  <bruno@clisp.org>
85686
85687         * lib/javaexec.sh.in: New file, from GNU gettext.
85688         * lib/javaexec.h: New file, from GNU gettext.
85689         * lib/javaexec.c: New file, from GNU gettext.
85690
85691 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85692
85693         * modules/lchown (Depends-on): Remove lchown.h
85694
85695 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85696
85697         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85698         must be defined if the header file was not found, in order
85699         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85700
85701 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85702
85703         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85704         initializers for struct pentry_state.
85705         (__argp_error): Check return value of __asprintf
85706         (__argp_failure): Translate error message
85707
85708         * lib/argp-parse.c: Removed braces around the expansion of N_()
85709
85710 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85711
85712         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85713         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85714         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85715         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85716         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85717         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85718         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85719         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85720         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85721         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85722         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85723         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85724         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85725         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85726         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85727         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85728         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85729         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85730         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85731         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85732         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85733         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85734         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85735         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85736         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85737         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85738         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85739         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85740         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85741         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85742         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85743         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85744         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85745         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85746         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85747         Use an all-permissive copyright notice, recommended by RMS.
85748
85749 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85750
85751         * modules/chdir-long (Depends-on): Remove mempcpy.
85752
85753 2005-01-21  Jim Meyering  <jim@meyering.net>
85754
85755         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85756         same value as for Solaris 9.
85757
85758         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85759         component length.  This included changing the parameter to be
85760         of type `char *' rather than `char const *'.
85761         * lib/chdir-long.h (chdir_long): Update prototype.
85762
85763         * lib/openat.c (fdopendir, fstatat): New functions.
85764         * lib/openat.h: Include headers required for use of DIR and struct
85765         stat.
85766         [AT_SYMLINK_NOFOLLOW]: Define.
85767         (fdopendir, fstatat): Add prototypes.
85768
85769 2005-01-21  Bruno Haible  <bruno@clisp.org>
85770
85771         * modules/classpath: New file.
85772         * MODULES.html.sh (Java): Add classpath.
85773
85774 2005-01-21  Bruno Haible  <bruno@clisp.org>
85775
85776         * lib/classpath.h: New file, from GNU gettext.
85777         * lib/classpath.c: New file, from GNU gettext.
85778
85779 2005-01-20  Simon Josefsson  <jas@extundo.com>
85780
85781         * modules/version-etc-fsf: New file.
85782
85783 2005-01-20  Simon Josefsson  <jas@extundo.com>
85784
85785         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85786         * lib/version-etc.c: Remove version_etc_copyright.
85787         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85788         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85789
85790 2005-01-20  Simon Josefsson  <jas@extundo.com>
85791
85792         * lib/base64.h (isbase64): Add.
85793
85794         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85795         using a unsigned prototype, don't inline.
85796         (base64_decode): Use it.
85797
85798 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85799
85800         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85801         it.
85802
85803 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85804
85805         * lib/save-cwd.c (save_cwd): Remove code to support the case
85806         where fchdir is missing or flaky.
85807
85808 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85809
85810         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85811
85812 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85813
85814         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85815         AC_LIBSOURCES now does this.
85816         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85817         with new ullong_max module.
85818
85819 2005-01-19  Bruno Haible  <bruno@clisp.org>
85820
85821         * modules/sh-quote: New file.
85822         * MODULES.html.sh (Executing programs): Add sh-quote.
85823
85824 2005-01-19  Bruno Haible  <bruno@clisp.org>
85825
85826         * lib/sh-quote.h: New file, from GNU gettext.
85827         * lib/sh-quote.c: New file, from GNU gettext.
85828
85829 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85830
85831         Merge from coreutils.
85832         * m4/ullong_max.m4: New file.
85833         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85834         (gl_MACROS): Assume localeconv exists.
85835
85836 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85837
85838         Merge changes from coreutils, as described below in several
85839         changelogs dated today.
85840
85841         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85842         (O_DIRECTORY): Remove; not needed here, since "." must be
85843         a directory.  All uses removed.
85844         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85845         universal on Suns, and we also need to test for IRIX.
85846         Revamp code to use 'if' rather than '#if'.
85847         Avoid unnecessary comparison of cwd->desc to 0.
85848
85849         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85850         for known valid error numbers rather than observed invalid ones.
85851
85852 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85853
85854         * modules/ullong_max: New file.
85855
85856         * modules/chdir-long, modules/openat: New files.
85857         * modules/save-cwd (Depends-on): Depend on chdir-long.
85858         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85859
85860 2005-01-18  Jim Meyering  <jim@meyering.net>
85861
85862         Merge from coreutils.
85863         * m4/chdir-long.m4, m4/openat.m4: New files.
85864         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85865         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85866         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85867         is sane and DOES follow symlinks.  Besides, testing 20 different
85868         systems found no broken chown implementations.
85869         Prompted by a change in rsync's copy of this macro.
85870         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85871
85872         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85873
85874         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85875         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85876         NULL-means-set-to-current-time semantics.
85877         Remove temporary file immediately, rather than waiting
85878         for configure's at-exit trap code to do it.
85879
85880 2005-01-18  Jim Meyering  <jim@meyering.net>
85881
85882         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85883
85884         * lib/utimens.c (futimens): Account for the fact that futimes
85885         can also fail with errno == ENOSYS or errno == ENOENT.
85886         Patch from Dmitry V. Levin.
85887
85888         Change the name of the robust chdir function from chdir to chdir_long.
85889         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85890         (restore_cwd): Use chdir_long, not chdir.
85891         * lib/chdir-long.c: Renamed from chdir.c.
85892         * lib/chdir-long.h: Renamed from chdir.h.
85893         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85894         Hurd.
85895
85896 2005-01-18  Bruno Haible  <bruno@clisp.org>
85897
85898         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85899         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85900         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85901         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85902         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85903         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85904         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85905         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85906         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85907         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85908         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85909         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85910         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85911         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85912         Use an all-permissive copyright notice, recommended by RMS.
85913
85914 2005-01-18  Bob Proulx  <bob@proulx.com>
85915
85916         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85917         simplify offsetof() macro construct to avoid compile failure with
85918         native HP-UX 11.0 ANSI C compiler.
85919
85920 2005-01-17  Bruno Haible  <bruno@clisp.org>
85921
85922         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85923         redundant because stpncpy.m4 takes care of it.
85924
85925 2005-01-17  Bruno Haible  <bruno@clisp.org>
85926
85927         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85928
85929 2005-01-17  Bruno Haible  <bruno@clisp.org>
85930
85931         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85932         used.
85933
85934 2005-01-17  Bruno Haible  <bruno@clisp.org>
85935
85936         * lib/fwriteerror.h (fwriteerror): Change specification to include
85937         fclose.
85938         * lib/fwriteerror.c: Include <stdbool.h>.
85939         (fwriteerror): At the end, close the file stream. Record whether
85940         stdout was already closed.
85941
85942 2005-01-17  Bruno Haible  <bruno@clisp.org>
85943
85944         * lib/execute.c (environ): Declare if needed.
85945         * lib/pipe.c (environ): Likewise.
85946         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85947
85948 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85949
85950         * modules/argp: Depend on vsnprintf
85951
85952 2005-01-10  Jim Meyering  <jim@meyering.net>
85953
85954         * modules/closeout (Depends-on): Add atexit.
85955
85956 2005-01-06  Bruno Haible  <bruno@clisp.org>
85957
85958         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85959
85960 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85961
85962         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85963         definitions to be after all include files, to avoid collisions.
85964         Problem reported by Bob Proulx.
85965
85966 2005-01-04  Jim Meyering  <jim@meyering.net>
85967
85968         Changes imported from coreutils.
85969         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85970         as the mkstemp template, use a temporary directory and an
85971         8.3-friendly template to avoid trouble on systems like DJGPP.
85972         Reported by Juan M. Guerrero via Stepan Kasal.
85973         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85974         close. Remove the temporary directory right away, rather than waiting
85975         for configure's at-exit trap code to do it.
85976         Suggestion from Stepan Kasal.
85977
85978 2005-01-01  Simon Josefsson  <jas@extundo.com>
85979
85980         * gnulib-tool: Print #include directives when --import'ing.
85981
85982 2004-12-28  Simon Josefsson  <jas@extundo.com>
85983
85984         * tests/test-base64.c: Include required header files.  Remove
85985         unused variables.
85986
85987 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85988
85989         * modules/error (Depends-on): Remove gettext.
85990
85991 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85992
85993         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85994         not needed.  This removes a dependency on the gettext module.
85995         [defined _LIBC]: Do not include <libintl.h>; not needed.
85996
85997 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85998
85999         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
86000         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
86001
86002 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
86003
86004         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
86005         HAVE_DECL_STRTOLD.
86006
86007 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86008
86009         * modules/getdate (Depends-on): Remove alloca-opt.
86010
86011 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86012
86013         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
86014
86015 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86016
86017         * lib/argp-parse.c: Include <stddef.h>.
86018         (alignof, alignto): New macros.
86019         (parser_init): Don't assume that void * is aligned sufficiently
86020         for struct option.
86021
86022         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
86023         need to extend the stack.
86024         (YYINITDEPTH): New macro, so that the initial stack isn't overly
86025         large.
86026
86027 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86028
86029         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
86030
86031 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86032
86033         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
86034         (2004-10-24) change.  Apparently this was a false alarm.
86035
86036         * modules/getdate: Depend on alloca-opt, not alloca.
86037
86038 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86039
86040         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
86041         Remove now-obsolete comment about AIX.
86042         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
86043         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
86044         (YYMAXDEPTH): New macro.
86045
86046 2004-12-18  Simon Josefsson  <jas@extundo.com>
86047
86048         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
86049
86050 2004-12-18  Bruno Haible  <bruno@clisp.org>
86051
86052         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
86053
86054 2004-12-18  Bruno Haible  <bruno@clisp.org>
86055
86056         * lib/fatal-signal.c (fatal_signals): Make non-const.
86057         (init_fatal_signals): New function.
86058         (uninstall_handlers, install_handlers): Ignore signals that were set to
86059         SIG_IGN.
86060         (at_fatal_signal): Call init_fatal_signals.
86061         (init_fatal_signal_set): Likewise. Ignore signals that were set to
86062         SIG_IGN.
86063         Reported by Paul Eggert.
86064
86065 2004-12-18  Bruno Haible  <bruno@clisp.org>
86066
86067         * doc/alloca.texi: New file.
86068         * doc/alloca-opt.texi: New file.
86069
86070 2004-12-17  Jim Meyering  <jim@meyering.net>
86071
86072         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
86073         Otherwise, install-sh could exit with improper exit status when
86074         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
86075
86076 2004-12-16  Simon Josefsson  <jas@extundo.com>
86077
86078         * tests/test-base64.c: Add license.
86079
86080 2004-12-15  Stepan Kasal  <address@hidden>
86081
86082         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
86083
86084 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
86085
86086         * modules/getcwd (Files): Add m4/d-ino.m4.
86087         Suggested by Mark D. Baushke.
86088
86089 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86090
86091         * lib/getdate.y (textint): New member "negative".
86092         (time_zone_hhmm): New function.
86093         Expect 14 shift-reduce conflicts, not 13.
86094         (o_colon_minutes): New rule.
86095         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
86096         (yylex): Set the "negative" member of signed numbers.
86097
86098 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86099
86100         * doc/getdate.texi (Time of day items, Time zone items):
86101         Describe new formats +00:00, UTC+00:00.
86102
86103 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
86104
86105         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
86106         spurious "-l"s.  Problem reported by Stepan Kasal.
86107
86108 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
86109
86110         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
86111         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
86112
86113 2004-12-04  Simon Josefsson  <jas@extundo.com>
86114
86115         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
86116         Vandoorselaere <yoann@prelude-ids.org>.
86117
86118 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86119
86120         Changes imported from coreutils.
86121         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
86122         exist.
86123         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
86124
86125 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86126
86127         Changes imported from coreutils.
86128         * lib/hard-locale.c: Assume <locale.h> exists.
86129         Include "strdup.h".
86130         (GLIBC_VERSION): New macro.
86131         (hard_locale): Assume setlocale exists.
86132         Rewrite to avoid #ifdef.
86133         Use strdup rather than malloc + strcpy.
86134         * lib/human.c: Assume <locale.h> exists.
86135         (human_readable): Assume localeconv exists.
86136
86137 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86138
86139         * modules/hard-locale (Depends-on): Add strdup.
86140
86141 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86142
86143         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86144         convert T2, not T.  (Imported from libc.)
86145
86146 2004-11-30  Simon Josefsson  <jas@extundo.com>
86147
86148         * modules/restrict (License): Change to LGPL.
86149
86150 2004-11-30  Simon Josefsson  <jas@extundo.com>
86151
86152         * m4/restrict.m4: Add copyright and copying conditions.
86153
86154 2004-11-30  Simon Josefsson  <jas@extundo.com>
86155
86156         * m4/base64.m4: New file.
86157
86158 2004-11-30  Simon Josefsson  <jas@extundo.com>
86159
86160         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86161         base64.
86162
86163         * tests/test-base64.c: New file.
86164
86165         * modules/base64: New file.
86166
86167 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86168
86169         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86170         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86171
86172         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86173
86174 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86175
86176         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86177         (__getcwd.c): Don't restore errno; glibc doesn't.
86178         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86179         first, falling back to our code only if its results look suspicious.
86180         Ensure that the resulting buffer is only as large as necessary.
86181
86182         * lib/readutmp.c: Include readutmp.h first.
86183         Include <errno.h>, since readutmp.h no longer does that.
86184         * lib/readutmp.h: Don't include <errno.h>,
86185         <sys/param.h>, <time.h>; not needed to establish interface.
86186         (errno): Remove decl.
86187         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86188         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86189         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86190
86191 2004-11-28  Simon Josefsson  <jas@extundo.com>
86192
86193         * lib/base64.h, base64.c: New file.
86194
86195 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86196
86197         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86198
86199 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86200
86201         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86202         (Depends-on): Remove pathmax, same.  Add mempcpy.
86203         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86204         (Makefile.am): Append getcwd.h to lib_SOURCES.
86205         (Include): Add getcwd.h.
86206         (Maintainer): Change from Jim Meyering to "all, glibc",
86207         since getdate now uses intended-for-glibc code.
86208         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86209         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86210
86211 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86212
86213         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86214         HP's ANSI C compiler.
86215         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86216         Declaring int functions causes warnings on some modern systems and
86217         shouldn't be needed to compile on ancient ones.
86218         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86219         defined.
86220
86221         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86222         with the following changes.
86223         (__set_errno): Parenthesize properly.
86224         Include <stdbool.h>.
86225         (MIN, MAX, MATCHING_INO): New macros.
86226         (__getcwd): Define with prototype, not K&R form.
86227         Use heuristics to allocate default buffer on stack if possible.
86228         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86229         behavior, and to avoid the PATH_MAX limit when computing
86230         ../../../../...
86231         Use MATCHING_INO to compare inode number to file.
86232         Check for arithmetic overflow in size calculations.
86233         Fix bug in reallocation of dot array that caused getcwd to fail
86234         on directories nested deeper than 75.
86235         Be more careful about saving errno on error.
86236         Do not use realloc; use only free+malloc, as this is a bit
86237         more flexible and avoids a needless copy operation.
86238         Do not inspect st_dev and st_ino for symbolic links; POSIX
86239         doesn't specify the latter.
86240         Check for closedir errors.
86241         Avoid needless casts.
86242         Use "#ifdef weak_alias" around weak_alias, to be like other
86243         glibc code.
86244         The following changes to getcwd.c have effect only when used in
86245         gnulib; they have no effect inside glibc proper.
86246         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86247         as alloca isn't used.
86248         (alloca, __alloca): Likewise.
86249         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86250         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86251         unconditionally, as gnulib assumes C89 or better.
86252         Do not include <sys/param.h>.
86253         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86254         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86255         better.
86256         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86257         Include <dirent.h> in a way that is compatible with modern Autoconf.
86258         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86259         New macros, if not already defined.
86260         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86261         Use "_LIBC", not "defined _LIBC", for consistency.
86262         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86263         a mempcpy module.
86264         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86265         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86266         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86267         credit only to Jim Meyering and adjust the copyright dates.
86268         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86269         <stdlib.h>, <unistd.h>, "pathmax.h".
86270         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86271         (INITIAL_BUFFER_SIZE): Remove.
86272         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86273
86274 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86275
86276         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86277         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86278         Use the _ONCE methods, for efficiency.
86279         Check for fcntl.h.  In test program, include <errno.h>
86280         and <fcntl.h> if available.  Remove old K&R cruft from
86281         test program.  Check for common errors in GNU/Linux,
86282         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86283         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86284         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86285         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86286         name accordingly.
86287         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86288         accommodate new getcwd.c.
86289         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86290         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86291         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86292         that's all we need now.
86293
86294 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86295
86296         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86297         argp-parse.c depends on getopt internals, that means we should
86298         always use our getopt, to be on the safe side.
86299         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86300         order not to spoil the result of an eventual previous invocation
86301         of gl_GETOPT_SUBSTITUTE.
86302
86303 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86304
86305         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86306         redefinition warnings. To avoid them, include the defines
86307         in `#if !defined __need_getopt ... #endif'. The only place
86308         where __getopt_argv_const is used is in definitions
86309         of getopt_long and getopt_long_only below, which are as well
86310         protected by `#ifndef __need_getopt'.
86311         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86312         __need_getopt after including <stdio.h> and <unistd.h> These
86313         headers might have defined it.
86314
86315 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86316
86317         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86318
86319 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86320
86321         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86322         (futimens): New function, which uses futimes if available.
86323         (futimens, utimens): Support timespec==NULL, with same semantics
86324         as utime and utimens.
86325         * lib/utimens.h (futimens): New decl.
86326
86327 2004-11-23  Jim Meyering  <jim@meyering.net>
86328
86329         * lib/getopt_.h: Remove trailing blanks.
86330
86331 2004-11-23  Jim Meyering  <jim@meyering.net>
86332
86333         * lib/__fpending.c: Add comment.
86334
86335 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86336
86337         * modules/canonicalize (Depends-on): Add xreadlink.
86338         Problem reported by James Youngman.
86339
86340 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86341
86342         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86343         New macros.
86344         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86345         optopt): Use them instead of invoking ## directly; otherwise, the
86346         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86347
86348 2004-11-19  Bruno Haible  <bruno@clisp.org>
86349
86350         * lib/strtok_r.c: Move comments from here...
86351         * lib/strtok_r.h: ... to here.
86352
86353 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86354
86355         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86356         implementations that mishandle size_t overflow.
86357
86358 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86359
86360         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86361         might fail.  Problem reported by Yoann Vandoorselaere.
86362         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86363         implementations that mishandle size_t overflow.
86364
86365 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86366
86367         * modules/canon-host (Depends-on): Add strdup.
86368
86369 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86370
86371         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86372
86373 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86374
86375         * lib/canon-host.c: Include "strdup.h".
86376         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86377         Use strdup instead of malloc/strcpy to duplicate strings.
86378
86379         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86380         (human_space_before_unit): New constant.
86381         * lib/human.c (human_readable): Support it.
86382
86383         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86384         (xgetcwd): Set errno correctly when failing.
86385         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86386         the failure is actually due to a PATH_MAX problem.
86387
86388         Further getopt changes to make it more likely that glibc will
86389         buy the changes back.
86390         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86391         (getopt): Use it, so to preserve glibc semantic
86392         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86393         when compiling for libc.
86394         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86395         (getopt_long, getopt_long_only): Use it.
86396
86397         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86398         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86399         (getopt): Argv is now char * const *, as per standard.
86400         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86401         not char *__getopt_argv_const *.
86402         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86403         _getopt_long_only_r): Likewise.
86404         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86405         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86406         _getopt_long_r, _getopt_long_only_r): Likewise.
86407         * lib/getopt_.h (__getopt_argv_const): Remove.
86408         (getopt): Argv is now char * const *, as per standard.
86409
86410         * lib/getdate.y (tORDINAL): New token.
86411         (day, relunit): Allow it for relative times.
86412         (relative_time_table): Use tORDINAL for ordinals.
86413
86414 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86415
86416         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86417         Document that "second" isn't allowed as an ordinal number.
86418
86419 2004-11-16  Jim Meyering  <jim@meyering.net>
86420
86421         * modules/closeout (Depends-on): Add fpending.
86422
86423 2004-11-15  Jim Meyering  <jim@meyering.net>
86424
86425         * lib/closeout.c: Include "__fpending.h" once again.
86426         Include <stdbool.h>.
86427         (close_stdout): Don't fail just because stdout was closed initially,
86428         since some programs don't write to stdout in the normal course of
86429         operation (other than --version and --help), and we don't want this
86430         function to make e.g. `touch file >&-' fail.
86431         But do fail if it was closed and someone has tried to write to it.
86432         E.g., `printf foo >&-' must fail.
86433
86434 2004-11-13  Jim Meyering  <jim@meyering.net>
86435
86436         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
86437
86438 2004-11-12  Simon Josefsson  <jas@extundo.com>
86439
86440         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
86441         small doc fix is still pending.
86442
86443 2004-11-11  Simon Josefsson  <jas@extundo.com>
86444
86445         * modules/strtok_r: New file.
86446
86447         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86448         strtok_r.
86449
86450 2004-11-11  Simon Josefsson  <jas@extundo.com>
86451
86452         * m4/strtok_r.m4: New file.
86453
86454         * m4/getopt.m4: Replace opterr.
86455
86456 2004-11-11  Simon Josefsson  <jas@extundo.com>
86457
86458         * lib/strtok_r.h, strtok_r.c: New file.
86459
86460 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86461
86462         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86463         of replacing opterr, getopt, etc.  This should handle the
86464         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86465
86466 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86467
86468         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86469         we can stop lying to compilers about the constness of argv when we
86470         are compiled outside glibc.
86471         (getopt, getopt_long, getopt_long_only): Use it.
86472         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86473         _getopt_internal, getopt): Likewise.
86474         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86475         _getopt_long_only_r): Likewise.
86476         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86477         _getopt_long_r, _getopt_long_only_r): Likewise.
86478
86479         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86480         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86481         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86482         the other external symbols.
86483         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86484         declaration, since the above renaming now works around collisions.
86485
86486 2004-11-11  Jim Meyering  <jim@meyering.net>
86487
86488         * lib/linebreak.c: Remove trailing blanks.
86489         * lib/alloca_.h: Likewise.
86490         * lib/acosl.c: Likewise.
86491         * lib/euidaccess.c: Likewise.
86492         * lib/allocsa.h: Likewise.
86493
86494 2004-11-10  Simon Josefsson  <jas@extundo.com>
86495
86496         * m4/getaddrinfo.m4: New file.
86497
86498 2004-11-10  Simon Josefsson  <jas@extundo.com>
86499
86500         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86501
86502 2004-11-10  Simon Josefsson  <jas@extundo.com>
86503
86504         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86505         getaddrinfo.
86506
86507         * modules/getaddrinfo: New file.
86508
86509 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86510
86511         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86512
86513 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86514
86515         * lib/mktime.c (SHR): New macro, which is a portable
86516         substitute for >> that should work even on Crays.
86517         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86518         Problem reported by Mark D. Baushke in
86519         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86520         * lib/getdate.y (SHR): Likewise.
86521         (tm_diff): Use it.
86522         * lib/strftime.c (SHR): Likewise.
86523         (tm_diff): Use it.
86524         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86525         quote_these_too, so that right shifts are well defined.  All uses
86526         changed.
86527
86528 2004-11-10  Jim Meyering  <jim@meyering.net>
86529
86530         Ensure that no close failure goes unreported.
86531         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86532         return early when it seems there's nothing to flush.
86533         Don't include __fpending.h.
86534
86535 2004-11-10  Jim Meyering  <jim@meyering.net>
86536
86537         * modules/closeout (Depends-on): Remove fpending.
86538
86539 2004-11-10  Jim Meyering  <jim@meyering.net>
86540
86541         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86542
86543 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86544
86545         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86546         gl_FUNC_STRFTIME.
86547         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86548         and AC_REQUIRE when possible, to avoid duplicate checks.
86549         Check for <wchar.h>.
86550
86551 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86552
86553         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86554
86555 2004-11-09  Bruno Haible  <bruno@clisp.org>
86556
86557         * m4/sockpfaf.m4: New file.
86558
86559 2004-11-05  Bruno Haible  <bruno@clisp.org>
86560
86561         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86562         Reported by Mark D. Baushke <mdb@cvshome.org>.
86563
86564 2004-11-04  Bruno Haible  <bruno@clisp.org>
86565
86566         2004-09-11  Bruno Haible  <bruno@clisp.org>
86567                 * allocsa.valgrind: New file.
86568         2004-02-06  Bruno Haible  <bruno@clisp.org>
86569                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86570                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86571                 Reported by Christopher Seip <chris.seip@hp.com>.
86572
86573 2004-11-04  Bruno Haible  <bruno@clisp.org>
86574
86575         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86576         (Makefile.am): Distribute it.
86577
86578 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86579
86580         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86581         with errno == ERANGE if the buffer is too small.
86582         Problem reported by Mark D. Baushke.
86583
86584 2004-11-03  Albert Chin  <china@thewrittenword.com>
86585             Paul Eggert  <eggert@cs.ucla.edu>
86586
86587         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86588         equivalent, substitute $ac_type for equivalent type rather than
86589         blindly using uint32_t *always* which won't work if uint32_t is not
86590         available.  Define _UINT32_T to work around typedef of uint32_t if
86591         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86592         2.5.1.
86593
86594 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86595
86596         * m4/jm-macros.m4: Sync from coreutils.
86597         (gl_MACROS): Check for mbrlen, for pathchk.
86598         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86599
86600 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86601
86602         * lib/xreadlink.c (MAXSIZE): New macro.
86603         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86604         size does not exceed MAXSIZE.  Avoid cast.
86605         As suggested by Mark D. Baushke in
86606         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86607         if readlink fails with buffer size just under MAXSIZE, try again
86608         with MAXSIZE.
86609
86610 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86611
86612         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86613
86614 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86615         and  Paul Eggert  <eggert@cs.ucla.edu>
86616
86617         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86618         (get_date): Overparenthesize to avoid GCC warning.
86619
86620 2004-11-02  Bruno Haible  <bruno@clisp.org>
86621
86622         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86623         returns void.
86624
86625 2004-11-02  Bruno Haible  <bruno@clisp.org>
86626
86627         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86628         function returns void.
86629
86630 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86631
86632         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86633         fflush_unlocked, flockfile, funlockfile, funlockfile,
86634         fputs_unlocked, putc_unlocked.
86635
86636 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86637
86638         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86639         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86640         already declared.
86641
86642 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86643
86644         * modules/getdate (Files): Add doc/getdate.texi.
86645         (Depends-on): Add setenv, xalloc.
86646
86647 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86648
86649         * lib/getdate.y: Add support for TZ="foo" within a date string.
86650         Fix some bugs near time_t boundaries.  Reject dates with
86651         out-of-range components, e.g., "Sept 31".
86652         Include <stdlib.h>, "setenv.h", "xalloc.h".
86653         (ISDIGIT_LOCALE): Remove; unused.
86654         Note that the TZ and time functions used here are not reentrant.
86655         (mktime_ok, get_tz): New functions.
86656         (TZBUFSIZE): New constant.
86657         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86658         This requires that we sometimes generate our own TZ="XXX..." setting.
86659
86660 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86661
86662         * doc/getdate.texi: New file, from coreutils with modifications for
86663         the new TZ parsing.
86664
86665 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86666
86667         * lib/mktime.c (not_equal_tm): Remove redundant check.
86668
86669 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86670
86671         * modules/regex (lib_SOURCES): Add regex.c.
86672         Reported by James Youngman in
86673         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86674
86675 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86676
86677         * lib/getdate.y: Use Bison 1.875 features, and some minor
86678         code cleanups.  This change does not affect semantics.
86679         Don't include <stdlib.h>; no longer needed.
86680         Don't include unlocked-io.h; only the "#if TEST" code uses
86681         stdio, and performance isn't crucial there.
86682         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86683         Bison 1.875 features as described below.
86684         All uses of "PC." replaced by "pc->".
86685         (YYSTYPE): Add a forward declaration.
86686         (yylex, yyerror): Use full prototypes in forward decls.
86687         Use "%pure-parser" rather than obsolescent "%pure_parser".
86688         Use %parse-param and %lex-param instead of obsolescent
86689         YYPARSE_PARAM and YYLEX_PARAM.
86690         (meridian_table, month_and_day_table, time_units_table,
86691         relative_time_table, time_zone_table, military_table,
86692         lookup_zone, lookup_word, get_date):
86693         Use NULL instead of 0 where appropriate.
86694         (to_hour): Avoid abort (), to avoid a dependency on
86695         stdlib.h.
86696         (yyerror, yylex): Now accepts parser_control * arg.
86697         (main) [TEST]: Use '\0' rather than 0 for char.
86698
86699 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86700
86701         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86702
86703 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86704
86705         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86706         It's now the caller's responsibility to handle the case where
86707         !HAVE_GETPAGESIZE && !defined getpagesize.
86708
86709         * lib/mktime.c (leapyear): Arg is long int, not int.
86710
86711 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86712
86713         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86714
86715 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86716
86717         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86718         missing.  Problem reported by James Youngman.
86719
86720 2004-10-16  Simon Josefsson  <jas@extundo.com>
86721
86722         * gnulib-tool: Fix comments.  Fix parse problem.
86723         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86724
86725 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86726
86727         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86728         implementation of getopt_long.  Problem reported by Alexander Taler in:
86729         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86730
86731 2004-10-15  Bruno Haible  <bruno@clisp.org>
86732
86733         * gnulib-tool: Untabify. Initialize supplied_libname.
86734         (func_usage): More homogenous output.
86735         (func_modules_transitive_closure, func_modules_to_filelist,
86736         func_emit_lib_Makefile_am): New functions.
86737         (func_import): New function, extracted from big case statement. Use
86738         func_get_license, func_modules_transitive_closure,
86739         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86740         opt_lgpl. Don't use test -a, as it's not portable.
86741         (func_create_testdir): Use func_modules_transitive_closure,
86742         func_modules_to_filelist, func_emit_lib_Makefile_am.
86743
86744 2004-10-15  Bruno Haible  <bruno@clisp.org>
86745
86746         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86747
86748 2004-10-15  Bruno Haible  <bruno@clisp.org>
86749
86750         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86751         the portions belonging to each module.
86752         Suggested by Derek Robert Price <derek@ximbiot.com>.
86753
86754 2004-10-12  Simon Josefsson  <jas@extundo.com>
86755
86756         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86757         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86758         to real functions.
86759
86760 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86761
86762         * modules/vsnprintf: New file.
86763
86764 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86765
86766         * m4/vsnprintf.m4: New file.
86767
86768 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86769
86770         * lib/vsnprintf.h: New file.
86771         * lib/vsnprintf.c: New file.
86772
86773 2004-10-11  Bruno Haible  <bruno@clisp.org>
86774
86775         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86776         vsnprintf.
86777
86778 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86779
86780         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86781
86782 2004-10-07  Bruno Haible  <bruno@clisp.org>
86783
86784         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86785         fits into the provided buffer.
86786
86787 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86788
86789         * lib/diacrit.c, diacrit.h: Add GPL notice.
86790
86791         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86792         notice.
86793         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86794         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86795         This avoids a potential constant-folding bug.
86796
86797 2004-10-05  Bruno Haible  <bruno@clisp.org>
86798
86799         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86800         for the declaration of strsep.
86801
86802 2004-10-05  Bruno Haible  <bruno@clisp.org>
86803
86804         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86805
86806 2004-10-04  Simon Josefsson  <jas@extundo.com>
86807
86808         * modules/memmem: New file.
86809         * tests/test-memmem.c: New file.
86810         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86811
86812 2004-10-04  Simon Josefsson  <jas@extundo.com>
86813
86814         * m4/memmem.m4: New file.
86815
86816 2004-10-04  Simon Josefsson  <jas@extundo.com>
86817
86818         * lib/memmem.h: New file.
86819         * lib/memmem.c: New file, taken from glibc.
86820
86821 2004-10-04  Simon Josefsson  <jas@extundo.com>
86822
86823         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86824         '#ifdef USE_UNLOCKED_IO'.
86825
86826 2004-10-04  Simon Josefsson  <jas@extundo.com>
86827
86828         * config/srclist.txt: Add memmem from glibc.
86829
86830 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86831
86832         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86833
86834         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86835         modules/exclude, modules/getdate, modules/getline,
86836         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86837         modules/getusershell, modules/linebuffer, modules/md5,
86838         modules/mountlist, modules/posixtm, modules/readtokens,
86839         modules/readutmp, modules/regex, modules/sha1,
86840         modules/version-etc, modules/yesno:
86841         Remove dependency on unlocked-io.
86842
86843 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86844
86845         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86846
86847         * m4/unlocked-io.m4: Add copyright notice.
86848         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86849
86850 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86851
86852         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86853         * lib/xmalloc.c (xmemdup): Likewise.
86854         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86855         XFREE): Remove these long-obsolescent macros.
86856         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86857         * lib/xstrdup.c: Remove.
86858
86859         * lib/regex.c (re_comp): Cast gettext return value to char *,
86860         Problem reported by Martin Neitzel via Mark D. Baushke.
86861
86862 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86863
86864         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86865         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86866         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86867         regex.c, sha1.c, version-etc.c, yesno.c:
86868         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86869         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86870         the includer's responsibility.
86871
86872         Sync from coreutils.
86873
86874         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86875         points to the start of a string, as the C Standard says the
86876         resulting behavior is undefined.
86877
86878         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86879         simple -> simple_backups, numbered_existing ->
86880         numbered_existing_backups, numbered -> numbered_backups
86881         to avoid shadowing problems.  All uses changed.
86882         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86883         * lib/backupfile.c (check_extension, numbered_backup):
86884         Rename locals to avoid shadowing 'basename'.
86885         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86886         once.
86887
86888         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86889         * lib/.cvsignore: Add getopt.h.
86890
86891 2004-10-04  Bruno Haible  <bruno@clisp.org>
86892
86893         * modules/README: New file.
86894         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86895         not a module.
86896
86897 2004-10-02  Jim Meyering  <jim@meyering.net>
86898
86899         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86900
86901 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86902
86903         * modules/strsep: New file.
86904
86905 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86906
86907         * m4/strsep.m4: New file.
86908
86909 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86910
86911         * lib/strsep.h: New file.
86912         * lib/strsep.c: New file.
86913
86914 2004-10-01  Simon Josefsson  <jas@extundo.com>
86915
86916         * lib/snprintf.c (snprintf): Handle size==0.
86917
86918 2004-10-01  Simon Josefsson  <jas@extundo.com>
86919             Bruno Haible  <bruno@clisp.org>
86920
86921         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86922         (snprintf): Declare 'args'.
86923
86924 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86925
86926         * lib/snprintf.c: Remove comments as to why each header is needed.
86927
86928 2004-10-01  Bruno Haible  <bruno@clisp.org>
86929
86930         * MODULES.html.sh: Add strsep.
86931
86932 2004-09-30  Simon Josefsson  <jas@extundo.com>
86933
86934         * modules/snprintf: New file.
86935
86936 2004-09-30  Simon Josefsson  <jas@extundo.com>
86937
86938         * m4/snprintf.m4: New file.
86939
86940 2004-09-30  Simon Josefsson  <jas@extundo.com>
86941
86942         * lib/snprintf.h, lib/snprintf.c: New files.
86943
86944 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86945
86946         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86947         (hol_entry_help): Never translate an empty string.
86948         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86949         * lib/argp.h (OPTION_NO_TRANS): New option.
86950
86951 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86952
86953         * modules/argp (Maintainer): Replace Simon Josefsson
86954         by Sergey Poznyakoff.
86955
86956 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86957
86958         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86959         changes merged back into glibc.
86960
86961 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86962
86963         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86964
86965 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86966
86967         * lib/xvasprintf.c: Include xalloc.h.
86968         (xvasprintf): Use xalloc_die, not xmalloc_die.
86969
86970 2004-09-29  Bruno Haible  <bruno@clisp.org>
86971
86972         * modules/alloca-opt: New file, derived from modules/alloca.
86973         * modules/allocsa: Depend on alloca-opt instead of alloca.
86974         * modules/setenv: Likewise.
86975         * modules/vasnprintf: Likewise.
86976         * MODULES.html.sh: Add alloca-opt.
86977
86978 2004-09-28  Simon Josefsson  <jas@extundo.com>
86979
86980         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86981         LGPL, and to replace license template from GPL to LGPL.
86982
86983 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86984
86985         * modules/dummy: Change license to LGPL.
86986
86987 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86988
86989         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86990
86991 2004-09-24  Simon Josefsson  <jas@extundo.com>
86992
86993         * modules/minmax (License): Change from GPL to LGPL.
86994
86995 2004-09-23  Simon Josefsson  <jas@extundo.com>
86996
86997         * gnulib-tool (--import): Typo.
86998
86999 2004-09-23  Simon Josefsson  <jas@extundo.com>
87000
87001         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
87002
87003 2004-09-22  Bruno Haible  <bruno@clisp.org>
87004
87005         * modules/*: Add 'License' field.
87006         * gnulib-tool: Accept --extract-license option.
87007         (func_get_license): New function.
87008
87009 2004-09-21  Bruno Haible  <bruno@clisp.org>
87010
87011         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
87012         Reported by Simon Josefsson.
87013
87014 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87015
87016         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
87017         gl_AC_TYPE_LONG_LONG.
87018
87019 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87020
87021         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
87022
87023 2004-09-18  Simon Josefsson  <jas@extundo.com>
87024         and  Paul Eggert  <eggert@cs.ucla.edu>
87025
87026         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
87027         calls with autoreconf.  Define GL_LIB.
87028
87029 2004-09-14  Karl Berry  <karl@gnu.org>
87030
87031         * config/srclist.txt: unsync setenv.c, sigh.
87032
87033 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87034
87035         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
87036         Problem reported by Bruno Haible in:
87037         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
87038
87039 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87040
87041         * config/srclist.txt: Comment out argp-pvh.c.
87042
87043 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
87044
87045         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
87046         in case some system header has #define'd it.  Problem reported by
87047         Soeren D. Schulze in
87048         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
87049
87050 2004-09-09  Karl Berry  <karl@gnu.org>
87051
87052         * regex.[ch]: delete from the root.  These were supposed to be
87053                 synced with emacs cvs, but this has not happened for about
87054                 a year, and anyway nothing else uses emacs regex.[ch].
87055                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
87056                 lib/regex[.ch] is untouched.
87057
87058 2004-09-09  Bruno Haible  <bruno@clisp.org>
87059
87060         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
87061
87062 2004-09-09  Bruno Haible  <bruno@clisp.org>
87063
87064         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
87065         modifications.
87066         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
87067
87068 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87069
87070         * modules/xvasprintf: New file.
87071         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
87072
87073 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87074
87075         * lib/xvasprintf.h: New file.
87076         * lib/xvasprintf.c: New file.
87077         * lib/xasprintf.c: New file.
87078
87079 2004-09-08  Bruno Haible  <bruno@clisp.org>
87080
87081         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
87082
87083 2004-09-08  Bruno Haible  <bruno@clisp.org>
87084
87085         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
87086         length is > INT_MAX.
87087         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
87088         more.
87089
87090 2004-09-08  Bruno Haible  <bruno@clisp.org>
87091
87092         * lib/stdint_.h: New file, taken from GNU clisp.
87093
87094 2004-09-08  Bruno Haible  <bruno@clisp.org>
87095             Oskar Liljeblad  <oskar@osk.mine.nu>
87096
87097         * modules/stdint: New file.
87098         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
87099
87100 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87101
87102         Import from coreutils.
87103         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
87104         strings on unbounded length.  alloca's performance benefits aren't
87105         that important here.
87106         (V_STRDUP): Remove.
87107         (parse_with_separator): New function, with most of the internals
87108         of the old parse_user_spec.  Allow user to omit both user and group,
87109         for compatibility with FreeBSD.
87110         Clone only the user name, not the entire spec.
87111         Do not set *uid, *gid unless entirely successful.
87112         Avoid memory leak in some failing cases.
87113         Fix regression for USER.GROUP reported by Dmitry V. Levin in
87114         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
87115         (parse_user_spec): Rewrite to use parse_with_separator.
87116
87117 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87118
87119         * modules/userspec: Don't depend on alloca.
87120
87121 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87122
87123         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
87124
87125 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87126
87127         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87128         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87129         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87130
87131 2004-08-16  Simon Josefsson  <jas@extundo.com>
87132
87133         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87134         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87135         Add --dry-run for --import.
87136         Let user provided command line parameters override configure.ac
87137         settings.
87138
87139 2004-08-12  Simon Josefsson  <jas@extundo.com>
87140
87141         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87142         as discussed with Paul Eggert in threads rooted at
87143         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87144         and
87145         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87146         Before, the test was empty, and relied on ELIDE_CODE in source
87147         code.)
87148         (gl_PREREQ_GETOPT): New macro.
87149         (gl_GETOPT): Use them.
87150
87151 2004-08-12  Simon Josefsson  <jas@extundo.com>
87152
87153         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87154         * lib/getopt_.h: Renamed from getopt.h.
87155
87156 2004-08-12  Simon Josefsson  <jas@extundo.com>
87157
87158         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87159         Change default library name from libfoo to libgnu.
87160         Now, if you have a configure.ac that says:
87161                 gl_SOURCE_BASE(gl)
87162                 gl_M4_BASE(gl/m4)
87163                 gl_MODULES(error getopt etcetera)
87164                 gl_INIT
87165         you can import all you need by running:
87166                 ../gnulib/gnulib-tool --import
87167
87168         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87169         (Makefile.am): Rewrite, use logic from argz.
87170         (Include): Use <getopt.h> instead of "getopt.h".
87171
87172 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87173
87174         * modules/argp (Files): Add m4/unlocked-io.m4.
87175         (Depends-on): Add extensions.
87176
87177 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87178
87179         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87180         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87181         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87182         Check for program_invocation_name, program_invocation_short_name,
87183         flockfile, funlockfile, features.h, _getopt_long_only_r.
87184
87185 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87186
87187         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87188         its complicated substitute.
87189         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87190         and program_invocation_name.
87191         (__argp_basename) [!_LIBC]: Remove; the only use was
87192         replaced by its body.
87193         (__argp_short_program_name): Change condition from
87194         !defined __argp_short_program_name to
87195         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87196         to match argp-namefrob.h.
87197         (__argp_failure): Don't assume strerror_r returns char *.
87198         * lib/argp-parse.c (N_): Define unconditionally.
87199         (argp_default_options): Fill out initializers with 0 to avoid
87200         gcc warnings.
87201
87202 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87203
87204         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87205         getopt1.c.
87206
87207 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87208
87209         Merge from coreutils.
87210
87211         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87212
87213         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87214         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87215
87216 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87217
87218         Merge from coreutils.
87219
87220         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87221         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87222         for Reliant Unix 5.43.
87223
87224         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87225         (union fooround): Use uintmax_t, not long int.
87226         The rest is a merge from libc:
87227         [defined _LIBC]: Include <shlib-compat.h>.
87228         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87229
87230         * lib/settime.c (settime): Recode to avoid warning with
87231         Sun Forte C 6U2.
87232
87233         * lib/strverscmp.c: Convert to UTF-8.
87234
87235 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87236
87237         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87238         m4/uintmax_t.m4.
87239
87240 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87241
87242         * modules/xalloc-die: New file.
87243         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87244
87245         * modules/md5 (Files): Add m4/uint32_t.m4.
87246         * modules/sha1: Renamed from modules/sha.
87247         (Files):
87248         Rename lib/sha.h to lib/sha1.h.
87249         Rename lib/sha.c to lib/sha1.c.
87250         Rename m4/sha.m4 to m4/sha1.m4.
87251         (lib_SOURCES): Likewise.
87252         (configure.ac): Rename gl_SHA to gl_SHA1.
87253         (Include): sha.h -> sha1.h.
87254
87255 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87256
87257         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87258         * m4/sha1.m4: Renamed from sha.m4.
87259         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87260
87261 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87262
87263         * lib/obstack.h (obstack_empty_p):
87264         Don't assume that chunk->contents is suitably aligned.
87265         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87266         Likewise. Problem reported by Benno in
87267         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87268
87269         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87270         readable.  This could be improved further but it'd take some work.
87271
87272 2004-08-08  Simon Josefsson  <jas@extundo.com>
87273
87274         * modules/xgethostname (Depends-on): Remove exit and error (not
87275         used).
87276
87277         * modules/getpass-gnu: Add getpass.h.
87278         (Depends-on): Add stdbool.
87279         * modules/getpass: Add getpass.h.
87280
87281 2004-08-08  Simon Josefsson  <jas@extundo.com>
87282
87283         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87284         Check getpass declaration.
87285
87286 2004-08-08  Simon Josefsson  <jas@extundo.com>
87287
87288         * lib/xgethostname.c: Don't include error.h (not used).
87289
87290         * lib/getpass.h: Add.
87291         * lib/getpass.c: Include getpass.h first.
87292
87293 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87294
87295         * lib/xalloc-die.c: New file.
87296         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87297         All uses removed.
87298         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87299         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87300         xalloc-die.c.
87301         (_, N_, xalloc_die): Move to xalloc-die.c.
87302         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87303         so that we needn't mess with xalloc_msg_memory_exhausted.
87304
87305         * lib/sha1.h: Renamed from sha.h.
87306         (SHA1_H): Renamed from _SHA_H.
87307         (sha1_ctx): Renamed from sha_ctx.
87308         (sha1_init_ctx): Renamed from sha_init_ctx.
87309         (sha1_process_block): Renamed from sha_process_block.
87310         (sha1_process_bytes): Renamed from sha_process_bytes.
87311         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87312         (sha1_read_ctx): Renamed from sha_read_ctx.
87313         (sha1_stream): Renamed from sha_stream.
87314         (sha1_buffer): Renamed from sha_buffer.
87315         * lib/sha1.c: Likewise; renamed from sha.c.
87316         Do not include <sys/types.h>.
87317         Include <stddef.h> rather than <stdlib.h>.
87318
87319 2004-08-08  Bruno Haible  <bruno@clisp.org>
87320
87321         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87322         FILESYSTEM_PREFIX_LEN.
87323         * lib/progreloc.c: Likewise.
87324         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87325
87326 2004-08-06  Simon Josefsson  <jas@extundo.com>
87327
87328         * modules/progname (Depends-on): Don't depend on stdbool.
87329
87330 2004-08-06  Simon Josefsson  <jas@extundo.com>
87331
87332         * modules/getsubopt: New file.
87333         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87334         getsubopt.
87335
87336 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87337
87338         More merge from coreutils.
87339
87340         * m4/utimens.m4, m4/utimecmp.m4: New files.
87341         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87342         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87343         prereq.m4, sha.m4: Import changes from coreutils.
87344
87345 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87346
87347         More merge from coreutils.
87348         * modules/raise, modules/readtokens0, modules/utimens:
87349         * modules/utimecmp, module/xnanosleep: New files.
87350         * modules/strftime: Add lib/strftime.h.
87351         Change include from <time.h> to "strftime.h".
87352         * modules/yesno: Add lib/yesno.h.
87353         * modules/backupfile: Remove lib/addext.c.
87354         * modules/euidaccess: Add stat-macros.h.
87355         * modules/canonicalize, modules/euidaccess,
87356         modules/filemode, modules/lchown, modules/makepath,
87357         modules/rmdir, modules/stat: Likewise.
87358
87359 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87360
87361         Merge from tar.
87362         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87363         SIZE_MAX is a valid preprocessor constant.
87364         (__argp_basename): Change from "#ifndef _LIBC"
87365         to "#ifndef __argp_short_program_name", so that
87366         we don't compile these functions for tar.
87367
87368         More merges from coreutils.
87369         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87370         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87371         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87372         * lib/addext.c: Remove; no longer needed.
87373         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87374         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87375         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87376         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87377         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87378         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87379         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87380         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87381         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87382         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87383         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87384         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87385         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87386         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87387         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87388         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87389         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87390         Import changes from coreutils.
87391
87392 2004-08-05  Simon Josefsson  <jas@extundo.com>
87393
87394         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87395
87396 2004-08-05  Simon Josefsson  <jas@extundo.com>
87397
87398         * m4/getsubopt.m4: New file.
87399
87400 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87401
87402         Merge from coreutils.
87403
87404         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87405         * m4/getcwd-path-max.m4: New files.
87406
87407         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87408         FILESYSTEM_PREFIX_LEN ->
87409         FILE_SYSTEM_PREFIX_LEN.
87410         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87411         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87412         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87413         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87414
87415         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87416         prerequisite modules now handle the DOS stuff.
87417         Don't check for unistd.h.
87418
87419 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87420
87421         Merge from coreutils.
87422
87423         * lib/.gdb-history: Remove; this doesn't belong here.
87424
87425         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
87426         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
87427         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
87428         * lib/getcwd.c: New files.
87429
87430         * lib/dirname.h: Include <stdbool.h>.
87431         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
87432         for consistency with POSIX terminology.  All uses changed.
87433         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
87434         (strip_trailing_slashes): Use bool for booleans.
87435         * lib/stripslash.c (strip_trailing_slashes): Likewise.
87436
87437         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
87438         sometimes returns a positive errno value even when it succeeds.
87439         (print_errno_message) [!LIBC]: Fall back on strerror if
87440         __strerror_r fails.
87441
87442         * lib/path-concat.c (mempcpy): Don't define if a system header defines
87443         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
87444         (longest_relative_suffix): New function.
87445         (path_concat): Use it.  Assume first argument is not NULL.
87446         Port to DOS.  Omit redundant separators.
87447         Report an error instead of returning NULL.
87448         Use mempcpy instead of memcpy.
87449         (xpath_concat): Remove: not declared or used.
87450
87451         * lib/same.h: Include <stdbool.h>
87452         (same_name): Return bool, not int.
87453         * lib/same.c (same_name): Likewise.
87454         (errno): Don't declare; we assume C89 or better now.
87455
87456         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
87457         if not already defined.
87458
87459         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87460         * lib/dup-safer.c (errno): Likewise.
87461
87462 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87463
87464         Merge from coreutils.
87465         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87466         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87467         * modules/path-concat: Don't depend on strdup.
87468
87469 2004-08-03  Simon Josefsson  <jas@extundo.com>
87470
87471         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87472         * lib/progname.h: Don't include stdbool.h.
87473
87474 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87475
87476         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87477         * MODULES.html.sh (func_all_modules): Remove fatal.
87478
87479 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87480
87481         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87482
87483 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87484
87485         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87486         working.
87487
87488 2004-08-02  Simon Josefsson  <jas@extundo.com>
87489
87490         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87491         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87492         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87493
87494 2004-08-01  Simon Josefsson  <jas@extundo.com>
87495
87496         * lib/xgetdomainname.c: Include stdlib.h, for free().
87497
87498 2004-07-19  Bruno Haible  <bruno@clisp.org>
87499
87500         * MODULES.html.sh (func_all_modules): Add dummy.
87501
87502 2004-07-16  Simon Josefsson  <jas@extundo.com>
87503
87504         * modules/dummy: New file.
87505
87506 2004-07-16  Simon Josefsson  <jas@extundo.com>
87507
87508         * lib/dummy.c: New file.
87509
87510 2004-07-16  Bruno Haible  <bruno@clisp.org>
87511
87512         * lib/backupfile.h: Add extern "C" for C++.
87513         * lib/closeout.h: Likewise.
87514         * lib/copy-file.h: Likewise.
87515         * lib/findprog.h: Likewise.
87516         * lib/full-write.h: Likewise.
87517         * lib/pathname.h: Likewise.
87518         * lib/progname.h: Likewise.
87519         * lib/stpcpy.h: Likewise.
87520         * lib/stpncpy.h: Likewise.
87521         * lib/strcase.h: Likewise.
87522         * lib/strstr.h: Likewise.
87523         * lib/xalloc.h: Likewise.
87524
87525         * lib/mbswidth.h: Add extern "C" for C++.
87526         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87527
87528 2004-07-13  Robert Millan  <robertmh@gnu.org>
87529
87530         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87531
87532 2004-07-09  Simon Josefsson  <jas@extundo.com>
87533
87534         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87535         failed without this.)
87536
87537 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87538
87539         * modules/chown (Files): Add lib/fchown-stub.c, since
87540         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87541
87542 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87543
87544         * lib/fchown-stub.c: New file.
87545
87546 2004-06-24  Jim Meyering  <jim@meyering.net>
87547
87548         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87549
87550 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87551
87552         * modules/argz: Omit "#include".
87553
87554         * MODULES.html.sh (func_all_modules): Add calloc, to match
87555         2004-06-01 addition of calloc module.
87556
87557 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87558
87559         * m4/argz.m4: New file, which is autoupdated from libtool.
87560
87561 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87562
87563         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87564         libtool.
87565
87566 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87567
87568         * config/srclist-update: Don't insist on "USA." before the
87569         close-comment, as libtool omits the period and puts the */ on a
87570         separate line.
87571         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87572         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87573
87574 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87575
87576         * modules/argz: New file.
87577         * MODULES.html.sh (func_all_modules): Add argz.
87578
87579 2004-06-12  Jim Meyering  <jim@meyering.net>
87580         and  Paul Eggert  <eggert@cs.ucla.edu>
87581
87582         * modules/hash (Files): Add lib/xalloc.h.
87583         * modules/pipe (Depends-on): Add wait-process.
87584         * modules/stat (Depends-on): Add xalloc.
87585         * modules/userspec (Files): Add lib/userspec.h.
87586         * modules/xstrto
87587
87588         Upgrade from gettext-0.13.
87589         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87590         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87591         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87592
87593 2004-06-10  Jim Meyering  <jim@meyering.net>
87594
87595         * lib/calloc.c: New file.
87596
87597 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87598
87599         * lib/getdate.y (yylex): Allow space between sign and number.
87600         Problem reported by Dan Jacobson.
87601
87602 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87603
87604         Merge from coreutils CVS.
87605
87606         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87607         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87608         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87609         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87610         xstrtol.m4: Fix copyright date and/or serial number.
87611
87612         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87613         See if we need an fchown replacement.
87614         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87615         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87616         and use the replacement function if we detect either defect.
87617
87618         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87619         gl_UTIMECMP.
87620
87621 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87622         and  Jim Meyering  <jim@meyering.net>
87623
87624         Merge from coreutils CVS.
87625
87626         * lib/stat-macros.h: New file, with contents from file-type.h
87627         and coreutils' system.h.
87628         * lib/file-type.c: Include "stat-macros.h".
87629         * lib/file-type.h (file_type): Move all macro definitions to new file,
87630         stat-macros.h.
87631
87632         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87633         Wrap old code with this conditional.
87634         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87635         function that does not dereference symlinks.
87636         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87637
87638         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87639         dependency problems.
87640         (xreadlink): Accept new arg SIZE, for efficiency.
87641         All decls and uses changed.
87642         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87643
87644         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87645         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87646
87647         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87648         sysexits.h.
87649
87650 2004-06-01  Jim Meyering  <jim@meyering.net>
87651
87652         * m4/calloc.m4: New file.
87653
87654 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87655
87656         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87657         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87658         Also, fix a typo in a diagnostic.
87659
87660 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87661
87662         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87663         or AC_FUNC_REALLOC.
87664
87665 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87666
87667         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87668         macros to be defined.
87669         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87670         the allocator returns NULL because the requested size is zero.
87671
87672 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87673
87674         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87675         var.  Add comment explaining why libc still defines it.  This
87676         merges the following patch from glibc:
87677         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87678
87679 2004-05-20  Andreas Schwab  <schwab@suse.de>
87680
87681         * m4/free.m4: Replace free if it not known to work, not the other
87682         way round.
87683
87684 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87685
87686         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87687         present in glibc since revision 1.1 of this file.
87688         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87689         obstack_alignment_mask, obstack_alloc, obstack_base,
87690         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87691         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87692         obstack_grow0, obstack_init, obstack_int_grow,
87693         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87694         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87695         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87696         nonexistent functions.
87697
87698 2004-05-18  Karl Berry  <karl@gnu.org>
87699
87700         * config/srclist.txt: break link for vasnprintf.c.
87701
87702 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87703
87704         Port obstack to the AS/400, where pointers are 16 bytes wide and
87705         you cannot cast an integer to a valid pointer.  This patch is
87706         currently waiting to be integrated into glibc; see
87707         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87708
87709         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87710         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87711         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87712         (struct obstack): temp member is now a union of a pointer and
87713         an integer, instead of an integer.  All integer uses changed.
87714         This does not affect the physical layout of struct obstack,
87715         except on hosts (like the AS/400) where the size or alignment of
87716         void * is greater than that of ptrdiff_t.
87717         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87718         __STDC__)]: Store temporary in pointer member of union, not
87719         integer member.
87720         * lib/obstack.c: Include <stddef.h>, for offsetof.
87721         (struct fooalign): Remove; it doesn't need a name.
87722         (union fooround): Change double to long double, and add void *.
87723         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87724         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87725         not a macro.  Hence the values are always int; so remove all
87726         casts-to-int in uses.
87727
87728 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87729
87730         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87731         we can get this patch merged into glibc.
87732
87733 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87734             Paul Eggert  <eggert@cs.ucla.edu>
87735
87736         * m4/argp: Depend on alloca.
87737
87738 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87739             Paul Eggert  <eggert@cs.ucla.edu>
87740
87741         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87742         freecoding.
87743
87744 2004-05-17  Bruno Haible  <bruno@clisp.org>
87745
87746         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87747         precision that consists of a '.' followed by an empty digit string.
87748         Patch by Tor Lillqvist <tml@iki.fi>.
87749
87750 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87751
87752         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87753         for backward compatibility with older code.  We need our own
87754         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87755         it under some other name, and our alloca.h will define it.
87756
87757 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87758             Derek Price  <derek@ximbiot.com>
87759
87760         * lib/alloca.c: Include <alloca.h>, to get our interface.
87761         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87762         include <alloca.h> first.  Use C89 prototype for alloca; this
87763         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87764         Use #elif for simplicity, since we can assume C89 now.
87765         Don't try to source the system alloca.h since it will not be found
87766         and to prevent recursively including its replacement.
87767         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87768         * lib/regex.c: Likewise.
87769
87770 2004-05-16  Derek Price  <derek@ximbiot.com>
87771             Paul Eggert  <eggert@cs.ucla.edu>
87772
87773         getline cleanup.  This changes the getndelim2 API: both order of
87774         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87775         no delimiter).
87776
87777         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87778         interface does that.
87779         (getline): Always use getdelim, so that we don't have two
87780         copies of this code.
87781         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87782         if available.
87783         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87784         (GETNDELIM2_MAXIMUM): New macro.
87785         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87786         instead of the old practice of delim2==0.  All callers changed.
87787         Return -1 on overflow, instead of returning junk.
87788         Do not set *linesize unless allocation succeeds.
87789         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87790         that we include sys/types.h.
87791         * lib/getnline.h: Likewise.
87792         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87793         (getndelim2): Reorder arguments.
87794         * lib/getnline.c (getnline, getndelim):
87795         Don't discard the NMAX argument.
87796         (getnline): Invoke getndelim, to avoid code duplication.
87797         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87798         of (size_t) -1 by callers of the getnline family.
87799
87800 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87801
87802         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87803         Check for gettimeofday.
87804         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87805         Check for settimeofday, stime.
87806
87807 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87808
87809         * lib/nanosleep.c (suspended): Change its type from int to
87810         sig_atomic_t volatile.
87811         (first_call): Make it private to rpl_nanosleep, and have it
87812         be zero initially as that's a bit faster.
87813         (my_usleep): Round up fractional times instead of truncating them,
87814         as this is the usual meaning for 'sleep'.
87815
87816         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87817         doesn't work.
87818         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87819         (ENOSYS): Define if not defined.
87820         (settime): Fall back on stime if it exists and settimeofday fails.
87821         But don't bother with fallbacks if a method fails with errno == EPERM.
87822
87823 2004-05-11  Jim Meyering  <jim@meyering.net>
87824
87825         Prior to this change, the save_cwd caller required read access to the
87826         current directory on most systems (ones with the fchdir function).
87827
87828         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87829         fails, try write-only, and finally, resort to using xgetcwd.
87830
87831 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         * lib/obstack.c, obstack.h: Import changes from libc.
87834
87835 2004-04-28  Bruno Haible  <bruno@clisp.org>
87836
87837         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87838         also implicitly appends .exe to executables.
87839         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87840         accepts Windows pathnames.
87841         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87842         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87843         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87844         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87845         Reported by Derek Robert Price <derek@ximbiot.com>.
87846
87847 2004-04-21  Karl Berry  <karl@gnu.org>
87848
87849         * config/srclist.txt (localcharset.c): break sync.
87850
87851 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87852
87853         * m4/host-os.m4: Add a copyright notice.
87854
87855 2004-04-20  Jim Meyering  <jim@meyering.net>
87856
87857         Change UTILS_ to gl_ in AC_DEFINE'd names.
87858         Change utils_- and jm_-prefixed variables, too.
87859         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87860         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87861         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87862
87863         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87864         Don't emit trailing blanks.
87865         Also rename jm_-prefixed variables to have gl_ prefix.
87866
87867         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87868         Also rename jm_-prefixed variables to have gl_ prefix.
87869
87870         * m4/jm-macros.m4: Reflect the renamings.
87871         * m4/prereq.m4: Likewise.
87872
87873 2004-04-20  Jim Meyering  <jim@meyering.net>
87874
87875         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87876         memory.
87877
87878 2004-04-20  Jim Meyering  <jim@meyering.net>
87879             Bruno Haible  <bruno@clisp.org>
87880
87881         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87882         memory when realloc fails.
87883
87884 2004-04-19  Jim Meyering  <jim@meyering.net>
87885
87886         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87887         now that readutmp.c may call `free (0)'.
87888
87889 2004-04-19  Bruno Haible  <bruno@clisp.org>
87890
87891         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87892         * m4/inttypes_h.m4: Likewise.
87893         * m4/stdint_h.m4: Likewise.
87894         * m4/intmax_t.m4: Likewise.
87895         * m4/uintmax_t.m4: Likewise.
87896
87897 2004-04-18  Jim Meyering  <jim@meyering.net>
87898
87899         * m4/prereq.m4: Don't forbid jm_ prefix.
87900
87901         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87902         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87903         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87904         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87905         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87906         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87907         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87908         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87909         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87910         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87911         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87912         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87913         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87914         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87915         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87916         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87917         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87918         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87919         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87920
87921 2004-04-18  Jim Meyering  <jim@meyering.net>
87922
87923         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87924         failure, don't leak memory and do call END_UTMP_ENT.
87925
87926 2004-04-16  Jim Meyering  <jim@meyering.net>
87927
87928         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87929         coreutils' stat program.
87930         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87931
87932 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87933
87934         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87935         C89.
87936         (CHAR_BIT): Remove, since we assume C89.
87937         Include <stdint.h> if available, as per current Autoconf CVS advice.
87938
87939 2004-03-31  Jim Meyering  <jim@meyering.net>
87940
87941         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87942         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87943         * m4/xalloc.m4: Likewise.
87944
87945 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87946
87947         Merge from coreutils.
87948
87949         * m4/inttostr.m4: New file.
87950         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87951         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87952         Require gl_CLOCK_TIME.
87953         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87954
87955 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87956
87957         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87958         not bool, to be more consistent with Unix conventions.
87959         Suggested by Bruno Haible.
87960
87961         Merge from coreutils.
87962
87963         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87964         * lib/umaxtostr.c: New files.
87965
87966         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87967         the usual <time.h> dance.
87968         (get_date): Change signature to support fractional time stamps.
87969         All callers changed.
87970         * lib/getdate.y: Include "getdate.h" first, as we can now
87971         assume C89 and don't need to worry about 'const'.
87972         Similarly, include "unlocked-io.h" near start, not in middle.
87973         Include <limits.h>.
87974         (textint.value): Use long int rather than int.
87975         (textint.digits): Use size_t rather than int.
87976         (BILLION, LOG10_BILLION): New constants.
87977         (parser_control): New member rel_ns.  Members day_ordinal,
87978         time_zone, month, day, hour, minutes, rel_year, rel_month,
87979         rel_day, rel_hour, rel_minutes, rel_seconds
87980         are now long int, not int.  Member seconds is now struct timespec,
87981         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87982         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87983         not int.
87984         (%union.intval): Now long int, not int.
87985         New member timespec.
87986         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87987         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87988         (spec): Now is a timespec or an item list.
87989         (timespec, items): New nonterminals.
87990         (time, rel, relunit, number, get_date):
87991         Add support for fractional seconds.
87992         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87993         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87994         (to_hour): First arg is now long int, not int.
87995         (to_year): Returns long int, not int.
87996         Don't treat year -70 like 70.
87997         (tm_diff): Returns long int, not int.
87998         (lookup_word): Use bool instead of int when appropriate.
87999         (yylex): Use size_t for count, not int.
88000         Detect overflow when parsing large integer constants.
88001         Add support for fractions.
88002         (get_date): Make pointers 'const' if possible.
88003         Use more-portable code to detect integer overflow.
88004         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
88005         Don't use ctime; it's not reliable if the year has >4 digits.
88006
88007         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
88008         This is for compatibility with BSD.
88009
88010         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
88011         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
88012         From coreutils' system.h.
88013
88014         * lib/userspec.c: Don't include "posixver.h".
88015         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
88016         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
88017         compatible extension.  Simplify code by removing a boolean int
88018         that was always nonzero if a string was nonnull.
88019
88020 2004-03-30  Jim Meyering  <jim@meyering.net>
88021
88022         Merge from coreutils.
88023
88024         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
88025         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
88026         on some systems one must include <grp.h> before it.
88027         Reported by Christian Krackowizer.
88028
88029 2004-03-30  Jim Meyering  <jim@meyering.net>
88030
88031         Merge from coreutils.
88032
88033         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
88034
88035         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
88036         an empty input stream.
88037
88038         * lib/readtokens.c: Include <stdbool.h>.
88039         (readtoken): Use `size_t' rather than int/long.
88040         All callers adjusted.
88041         Use `bool' rather than `int' where appropriate.
88042         Use memset rather than an explicit loop.
88043         Use x2nrealloc rather than xrealloc.
88044         Allow the use of `\0' as a delimiter.
88045         (readtokens): Likewise.
88046         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
88047
88048 2004-03-30  Jim Meyering  <jim@meyering.net>
88049
88050         * m4/realloc.m4: Remove file, since now it does no more than
88051         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
88052         the `configure.ac' section of module/realloc.
88053         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
88054
88055 2004-03-30  Bruno Haible  <bruno@clisp.org>
88056
88057         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
88058         nonnull.
88059
88060 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88061
88062         Merge changes to getloadavg.c from coreutils and Emacs.
88063
88064         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
88065         Define to an expression, not to the empty string.
88066         Include cloexec.h and xalloc.h.
88067         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
88068         Use set_cloexec_flag rather than rolling our own.
88069         * lib/cloexec.c, lib/cloexec.h: New files.
88070
88071 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88072
88073         * m4/cloexec.m4: New file.
88074
88075 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88076
88077         * lib/getopt.h: Sync with libc CVS.
88078
88079 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88080             Bruno Haible  <bruno@clisp.org>
88081
88082         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
88083         mbswidth.
88084
88085 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88086             Bruno Haible  <bruno@clisp.org>
88087
88088         * lib/mbswidth.h: Include <wchar.h> only if
88089         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
88090         <wchar.h>.
88091         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
88092
88093 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88094
88095         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
88096         Sync with libc CVS.
88097         * lib/getopt_int.h: New file, also synced from libc.
88098
88099 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88100
88101         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
88102         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
88103         Bring back getopt.c, getopt.h, getopt1.c.
88104
88105 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88106
88107         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
88108         All uses changed.  Check for sa_sigaction member; this fixes
88109         a bug first reported by Jason Andrade in
88110         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88111
88112 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88113
88114         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
88115         '#if' expressions.  Unlike the code it replaces, it does not
88116         depend on (defined _SC_PAGESIZE).  However, it does depend on
88117         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
88118         first reported by Jason Andrade in
88119         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88120
88121 2004-02-25  Simon Josefsson  <jas@extundo.com>
88122
88123         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
88124
88125 2004-02-25  Simon Josefsson  <jas@extundo.com>
88126
88127         * lib/strdup.h: New file.
88128         * lib/strdup.c: Include it.
88129         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88130         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88131
88132 2004-02-23  Karl Berry  <karl@gnu.org>
88133
88134         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88135         (from fencepost.gnu.org:/gd/gnuorg).
88136
88137 2004-02-23  Karl Berry  <karl@gnu.org>
88138
88139         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88140         * config/srclist.txt: add maintain/standards documents.
88141
88142 2004-02-18  Bruno Haible  <bruno@clisp.org>
88143
88144         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88145         Reported by Derek Robert Price <derek@ximbiot.com>.
88146
88147 2004-02-16  Karl Berry  <karl@gnu.org>
88148
88149         * config/mkinstalldirs, install-sh: update from automake.
88150
88151 2004-02-06  Karl Berry  <karl@gnu.org>
88152
88153         * m4/po.m4: update from gettext 0.14.1.
88154
88155 2004-02-06  Karl Berry  <karl@gnu.org>
88156
88157         * lib/config.charset: update from gettext 0.14.1.
88158
88159 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88160
88161         Add comments and code, prompted by suggestions from Bruno Haible
88162         for sh-quote.
88163         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88164         describing the enum quoting_style values.
88165         * lib/quotearg.c (quotearg_alloc): New function.
88166         (quotearg_buffer_restyled): Treat lone { and } as special.
88167         Treat = as special.  Work around bug with older shells
88168         that "see" a '\' that is really the 2nd byte of a multibyte char.
88169         Quote empty string with shell_quoting_style.
88170
88171 2004-02-03  Bruno Haible  <bruno@clisp.org>
88172
88173         * m4/pipe.m4: New file, from GNU gettext.
88174
88175 2004-02-03  Bruno Haible  <bruno@clisp.org>
88176
88177         * lib/pipe.h: New file, from GNU gettext.
88178         * lib/pipe.c: New file, from GNU gettext.
88179
88180 2004-01-27  Bruno Haible  <bruno@clisp.org>
88181
88182         * m4/execute.m4: New file, from GNU gettext.
88183
88184 2004-01-27  Bruno Haible  <bruno@clisp.org>
88185
88186         * lib/execute.h: New file, from GNU gettext.
88187         * lib/execute.c: New file, from GNU gettext.
88188         * lib/w32spawn.h: New file, from GNU gettext.
88189
88190 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88191
88192         Merge from diffutils.
88193
88194         * lib/file-type.c (file_type): Add typed memory objects.
88195         * lib/file-type.h (S_TYPEISTMO): New macro.
88196
88197         * lib/c-stack.h (c_stack_action): Remove argv argument.
88198         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88199         (die): Don't calculate message unless segv_action returns.
88200         (get_stack_location, min_address_from_argv, max_address_from_argv,
88201         volatile stack_base, volatile_stack_size): Remove.
88202         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88203         that every segmentation violation is a stack overflow.  (Ouch!)
88204         See Debian bug 136249 (still outstanding) for more info about why
88205         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88206
88207 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88208
88209         Exit-status fix from coreutils.
88210
88211         Use exit_failure consistently in place of EXIT_FAILURE,
88212         so that program exit statuses are consistent on failure.
88213
88214         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88215         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88216         * lib/argmatch.h: Comment fix to match the above.
88217         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88218         Now a macro referring to exit_failure, instead of a separate
88219         variable.  Include "exitfail.h" to get it.
88220         * lib/xstrtol.h: Include "exitfail.h".
88221         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88222
88223         * lib/long-options.c (parse_long_options): Use prototype
88224         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88225         for clarity.
88226
88227 2004-01-21  Jim Meyering  <jim@meyering.net>
88228
88229         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88230         so as not to conflict with a different-sized __mktime_internal
88231         function in GNU libc.
88232         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88233         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88234
88235 2004-01-20  Karl Berry  <karl@gnu.org>
88236
88237         * config/config.guess: update from config.
88238
88239         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88240
88241 2004-01-20  Bruno Haible  <bruno@clisp.org>
88242
88243         Safer stack allocation.
88244         * lib/setenv.c: Include allocsa.h.
88245         (alloca): Remove fallback definition.
88246         (freea): Remove macro.
88247         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88248         instead of freea.
88249
88250 2004-01-20  Bruno Haible  <bruno@clisp.org>
88251
88252         * m4/eealloc.m4: New file, from GNU gettext.
88253
88254 2004-01-20  Bruno Haible  <bruno@clisp.org>
88255
88256         * m4/allocsa.m4: New file, from GNU gettext.
88257
88258 2004-01-20  Bruno Haible  <bruno@clisp.org>
88259
88260         * lib/xallocsa.h: New file, from GNU gettext.
88261         * lib/xallocsa.c: New file, from GNU gettext.
88262
88263 2004-01-20  Bruno Haible  <bruno@clisp.org>
88264
88265         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88266
88267 2004-01-20  Bruno Haible  <bruno@clisp.org>
88268
88269         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88270         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88271         specially.
88272
88273 2004-01-20  Bruno Haible  <bruno@clisp.org>
88274
88275         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88276         patch.
88277
88278 2004-01-20  Bruno Haible  <bruno@clisp.org>
88279
88280         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88281
88282 2004-01-20  Bruno Haible  <bruno@clisp.org>
88283
88284         * lib/eealloc.h: New file.
88285
88286 2004-01-20  Bruno Haible  <bruno@clisp.org>
88287
88288         * lib/binary-io.h: Avoid warnings on Cygwin.
88289
88290 2004-01-20  Bruno Haible  <bruno@clisp.org>
88291
88292         * lib/allocsa.h: New file, from GNU gettext.
88293         * lib/allocsa.c: New file, from GNU gettext.
88294
88295 2004-01-18  Karl Berry  <karl@gnu.org>
88296
88297         * doc/gpl.texi, doc/lgpl.texi: new files.
88298
88299 2004-01-18  Karl Berry  <karl@gnu.org>
88300
88301         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88302         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88303
88304 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88305
88306         Merge from coreutils.
88307
88308         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88309         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88310         (gl_DEFAULT_POSIX2_VERSION): Move
88311         the documentation from 'configure' into 'config.hin',
88312         so that 'configure --help' isn't burdened by it and
88313         we don't have to worry about its formatting there.
88314         Reword the documentation so that it's more succinct
88315         and can be run together into a single paragraph.
88316         * m4/same.m4 (gl_SAME): Check for pathconf.
88317
88318 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88319
88320         Merge from coreutils.
88321
88322         * lib/posixver.c: Include posixver.h.
88323
88324         * lib/same.c: Include <stdbool.h>, <limits.h>.
88325         (_POSIX_NAME_MAX): Define if not defined.
88326         (MIN): New macro.
88327         (same_name): If file names are silently truncated, report
88328         that the file names are the same if they are the same after
88329         the silent truncation.
88330
88331         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88332         conversion function.
88333         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88334         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88335         longer needed.
88336
88337 2004-01-15  Jim Meyering  <jim@meyering.net>
88338
88339         Merge from coreutils.
88340
88341         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88342         if no library is required.
88343         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88344         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88345         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88346         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88347         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88348         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88349         value, $ac_cv_search_crypt, if it's "none required".
88350         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88351         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88352         not gl_FUNC_GETLOADAVG.
88353         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88354         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88355
88356 2004-01-15  Jim Meyering  <jim@meyering.net>
88357
88358         Merge from coreutils.
88359
88360         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88361         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88362         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88363
88364         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88365         optional configure-time default.
88366
88367         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88368
88369         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88370
88371 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88372
88373         Merge from coreutils.
88374
88375         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88376         value, $ac_cv_search_nanosleep, if it's "none required".
88377
88378 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88379
88380         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88381         with like-named macro in fnmatch.c.
88382         (EXT): Use an internal constant instead.
88383
88384         Merge fnmatch patches from glibc.
88385         * lib/fnmatch.c (mbsinit): Remove define.
88386         Add libc_hidden_ver (__fnmatch, fnmatch).
88387         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88388         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88389
88390 2004-01-14  Karl Berry  <karl@gnu.org>
88391
88392         * config/install-sh: update from automake.
88393
88394 2004-01-13  Karl Berry  <karl@gnu.org>
88395
88396         * config/install-sh: update from automake.
88397
88398 2004-01-09  Karl Berry  <karl@gnu.org>
88399
88400         * config/install-sh: update from automake.
88401
88402 2004-01-05  Karl Berry  <karl@gnu.org>
88403
88404         * config/config.{sub,guess}: update from config.
88405
88406 2003-12-31  Karl Berry  <karl@gnu.org>
88407
88408         * config/depcomp: update from automake.
88409
88410 2003-12-14  Karl Berry  <karl@gnu.org>
88411
88412         * lib/config.charset: update from gettext-runtime.
88413
88414 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88415
88416         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88417         Bug reported by Alfred M. Szmidt.
88418
88419 2003-12-03  Bruno Haible  <bruno@clisp.org>
88420
88421         * m4/gettext.m4: Upgrade from gettext-0.13.
88422         * m4/po.m4: Upgrade from gettext-0.13.
88423         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
88424         * m4/intmax.m4: New file, from gettext-0.13.
88425         * m4/printf-posix.m4: New file, from gettext-0.13.
88426
88427 2003-11-29  Karl Berry  <karl@gnu.org>
88428
88429         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
88430
88431 2003-11-25  Paul Eggert  <eggert@twinsun.com>
88432             Bruno Haible  <bruno@clisp.org>
88433
88434         * lib/printf-parse.h: Don't include sys/types.h.
88435         (ARG_NONE): New macro.
88436         (char_directive): Change type of *arg_index fields to size_t.
88437         * lib/printf-parse.c: Don't include sys/types.h.
88438         (SSIZE_MAX): Remove macro.
88439         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
88440         Remove unnecessary overflow check.
88441         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
88442         fields.
88443
88444 2003-11-25  Bruno Haible  <bruno@clisp.org>
88445
88446         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
88447
88448 2003-11-25  Bruno Haible  <bruno@clisp.org>
88449
88450         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
88451         gt_TYPE_SSIZE_T.
88452
88453 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88454
88455         * modules/alloca: Remove dependency on xalloc.
88456
88457 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88458
88459         * lib/alloca.c: Remove dependency on xalloc module.
88460         (xalloc_die): Remove.
88461         (memory_full) [!defined emacs]: New macro.
88462         [!defined emacs]: Don't include xalloc.h.
88463         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88464         address arithmetic overflows.  Change datatypes a bit to avoid
88465         unnecessary casts.
88466
88467 2003-11-22  Jim Meyering  <jim@meyering.net>
88468
88469         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88470         s/size/size_t/.
88471
88472 2003-11-21  Karl Berry  <karl@gnu.org>
88473
88474         * config/config.{sub,guess}: update from config.
88475
88476 2003-11-18  Karl Berry  <karl@gnu.org>
88477
88478         * config/config.{sub,guess}: update from config.
88479
88480         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88481
88482 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88483
88484         * README: Mention that S+T cannot overflow if S is the size of
88485         an existing object and T is sufficiently small.
88486
88487 2003-11-17  Jim Meyering  <jim@meyering.net>
88488
88489         On systems without utime and without a utimes function capable of
88490         dealing with a NULL struct utimbuf* argument, this utime replacement
88491         could -- in unusual circumstances -- leak a file descriptor.
88492         * lib/utime.c: Include <unistd.h> and <errno.h>.
88493         (utime_null): Be sure to close `fd' and to preserve errno.
88494         Reported by Geoff Collyer via Arnold Robbins.
88495
88496 2003-11-17  Bruno Haible  <bruno@clisp.org>
88497
88498         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88499         (Depends-on): Add xsize.
88500
88501 2003-11-17  Bruno Haible  <bruno@clisp.org>
88502
88503         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88504
88505 2003-11-17  Bruno Haible  <bruno@clisp.org>
88506
88507         * lib/vasnprintf.c (alloca): Remove fallback definition.
88508         (freea): Remove definition.
88509         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88510         Reported by Paul Eggert.
88511
88512 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88513             Bruno Haible  <bruno@clisp.org>
88514
88515         Protect against address arithmetic overflow.
88516         * lib/printf-args.h: Include stddef.h.
88517         (arguments): Change type of field 'count' to size_t.
88518         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88519         'unsigned int' where appropriate.
88520         * lib/printf-parse.h: Include sys/types.h.
88521         (char_directive): Change type of *arg_index fields to ssize_t.
88522         (char_directives): Change type of fields 'count', max_*_length to
88523         size_t.
88524         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88525         (SSIZE_MAX): Define fallback value.
88526         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88527         instead of 'int' where appropriate. Check a_allocated, d_allocated
88528         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88529         * lib/vasnprintf.c: Include xsize.h.
88530         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88531         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88532         overflow. Avoid wraparound when converting a width or precision from
88533         decimal to binary.
88534
88535 2003-11-16  Bruno Haible  <bruno@clisp.org>
88536
88537         Update from GNU gettext.
88538         * lib/printf-parse.c: Generalize to it can be compiled for wide
88539         strings.
88540         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88541         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88542         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88543         SNPRINTF): New macros.
88544         Don't include <alloca.h> if the file is used inside libintl.
88545         (local_wcslen): New function, for Solaris 2.5.1.
88546         (VASNPRINTF): Use it instead of wcslen.
88547
88548 2003-11-16  Bruno Haible  <bruno@clisp.org>
88549
88550         * lib/xsize.h (xmax): New function.
88551         (xsum, xsum3, xsum4): Declare as "pure" functions.
88552
88553 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88554
88555         * modules/xalloc (Files): Undo latest change, since xalloc.h
88556         no longer needs SIZE_MAX or PTRDIFF_MAX.
88557
88558 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88559
88560         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88561         gl_PTRDIFF_MAX.
88562
88563 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88564
88565         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88566         "return", to pacify some unknown compiler.  Problem reported
88567         by Joerg Schilling.
88568
88569 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88570
88571         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88572         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88573         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88574         heuristic is just as accurate as far as we know, and it removes a
88575         dependency on size_max.m4 and ptrdiff_max.m4.
88576
88577 2003-11-11  Bruno Haible  <bruno@clisp.org>
88578
88579         * modules/xsize (Files): Add m4/size_max.m4.
88580         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88581
88582 2003-11-11  Bruno Haible  <bruno@clisp.org>
88583
88584         * m4/size_max.m4: New file.
88585         * m4/ptrdiff_max.m4: New file.
88586         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88587         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88588         (gl_XALLOC): Invoke it.
88589
88590 2003-11-11  Bruno Haible  <bruno@clisp.org>
88591
88592         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88593         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88594         defined.
88595
88596 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88597
88598         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88599         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88600         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88601         From Bruno Haible.
88602         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88603         not (size_t) -1, since it's defined here.
88604
88605 2003-11-09  Karl Berry  <karl@gnu.org>
88606
88607         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88608
88609 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88610
88611         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88612         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88613         Reject sizes of exactly SIZE_MAX bytes.
88614         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88615         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88616
88617 2003-11-05  Bruno Haible  <bruno@clisp.org>
88618
88619         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88620         SIZE_MAX defined in <limits.h> on Solaris.
88621
88622 2003-11-04  Jim Meyering  <jim@meyering.net>
88623
88624         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88625         variable names, rather than @VAR@.
88626         * modules/poll: Likewise.
88627
88628 2003-11-04  Bruno Haible  <bruno@clisp.org>
88629
88630         * modules/xsize: New file.
88631         * modules/linebreak: Depend on xsize.
88632         * MODULES.html.sh (func_all_modules): Add xsize.
88633
88634 2003-11-04  Bruno Haible  <bruno@clisp.org>
88635
88636         * m4/xsize.m4: New file.
88637
88638 2003-11-04  Bruno Haible  <bruno@clisp.org>
88639
88640         * lib/xsize.h: New file.
88641         * lib/linebreak.c: Include xsize.h.
88642         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88643         argument for overflow.
88644         Suggested by Paul Eggert.
88645
88646 2003-11-03  Karl Berry  <karl@gnu.org>
88647
88648         * config/config.{guess,sub}: update from config.
88649
88650 2003-11-03  Jim Meyering  <jim@meyering.net>
88651
88652         * modules/userspec (lib_SOURCES): Add userspec.h.
88653         (Include): Add "userspec.h".
88654         Improve description.
88655
88656 2003-11-03  Jim Meyering  <jim@meyering.net>
88657
88658         * lib/userspec.c: Include "userspec.h".
88659         * lib/userspec.h: New file.
88660
88661 2003-11-03  Bruno Haible  <bruno@clisp.org>
88662
88663         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88664
88665 2003-11-03  Bruno Haible  <bruno@clisp.org>
88666
88667         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88668         available, to avoid (extremely rare) race condition.
88669         Suggested by Paul Eggert.
88670
88671 2003-11-02  Karl Berry  <karl@gnu.org>
88672
88673         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88674
88675 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88676
88677         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88678         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88679         (read_filesystem_list): Set and use me_type_malloced.
88680         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88681         whatever the type happens to be), for brevity and consistency.
88682         Check for size calculation overflow on Alphas running OSF/1.
88683
88684 2003-10-31  Jim Meyering  <jim@meyering.net>
88685
88686         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88687
88688         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88689
88690 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88691             Bruno Haible  <bruno@clisp.org>
88692
88693         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88694         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88695
88696 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88697
88698         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88699         netbsd*-gnu*.  Suggested by Robert Millan.
88700
88701 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88702
88703         * modules/group-member: Depend on stdbool.
88704
88705 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88706
88707         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88708
88709 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88710
88711         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88712         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88713         after the 'gnu' in these cases.  This fixes some bugs in the
88714         previous change, and is based on suggestions by Robert Millan.
88715
88716 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88717
88718         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88719         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88720         no longer needed.
88721         * lib/quotearg.c (quotearg_n_options): Use it.
88722         * lib/group-member.c: Include <stdbool.h>.
88723         (free_group_info): Arg is now const *; don't free arg.
88724         (get_group_info): Now returns bool and accepts struct group_info *,
88725         rather than returning a malloc'ed struct group_info *.
88726         All uses changed.  Check for overflow in internal size calculation.
88727
88728         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88729         rather than xmalloc/xrealloc.
88730         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88731         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88732         conformance bug: the old code used a pointer after freeing the
88733         storage that it addressed.
88734         * lib/hash.c (hash_initialize): Simplify the code by using
88735         xalloc_oversized rather than doing it by hand.
88736         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88737         the buffer preserved.  Use free and xmalloc instead.
88738         * lib/quotearg.c (quotearg_n_options): Likewise.
88739         Use a simpler test for size overflow.  Don't use xalloc_oversized
88740         because unsigned int might be wider than size_t (!); this suggests
88741         that we should switch from unsigned int to size_t for slot numbers.
88742
88743 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88744
88745         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88746         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88747         NetBSD kernels.  Requested by Richard Stallman.
88748
88749 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88750
88751         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88752         to allocate the returned structure.  Do not allocate a subarray,
88753         as x2nrealloc will do that.
88754         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88755         instead of xnrealloc.
88756         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88757
88758 2003-10-27  Bruno Haible  <bruno@clisp.org>
88759
88760         * lib/stdbool_.h: Better support for BeOS.
88761
88762 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88763
88764         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88765         now uses inline.
88766
88767 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88768
88769         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88770         callers that want to do their own size-overflow checking.  Include
88771         <stdbool.h>, since xalloc_oversized returns bool.
88772         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88773         to use xalloc_oversized.
88774
88775         Add two functions x2realloc, x2nrealloc, for programs that grow
88776         arrays dynamically by doubling their sizes.
88777         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88778         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88779         New functions.
88780
88781         Port to C99 semantics for 'inline' of external functions.
88782         Bug reported by Bruno Haible.
88783         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88784         with the old contents of xnmalloc.
88785         (xnmalloc, xmalloc): Use it.
88786         (xnrealloc_inline): New static inline function,
88787         with the old contents of xnrealloc.
88788         (xnrealloc, xrealloc): Use it.
88789
88790         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88791         that.
88792
88793 2003-10-26  Karl Berry  <karl@gnu.org>
88794
88795         * config/srclist.txt (COPYING.DOC): no longer available from
88796         /gd/gnuorg; don't know where the ultimate source is.
88797
88798 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88799
88800         Fix several address-calculation bugs in the hash modules,
88801         plus some minor code cleanup.
88802
88803         * lib/hash.h: Include <stdbool.h>, for bool.
88804         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88805         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88806         hash_get_n_entries, hash_get_max_bucket_length,
88807         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88808         hash_rehash): Use size_t rather than unsigned.
88809         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88810         hash_get_n_buckets_used, hash_get_n_entries,
88811         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88812         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88813         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88814         Likewise.
88815         (SIZE_MAX): Define if not defined.
88816         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88817         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88818         hash_print):
88819         Use const * when possible.
88820         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88821         (check_tuning): Fix bug: if tuning parameters were very close to
88822         0 or 1, rounding errors could have caused subscript violations.
88823         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88824         (hash_initialize): Add 'fail:' label
88825         to free table and return NULL, and use it to simplify code.
88826         Use calloc rather than clearing the storage ourself.
88827         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88828         buffer size calculations.
88829         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88830         Include <stddef.h>, for size_t.
88831         * lib/hash-pjw.c (hash_pjw): Likewise.
88832         Switch to method described by Bruno Haible.
88833         Include <limits.h>, for CHAR_BIT.
88834         (SIZE_BITS): New macro.
88835
88836 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88837
88838         * m4/getline.m4 (AM_FUNC_GETLINE):
88839         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88840         hosts.  Problem reported by Derek Robert Price in
88841         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88842         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88843         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88844
88845 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88846
88847         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88848         ceiling the allocation at NMAX bytes rather than silently
88849         discarding input bytes before NMAX is reached.  This makes
88850         a difference only if NMAX exceeds SIZE_MAX / 2.
88851
88852         * lib/obstack.c: Merge from glibc.
88853         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88854         Add libc_hidden_def (_obstack_newchunk).
88855         (_obstack_free) [! defined _LIBC]: Remove.
88856         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88857         a clone of the function body.
88858         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88859         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88860
88861         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88862         glibc.
88863         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88864         arg to memcpy.
88865
88866         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88867         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88868         Don't use lvalue casts, as GCC plans to remove support for them
88869         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88870         was also present in the non-GCC version, indicating that this
88871         code had always been buggy and had never been widely used.
88872         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88873         Use the fast variant of each macro, rather than copying the
88874         definiens of the fast variant; that way, we'll be more likely to
88875         catch future bugs in the fast variants.
88876
88877 2003-10-20  Bruno Haible  <bruno@clisp.org>
88878
88879         * modules/wait-process: New file.
88880         * MODULES.html.sh (func_all_modules): Add wait-process.
88881
88882 2003-10-20  Bruno Haible  <bruno@clisp.org>
88883
88884         * m4/wait-process.m4: New file.
88885
88886 2003-10-20  Bruno Haible  <bruno@clisp.org>
88887
88888         * lib/wait-process.h: New file, from GNU gettext.
88889         * lib/wait-process.c: New file, from GNU gettext.
88890
88891 2003-10-19  Jim Meyering  <jim@meyering.net>
88892
88893         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88894         HPUX 10.20.
88895
88896 2003-10-18  Karl Berry  <karl@gnu.org>
88897
88898         * config/config.guess: update from config.
88899
88900 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88901
88902         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88903         (getgroups): First arg is int, not size_t.
88904         Don't let 'free' mangle errno.
88905
88906 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88907
88908         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88909
88910 2003-10-16  Karl Berry  <karl@gnu.org>
88911
88912         * config/config.{guess,sub}: update from config.
88913
88914 2003-10-16  Jim Meyering  <jim@meyering.net>
88915
88916         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88917         memcpy.
88918
88919 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88920
88921         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88922         (SIZE_MAX): Remove.
88923         (new_exclude, add_exclude_file): Initial size no longer needs to
88924         be a power of 2.
88925         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88926         our own address arithmetic overflow checking.
88927
88928         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88929         (fnmatch): Do not alloca more than 2000 wide characters;
88930         instead, use malloc for large buffers.
88931         Check for address arithmetic overflow, and return -1
88932         with errno set to ENOMEM in that case.
88933         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88934         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88935         instead, return -1.  Check for address arithmetic overflow.
88936
88937 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88938
88939         Handle invalid suffixes and overflow independently, so that
88940         callers can treat them independently as needed.  Fix some bugs in
88941         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88942         suffix for a human-readable blocksize.  The major caller-visible
88943         change is the addition of a new
88944         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88945         that both overflow and suffix chars were found.
88946
88947         * lib/human.c (humblock): Don't check separately for invalid suffix
88948         char; that is xstrtoumax's job (now that its bug is fixed).
88949         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88950         INTMAX_MAX]: New macros.
88951         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88952         TYPE_MAXIMUM): New macros.
88953         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88954         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88955         if overflow occurs, as it's what __strtol does and it's more useful
88956         in practice.
88957         (__xstrtol): If __strtol reports some error other than ERANGE,
88958         reflect it to the caller as LONGINT_INVALID.  If it reports
88959         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88960         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88961         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88962         value.
88963         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88964         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88965         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88966         [defined UINTMAX_MAX]: New macros.
88967
88968 2003-10-14  Bruno Haible  <bruno@clisp.org>
88969
88970         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88971
88972 2003-10-14  Bruno Haible  <bruno@clisp.org>
88973
88974         * m4/sig_atomic_t: New file, from GNU gettext.
88975         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88976
88977 2003-10-14  Bruno Haible  <bruno@clisp.org>
88978
88979         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88980         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88981         Also use volatile where needed.
88982
88983 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88984
88985         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88986         Change maintainer from Bruno Haible to 'all'.
88987
88988 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88989
88990         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88991
88992 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88993
88994         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88995         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88996         and define in terms of the other primitives.
88997         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88998         (SIZE_MAX): Define if not already defined.
88999         (array_size_overflow): New function.
89000         (xalloc_die): Abort instead of exiting if 'error' returns.
89001         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
89002         (xmalloc, xrealloc): Use them.
89003         (xcalloc): Check for address arithmetic overflow.
89004         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
89005         a bit faster than strcpy.
89006
89007 2003-10-10  Simon Josefsson  <jas@extundo.com>
89008
89009         * modules/argp (Depends-on): Add restrict and strcase.
89010
89011 2003-10-10  Simon Josefsson  <jas@extundo.com>
89012
89013         * m4/argp.m4: Add AC_C_INLINE.
89014
89015 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89016
89017         Merge getpass from libc, plus a few fixes.
89018
89019         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
89020         Include <stdbool.h>.
89021         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
89022         __fsetlocking to empty.
89023         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
89024         do include <bits/libc-lock.h>.
89025         Do not include <fcntl.h>; not needed.
89026         [_LIBC]: Include <wchar.h>.
89027         (NOTCANCEL_MODE): New macro.
89028         (flockfile, funlockfile) [_LIBC]: New macros.
89029         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
89030         [!_LIBC]: New macros.
89031         (call_fclose): New function.
89032         (getpass): Use it.  Save tty stream separately; this simplifies the
89033         code and makes it more reliable if stdin happens to equal stdout.
89034         Invoke __fsetlocking on tty.
89035         Handle thread cancellation if needed.
89036         Namespace cleanup (use __tcgetattr, __getline).
89037         Use bool for Booleans.
89038         [USE_IN_LIBIO]: Handle wide streams.
89039         [!_LIBC]: Unconditionally do the fseek, since we don't know what
89040         stream might go where.
89041
89042         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
89043         doesn't have to include <stdio.h> before us.
89044         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
89045         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
89046         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
89047         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
89048         if not declared, so that we can use getpass.c code from libc without
89049         rewriting it.
89050         (flockfile, ftrylockfile, funlockfile): New macros.
89051
89052 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89053
89054         * modules/getpass: Depend on stdbool.
89055
89056 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89057
89058         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
89059
89060 2003-10-07  Karl Berry  <karl@gnu.org>
89061
89062         * config/config.{guess,sub}: update from config.
89063
89064 2003-10-06  Jim Meyering  <jim@meyering.net>
89065             Bruno Haible  <bruno@clisp.org>
89066
89067         This lets translators provide better translations for the
89068         "Written by ..." part of --version output.
89069         * lib/version-etc.h: Include stdarg.h.
89070         (version_etc_copyright): Declare as readonly.
89071         (version_etc): Make this function variadic with a NULL-terminated list
89072         of author name strings.
89073         (version_etc_va): New declaration.
89074         * lib/version-etc.c: Include stdarg.h, stdlib.h.
89075         (version_etc_copyright): Declare as readonly.
89076         (version_etc_va): New function. Provide a different translatable string
89077         for each possible number of authors < 10. Abbreviate when there are 10
89078         authors or more.
89079         (version_etc): Make this function variadic. Call version_etc_va.
89080         Suggestion from Gary V. Vaughan.
89081
89082         * lib/long-options.h (parse_long_options): Change prototype: the
89083         authors string is moved to the end and becomes variadic.
89084         * lib/long-options.c: Include stdarg.h.
89085         (parse_long_options): Make this function variadic, too.
89086         Call version_etc_va, not version_etc.
89087
89088 2003-10-06  Bruno Haible  <bruno@clisp.org>
89089
89090         * modules/version-etc-2: Remove file.
89091         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
89092
89093 2003-10-06  Bruno Haible  <bruno@clisp.org>
89094
89095         * modules/fatal-signal: New file.
89096         * MODULES.html.sh (func_all_modules): Add fatal-signal.
89097
89098 2003-10-06  Bruno Haible  <bruno@clisp.org>
89099
89100         * m4/fatal-signal.m4: New file.
89101         * m4/signalblocking.m4: New file, from GNU gettext.
89102
89103 2003-10-06  Bruno Haible  <bruno@clisp.org>
89104
89105         * lib/version-etc-2.h: Remove file.
89106         * lib/version-etc-2.c: Remove file.
89107
89108 2003-10-06  Bruno Haible  <bruno@clisp.org>
89109
89110         * lib/fatal-signal.h: New file, from GNU gettext.
89111         * lib/fatal-signal.c: New file, from GNU gettext.
89112
89113 2003-10-05  Paul Eggert  <eggert@twinsun.com>
89114
89115         * README: Rework advice for preventing empty .o files.
89116         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
89117         not <sys/types.h>.
89118
89119 2003-10-04  Karl Berry  <karl@gnu.org>
89120
89121         * lib/argp*: update from libc.
89122
89123 2003-10-04  Karl Berry  <karl@gnu.org>
89124
89125         * config/config.{guess,sub}: update from config.
89126
89127 2003-10-02  Bruno Haible  <bruno@clisp.org>
89128
89129         * modules/lchown (Include): Add lchown.h.
89130         * modules/time_r (Include): Use "..." syntax.
89131         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89132
89133 2003-10-01  Simon Josefsson  <jas@extundo.com>
89134
89135         * MODULES.html.sh (func_all_modules): Move gethostname from section
89136         'based on' to section 'lacking' POSIX:2001.
89137
89138 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89139
89140         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89141         to output mode on the same stream.
89142
89143 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89144
89145         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89146         Fix arg typo in previous patch.
89147
89148 2003-09-28  Jim Meyering  <jim@meyering.net>
89149
89150         * lib/error.c: Correct cpp indentation.
89151
89152 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89153
89154         * modules/free: New file.
89155
89156 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89157
89158         * m4/free.m4: New file.
89159
89160 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89161
89162         * lib/minmax.h (MIN, MAX)
89163         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89164         Omit the special code that used __typeof__, since we worry that
89165         it could be more trouble than it's worth.  See:
89166         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89167         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89168
89169         * lib/free.c: New file.
89170
89171 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89172
89173         Trivial fixes to Makefile.am parts of module listings.
89174         * modules/strstr: Append strstr.h to lib_SOURCES.
89175         * modules/strcase: Likewise, for strcase.h.
89176
89177 2003-09-27  Karl Berry  <karl@gnu.org>
89178
89179         * config/mkinstalldirs: update from automake.
89180
89181 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89182
89183         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89184         (error_tail): Do not loop, reallocating temporary buffer, since
89185         the output cannot contain more wide characters than the input
89186         contains bytes, the size must be big enough already.  This avoids
89187         one potential size overflow calculation.  Check for size overflow
89188         when calculating temporary buffer size.  Free temporary buffer
89189         when done, if it was allocated with malloc; this plugs a memory
89190         leak.  Remove casts from void * to pointers, that are no longer
89191         needed now that we're assuming C89 or better.
89192
89193         Merge error changes from glibc.
89194
89195         * lib/error.c, error.h: Update copyright notice header to match glibc.
89196         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89197         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89198         Disable cancellation while printing error.
89199         * lib/error.h: Prepend __ to parameter names.
89200
89201 2003-09-26  Jim Meyering  <jim@meyering.net>
89202
89203         * lib/error.c (error_tail): Move some declarations
89204         into inner scope where the local variables are used.
89205
89206 2003-09-26  Bruno Haible  <bruno@clisp.org>
89207
89208         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89209         stpncpy().
89210         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89211
89212 2003-09-26  Bruno Haible  <bruno@clisp.org>
89213
89214         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89215         (stpncpy): Define as alias for gnu_stpncpy.
89216         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89217
89218 2003-09-25  Simon Josefsson  <jas@extundo.com>
89219
89220         * lib/xgetdomainname.h: New file.
89221         * lib/xgetdomainname.c: New file.
89222
89223 2003-09-25  Simon Josefsson  <jas@extundo.com>
89224             Bruno Haible  <bruno@clisp.org>
89225
89226         * modules/getdomainname: New file.
89227         * modules/xgetdomainname: New file.
89228         * MODULES.html.sh (func_all_modules): Add getdomainname,
89229         xgetdomainname.
89230
89231 2003-09-25  Simon Josefsson  <jas@extundo.com>
89232             Bruno Haible  <bruno@clisp.org>
89233
89234         * m4/getdomainname.m4: New file.
89235
89236 2003-09-25  Simon Josefsson  <jas@extundo.com>
89237             Bruno Haible  <bruno@clisp.org>
89238
89239         * lib/getdomainname.h: New file.
89240         * lib/getdomainname.c: New file.
89241
89242 2003-09-25  Karl Berry  <karl@gnu.org>
89243
89244         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89245
89246 2003-09-25  Karl Berry  <karl@gnu.org>
89247
89248         * config/install-sh: update from automake.
89249
89250 2003-09-25  Bruno Haible  <bruno@clisp.org>
89251
89252         * modules/version-etc-2: New file, from modules/version-etc with
89253         modifications.
89254         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89255
89256 2003-09-25  Bruno Haible  <bruno@clisp.org>
89257
89258         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89259         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89260
89261 2003-09-24  Simon Josefsson  <jas@extundo.com>
89262
89263         * modules/xgethostname: Add xgethostname.h.
89264
89265 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89266
89267         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89268         the buffer associated with the argument.  Bug reported by
89269         Simon Josefsson.
89270
89271 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89272
89273         * README: Document assumptions that 'int' is at least 32 bits
89274         wide, that integer arithmetic is 2's complement without overflow,
89275         that there are no holes in integer values, that adding sizes of
89276         two nonoverlapping objects can't overflow, and that all-bits-zero
89277         yields scalar zero.  Fix spelling and capitalization typos.
89278
89279 2003-09-19  Karl Berry  <karl@gnu.org>
89280
89281         * lib/argp.h: update from libc.
89282
89283 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89284
89285         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89286         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89287         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89288
89289 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89290
89291         * gnulib-tool: Use "test -h", not "test -L", for portability
89292         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89293         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89294         (sed_extract_prog): Issue s commands one-by-one, rather than
89295         using \| in one s command.
89296
89297 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89298
89299         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89300         input error, instead of returning NULL the next time we are called
89301         (and therefore losing track of errno).
89302
89303 2003-09-16  Bruno Haible  <bruno@clisp.org>
89304
89305         * gnulib-tool (func_create_testdir): Warn about duplicated
89306         dependencies.
89307
89308 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89309
89310         * modules/argmatch, modules/fatal, modules/obstack,
89311         modules/xalloc, modules/xgethostname: Sort dependencies by
89312         importance, not alphabetically.
89313
89314 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89315
89316         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89317         fails, so that the caller gets the proper errno.
89318
89319         * lib/readutmp.c (read_utmp): Likewise.
89320         Check for fstat error.  Close stream and free storage
89321         when failing.
89322
89323 2003-09-14  Karl Berry  <karl@gnu.org>
89324
89325         * config/srclist.txt (strdup.c): disable for c89 changes.
89326
89327 2003-09-14  Jim Meyering  <jim@meyering.net>
89328
89329         * lib/getloadavg.c: Correct cpp indentation.
89330         * lib/strdup.c: Likewise.
89331         * lib/vasnprintf.c: Likewise.
89332
89333 2003-09-14  Bruno Haible  <bruno@clisp.org>
89334
89335         * modules/fwriteerror: New file.
89336         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89337
89338 2003-09-14  Bruno Haible  <bruno@clisp.org>
89339
89340         * lib/fwriteerror.h: New file.
89341         * lib/fwriteerror.c: New file.
89342
89343 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89344
89345         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89346         modules/xgethostname, modules/xalloc: Depend on exit.
89347
89348 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89349
89350         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89351
89352         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89353         and AC_MINIX, too, so that their extensions are available.
89354
89355         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89356         This macro has been superseded by gl_BACKUPFILE.
89357
89358         More patches to assume C89 or better.
89359
89360         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89361
89362         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89363         unconditionally.
89364         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89365         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89366         Include <string.h>, <stdlib.h> unconditionally.
89367         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89368         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89369         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89370         headers or for string.h.
89371         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89372         or strtoul.
89373
89374         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89375         headers.
89376         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89377         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89378         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89379         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89380         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89381         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89382         memcpy, memset.
89383         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89384         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89385         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89386         strtol.
89387         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89388         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89389         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89390         strtoul.
89391
89392 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89393
89394         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89395         * lib/obstack.c [!defined _LIBC]: Likewise.
89396         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89397         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89398         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89399
89400         More changes to assume C89 or better.
89401
89402         * lib/error.c (error_tail): Assume vprintf.
89403
89404         * lib/argmatch.c (getenv): Remove decl.
89405         * lib/progreloc.c (get_full_program_name): Define via prototype.
89406         * lib/setenv.c (clearenv): Likewise.
89407         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89408         needed.
89409         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89410         (malloc, memcpy): Remove decls.
89411         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89412         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89413         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89414         (memcpy): Remove macro.
89415         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89416         (__P): Remove.  All uses removed.
89417         (PTR): Remove.  All uses changed to void *.
89418         (CHAR_BIT, NULL): Remove.
89419         (spaces, zeros, memset_space, memset_zero)
89420         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89421         Remove.
89422         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89423         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
89424         Define with prototype.
89425         Remove now-unnecessary prototype decl.
89426         (extra_args_spec): Assume ANSI C.  All uses changed.
89427         (extra_args_spec_iso): Remove.
89428         (my_strftime, emacs_strftimeu): Define via prototype.
89429         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
89430         unconditionally.
89431         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
89432         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
89433         (strtoul, strtol): Remove decls.
89434         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
89435         LONG_MAX): Remove.
89436         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89437         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
89438         (LOCALE_PARAM_PROTO): New macro.
89439         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
89440         (INTERNAL (strtol), strtol): Define with a prototype.
89441         (PARAMS): Remove.  All uses removed.
89442         * lib/tempname.c: Include <string.h> unconditionally.
89443         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
89444         * lib/xgethostname.c (main): Define with a prototype.
89445         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
89446         Include <stdlib.h> unconditionally.
89447         (calloc, malloc, realloc, free): Remove decls.
89448         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
89449         Include <stdlib.h> unconditionally.  Sort include file names.
89450         (strtod): Remove.
89451         (xstrtod): Define with a prototype.
89452         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
89453         (strtol, strtoul): Remove decls.
89454
89455 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89456
89457         More patches to assume C89 or better.
89458         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89459         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89460         string.h, memchr, STDC_HEADERS.
89461
89462 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89463
89464         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89465         Include <stdlib.h>, <string.h> unconditionally.
89466         Remove now-unnecessary cast to char *.
89467         * lib/strnlen.c: Include <string.h> unconditionally.
89468         * lib/yesno.c (yesno): Define with a prototype.
89469
89470 2003-09-11  Bruno Haible  <bruno@clisp.org>
89471
89472         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89473
89474 2003-09-10  Jim Meyering  <jim@meyering.net>
89475
89476         * lib/error.c: Correct indentation of cpp directives.
89477
89478 2003-09-10  Bruno Haible  <bruno@clisp.org>
89479
89480         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89481         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89482         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89483         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89484         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89485         <stdlib.h> and <string.h> checks.
89486         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89487         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89488
89489 2003-09-10  Bruno Haible  <bruno@clisp.org>
89490
89491         * lib/strcspn.c: Include <string.h> unconditionally.
89492         * lib/strpbrk.c: Include <string.h> unconditionally.
89493         * lib/strstr.c: Include <string.h> unconditionally.
89494         * lib/unicodeio.c: Include <string.h> unconditionally.
89495         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89496         * lib/unsetenv.c: Likewise.
89497         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89498         * lib/yesno.c: Include <stdlib.h> unconditionally.
89499         (rpmatch): Add prototype.
89500
89501 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89502
89503         More patches to assume C89 or better.
89504         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89505         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89506         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89507         or for string.h.
89508         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89509         stdlib.h.
89510         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89511         C headers.
89512         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89513         string.h.
89514         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89515         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89516         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89517         or for string.h.
89518         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89519         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89520         C headers.
89521         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89522         memcpy.
89523         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89524         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89525         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89526         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89527         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89528         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89529         string.h, free.
89530         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89531         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89532         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89533         C headers, or for string.h.
89534         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89535         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89536         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89537         headers, memory.h, stdlib.h, string.h, strings.h.
89538         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89539         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89540         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89541         strchr.
89542         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89543         headers, memory.h, string.h.
89544         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89545         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89546         free.
89547         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89548         headers.
89549         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89550         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89551         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89552         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89553         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89554
89555 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89556
89557         More K&R removal.
89558
89559         * lib/acosl.c (main): Use a prototype.
89560         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89561         tanl.c: Likewise.
89562
89563         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89564
89565         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89566         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89567         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89568         with a prototype.
89569         * lib/getopt.c (const): Remove macro.
89570         Include <string.h> unconditionally.
89571         (my_index): Remove; all uses changed to strchr.
89572         (strlen): Remove decl.
89573         (exchange): Remove forward decl; no longer needed.
89574         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89575         Define with prototype.
89576         * lib/getopt1.c (const): Remove macro.
89577         (getopt_long, getopt_long_only, main): Define with prototype.
89578
89579         * lib/getugroups.c: Include <string.h> unconditionally.
89580
89581         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89582         (getusershell, setusershell, endusershell, readname, main):
89583         Define with prototypes.
89584
89585         * lib/group-member.c: Include group-member.h first.
89586         Include <stdlib.h> unconditionally.
89587
89588         * lib/hard-locale.c: Include hard-locale.h first.
89589         Include <stdlib.h>, <string.h> unconditionally.
89590
89591         * lib/hash.c (free, malloc): Remove decls.
89592         Include <stdlib.h> unconditionally.
89593
89594         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89595         (getenv): Do not declare.
89596
89597         * lib/idcache.c: Include <string.h> unconditionally.
89598
89599         * lib/long-options.c: Include long-options.h first, to test interface.
89600         Include <stdlib.h> unconditionally.
89601
89602         * lib/makepath.c: Include makepath.h first, to test interface.
89603         Include <stdlib.h> and <string.h> unconditionally.
89604
89605         * lib/linebuffer.c: Include <stdlib.h>.
89606         (free): Remove decl.
89607
89608         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89609         stddef.h. rpl_malloc returns void *, not char *.
89610         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89611         prototype.
89612
89613         * lib/md5.h: Include <limits.h> unconditionally.
89614         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89615         (__P): Remove; all uses removed.
89616         * lib/md5.c: Include "md5.h" first.
89617         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89618         md5_buffer, md5_process_bytes, md5_process_block):
89619         Define with prototypes.
89620         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89621         * lib/sha.c: Include "sha.h" first.
89622         Include <stdlib.h>, <string.h> unconditionally.
89623
89624         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89625         * lib/memcmp.c (__ptr_t): Likewise.
89626         * lib/memrchr.c (__ptr_t): Likewise.
89627         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89628         Include <string.h> unconditionally.
89629         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89630         * lib/memchr.c: Include <stdlib.h> unconditionally.
89631         * lib/memchr.c (LONG_MAX): Remove.
89632         * lib/memrchr.c (LONG_MAX): Likewise.
89633         * lib/memchr.c (__memchr): Define via a prototype.
89634         * lib/memrchr.c (__memrchr): Likewise.
89635         * lib/memcmp.c (__P): Remove, and remove all uses.
89636         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89637         Remove forward decls; no longer needed.
89638         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89639         Use types required by C89 in prototype.
89640
89641         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89642         * lib/savedir.c: Likewise.
89643         * lib/mkdir.c (free): Remove decl.
89644         * lib/rmdir.c (rmdir): Define with a prototype.
89645         * lib/savedir.c: Include savedir.h first, to test interface.
89646
89647         * lib/mktime.c (STDC_HEADERS): Remove.
89648         Include <stdlib.h>, <string.h> unconditionally.
89649
89650         * lib/modechange.c: Include <stdlib.h> unconditionally.
89651         (malloc): Remove decl.
89652
89653         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89654         (free): Remove decl.
89655
89656         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89657         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89658         (This type really should be intptr_t, but that's a C99ism.)
89659         (_obstack_memcpy): Remove: all uses changed to memcpy.
89660         Include <string.h> unconditionally.
89661         (struct obstack): Assume __STDC__ for types of members
89662         chunkfun, freefun, extra_arg.
89663         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89664         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89665         obstack_begin, obstack_specify_allocation,
89666         obstack_specify_allocation_with_arg, obstack_chunkfun,
89667         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89668         Remove unprototyped decls and the macros that use them.
89669         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89670         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89671         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89672         (defined __STDC__ && __STDC__)]:
89673         Remove nonprototyped code.
89674         Include <stdlib.h> unconditionally.
89675         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89676         _obstack_allocated_p, _obstack_free, obstack_free,
89677         _obstack_memory_used, print_and_abort):
89678         Define using prototypes.
89679         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89680         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89681         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89682         obstack_next_free, obstack_object_size, obstack_room) [0]:
89683         Remove unused, unprototyped code.
89684
89685         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89686
89687         * lib/physmem.c (physmem_total, physmem_available, main): Define
89688         with prototypes.
89689
89690         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89691         (main): Define with a prototype.
89692
89693         * lib/posixver.c (getenv): Remove decl.
89694
89695         * lib/putenv.c (malloc): Returns void *, not char *.
89696         Include <string.h> unconditionally.
89697         (strchr, memcpy, NULL): Do not define.
89698
89699         * lib/readtokens.c: Include readtokens.h first, to test interface.
89700         Include <stdlib.h>, <string.h> unconditionally.
89701         (init_tokenbuffer): Define with a prototype.
89702
89703         * lib/regex.c (PARAMS): Remove.  All uses removed.
89704         All uses of _RE_ARGS removed, too.
89705         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89706         unconditionally.
89707         (bzero): Assume memset exists.
89708         (memcmp, memcpy, NULL): Remove.
89709         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89710         char, or assignments to local vars of type signed char.
89711         (init_syntax_once, PREFIX(extract_number_and_incr),
89712         PREFIX(print_partial_compiled_pattern),
89713         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89714         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89715         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89716         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89717         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89718         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89719         wcs_compile_range, byte_compile_range, truncate_wchar,
89720         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89721         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89722         count_mbs_length, wcs_re_match_2_internal,
89723         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89724         PREFIX(alt_match_null_string_p),
89725         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89726         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89727         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89728         now-unnecessary declaration, if any.
89729         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89730         regcomp, regexec):
89731         Remove now-unnecessary casts among pointer types.
89732         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89733
89734         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89735         (free): Remove decl.
89736
89737         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89738
89739         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89740         (free): Remove decl.
89741
89742         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89743         * lib/xgetcwd.c: Likewise.
89744
89745         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89746         (free): Remove decl.
89747
89748         * lib/strchrnul.c (strchrnul): Define with a prototype.
89749         Fix bug: c_in was not converted to char before searching.
89750
89751         The following changes are not K&R related:
89752
89753         * lib/group-member.h: Include <sys/types.h>, so that this file is
89754         self-contained.
89755         * lib/makepath.h: Likewise.
89756
89757         * lib/getusershell.c (readname, default_index, line_size, readname):
89758         Use size_t, not int, for sizes.
89759         (readname): If the size overflows, report an error instead of
89760         looping forever.
89761
89762 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89763
89764         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89765         libc.
89766
89767 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89768
89769         * README: New section: portability guidelines.
89770
89771 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89772
89773         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89774         C89 spec.
89775
89776 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89777
89778         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89779
89780 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89781
89782         Assume C89 or better; remove K&R cruft.
89783         A few of these changes were first proposed by Derek Robert Price
89784         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89785
89786         * lib/addext.c: Include <string.h> unconditionally.
89787         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89788         Don't declare getenv or malloc.
89789
89790         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89791         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89792         (NULL): Remove.
89793         (find_stack_direction, alloca): Use prototypes.
89794
89795         * lib/atexit.c (atexit): Define using a prototype.
89796
89797         * lib/basename.c, dirname.c, stripslash.c:
89798         Include <string.h> unconditionally.
89799
89800         * lib/bcopy.c: Include <stddef.h>.
89801         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89802
89803         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89804
89805         * lib/error.h (error, error_at_line, error_print_progname)
89806         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89807         * lib/error.c: Include error.h first, to check interface.
89808         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89809         (VA_START): Remove; all uses changeed to va_start.
89810         (exit, strerror): Remove decls.
89811         (error_print_progname): Prototype uncondionally.
89812         Don't include <errno.h>; no longer needed.
89813         (private_strerror): Remove.
89814         (error_tail): Always define.
89815         (error, error_at_line): Assume C89 or better; always use prototypes.
89816         * lib/fatal.c: Include "fatal.h" first, to test interface.
89817         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89818         (VA_START): Remove; all uses changed to va_start.
89819         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89820         this case.
89821         (exit): Remove decl.
89822         (fatal): Prototype unconditionally.  Assume va_start works.
89823         Abort at end, to pacify gcc.
89824
89825         * lib/euidaccess.c (main): Define with a prototype.
89826
89827         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89828
89829         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89830
89831         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89832         prototypes.
89833         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89834         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89835         (getenv): Remove decl.
89836         (fnmatch): Define using a prototype.
89837         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89838         (FCT): Define using a prototype.
89839
89840         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89841
89842         * lib/gethostname.c: Include <stddef.h>.
89843         (gethostname): Define with prototype.  Length is size_t, not int.
89844
89845 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89846
89847         Assume C89 or better; remove K&R cruft.
89848         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89849         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89850         string.h, getenv, malloc.
89851         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89852         headers.
89853         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89854         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89855         do not check for strerror.
89856         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89857         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89858         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89859         do not check for doprnt or vprintf.
89860         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89861         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89862
89863 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89864
89865         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89866         getversion.c should have been removed then, but was accidentally
89867         preserved.
89868
89869         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89870         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89871
89872 2003-09-08  Karl Berry  <karl@gnu.org>
89873
89874         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89875                 config, forget about prep.
89876
89877         * config/depcomp, missing: update from automake.
89878
89879 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89880
89881         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89882         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89883
89884 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89885
89886         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89887         copy_tm_result.  Bug reported by Simon Josefsson in
89888         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89889
89890 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89891
89892         * m4/time_r.m4: New file.
89893         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89894         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89895         is. Check for timegm declaration.
89896         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89897         Do not check for gmtime_r.
89898         Replace mktime if __mktime_internal does not exist and if mktime
89899         hasn't been replaced already.
89900
89901 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89902
89903         * lib/time_r.c, lib/time_r.h: New files.
89904
89905         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89906         __localtime_r.
89907         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89908         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89909
89910         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89911         __gmtime_r.
89912         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89913         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89914         Include <time_r.h>.
89915
89916         * lib/timegm.c: Switch to glibc implementation, with the following
89917         changes:
89918         [defined HAVE_CONFIG_H]: Include <config.h>.
89919         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89920         (__mktime_internal) [!defined _LIBC]: New decl.
89921         (__gmtime_r) [!defined _LIBC]: New macro and function.
89922         (timegm): Use a prototype, since gnulib assumes C89.
89923         Do not bother declaring tmp to be const, as it's not really usefu.
89924         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89925         (timegm): Declare only if HAVE_DECL_TIMEGM.
89926
89927 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89928
89929         * MODULES.html.sh (func_all_modules): Add time_r.
89930         * modules/time_r: New file.
89931         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89932         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89933
89934 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89935
89936         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89937         Bug reported by Lute Kamstra in
89938         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89939
89940         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89941         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89942         course with correspondingly smaller numbers for tomorrow and
89943         yesterday.  From Tadayoshi Funaba.  Originally installed into
89944         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89945         coreutils merge?).
89946
89947 2003-08-31  Simon Josefsson  <jas@extundo.com>
89948
89949         * modules/timegm: New file.
89950         * MODULES.html.sh (func_all_modules): Add timegm.
89951
89952 2003-08-31  Simon Josefsson  <jas@extundo.com>
89953
89954         * m4/timegm.m4: New file.
89955
89956 2003-08-31  Simon Josefsson  <jas@extundo.com>
89957
89958         * lib/timegm.h: New file.
89959         * lib/timegm.c: New file.  Based on
89960         wget-1.8.2/src/http.c:mktime_from_utc.
89961
89962 2003-08-31  Karl Berry  <karl@gnu.org>
89963
89964         * lib/argp.h: update from libc.
89965
89966 2003-08-28  Bruno Haible  <bruno@clisp.org>
89967
89968         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89969         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89970         followed by '#define fnmatch fnmatch_posix' gives an error.
89971
89972 2003-08-28  Bruno Haible  <bruno@clisp.org>
89973
89974         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89975         warning on QNX, which defines O_BINARY to 000000.
89976
89977 2003-08-27  Jim Meyering  <jim@meyering.net>
89978
89979         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89980         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89981         would fail after 32.  Reported by Danny Levinson.  Details here:
89982         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89983
89984 2003-08-24  Bruno Haible  <bruno@clisp.org>
89985
89986         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89987         MSVC7 <stdio.h> is included later.
89988
89989 2003-08-22  Simon Josefsson  <jas@extundo.com>
89990
89991         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89992
89993 2003-08-20  Karl Berry  <karl@gnu.org>
89994
89995         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89996
89997 2003-08-20  Bruno Haible  <bruno@clisp.org>
89998
89999         * modules/progname: New file.
90000         * MODULES.html.sh (func_all_modules): Add progname.
90001
90002 2003-08-20  Bruno Haible  <bruno@clisp.org>
90003
90004         * lib/progname.h: New file, from GNU gettext.
90005         * lib/progname.c: New file, from GNU gettext.
90006         * lib/progreloc.c: New file, from GNU gettext.
90007
90008 2003-08-19  Jim Meyering  <jim@meyering.net>
90009
90010         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
90011         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
90012
90013 2003-08-19  Bruno Haible  <bruno@clisp.org>
90014
90015         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
90016         more.
90017
90018 2003-08-19  Bruno Haible  <bruno@clisp.org>
90019
90020         * lib/xstrdup.c: Assume <string.h> exists.
90021
90022 2003-08-18  Paul Eggert  <eggert@twinsun.com>
90023
90024         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
90025         in makefile rules.
90026
90027 2003-08-18  Jim Meyering  <jim@meyering.net>
90028
90029         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
90030         * m4/lib-ld.m4: Likewise.
90031
90032 2003-08-18  Jim Meyering  <jim@meyering.net>
90033
90034         * lib/setenv.h: Indent nested cpp directive.
90035         * lib/vasnprintf.c: Remove trailing blanks.
90036
90037 2003-08-17  Simon Josefsson  <jas@extundo.com>
90038
90039         * modules/xstrndup: New file.
90040         * MODULES.html.sh (func_all_modules): Add xstrndup.
90041
90042 2003-08-17  Simon Josefsson  <jas@extundo.com>
90043
90044         * modules/argp: Fix autoconf macro name. Add more dependencies.
90045
90046 2003-08-17  Simon Josefsson  <jas@extundo.com>
90047
90048         * m4/xstrndup.m4: New file.
90049
90050 2003-08-17  Simon Josefsson  <jas@extundo.com>
90051
90052         * m4/argp.m4: New file.
90053
90054 2003-08-17  Simon Josefsson  <jas@extundo.com>
90055             Bruno Haible  <bruno@clisp.org>
90056
90057         * lib/xstrndup.h: New file.
90058         * lib/xstrndup.c: New file.
90059
90060 2003-08-17  Bruno Haible  <bruno@clisp.org>
90061
90062         * modules/strndup (Files, Include): Add lib/strndup.h.
90063
90064 2003-08-17  Bruno Haible  <bruno@clisp.org>
90065
90066         * modules/euidaccess (Files): Add lib/euidaccess.h.
90067
90068 2003-08-17  Bruno Haible  <bruno@clisp.org>
90069
90070         * lib/strndup.h: New file.
90071
90072 2003-08-17  Bruno Haible  <bruno@clisp.org>
90073
90074         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
90075         like AC_GNU_SOURCE.
90076         * modules/extensions (configure.ac): Comment out the invocation of
90077         gl_USE_SYSTEM_EXTENSIONS.
90078
90079 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90080
90081         Merges from coreutils, etc.
90082         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
90083         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
90084         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
90085         fixing a typo.
90086         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
90087         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
90088
90089 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90090
90091         Document merge from coreutils.
90092         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
90093         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
90094         * modules/utime: Add m4/utimes-null.m4.
90095
90096 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90097
90098         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
90099         space, undoing this 2003-08-12 change:
90100         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90101
90102 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90103
90104         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
90105         strtoul.c from libc, undoing this 2003-08-12 change:
90106         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90107
90108 2003-08-16  Jim Meyering  <jim@meyering.net>
90109
90110         Merges from coreutils.
90111         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
90112         prefix.  Adjust cache variables similarly.  Create 500 rather than
90113         just 300 files, to exercise bug on Darwin6.5, too.
90114         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
90115         $missing_dir.
90116         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
90117         AM_SYS_POSIX_TERMIOS.
90118         Reported by mkc@mathdogs.com.
90119         Also change use of $am_cv_sys_posix_termios
90120         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
90121         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
90122         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
90123         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
90124         in /proc/mounts until it finds one with matching device number.  This
90125         is unnecessary when the FILE argument *is* a mount point.  No stat call
90126         is necessary in that case.  So, disable the statvfs-testing code on
90127         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90128         as RedHat bug# 84846.
90129         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90130         to 1MB, so as not to render systems with no stack size limit (e.g.,
90131         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90132         Include <unistd.h>.  On some systems,
90133         it is required for the definition of _SC_PAGESIZE.
90134
90135 2003-08-16  Jim Meyering  <jim@meyering.net>
90136
90137         Merge from coreutils.
90138         * lib/xstrtoimax.c: #else #if -> #elif.
90139         * lib/xstrtoumax.c: Likewise.
90140
90141 2003-08-16  Jim Meyering  <jim@meyering.net>
90142
90143         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90144         * m4/utimes.m4: Removed.
90145         * m4/utimes-null.m4: Renamed from utimes.m4.
90146
90147         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90148         to 1MB, so as not to render systems with no stack size limit (e.g.,
90149         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90150         Include <unistd.h>.  On some systems,
90151         it is required for the definition of _SC_PAGESIZE.
90152
90153 2003-08-16  Jim Meyering  <jim@meyering.net>
90154         and Paul Eggert  <eggert@cs.ucla.edu>
90155
90156         Merges from coreutils, etc.
90157
90158         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90159         using the latest version from cvs.  This avoids problems with #line
90160         directives using a vendor (Sun) compiler.
90161         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90162         Don't set GETGROUPS_LIB here; now it's
90163         done via getgroups.m4's wrapper function.
90164         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90165         rather than just in sh-util/configure.in, so that the
90166         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90167         same.
90168         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90169         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90170         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90171         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90172         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90173         Remove code that is now done by the newly-required macros.
90174         Append $(EXEEXT) to DF_PROG.
90175         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90176         Do not invoke or require the following here,
90177         since prereq.m4 or some gnulib .m4 now does this for us:
90178         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90179         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90180         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90181         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90182         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90183         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90184         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90185         AC_FUNC_OBSTACK.
90186         Do not replace the following functions, as this is now the job
90187         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90188         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90189         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90190         atexit getpass, strdup, getpagesize.
90191         Replace 'raise'.
90192         Do not check for the following functions, as this is now the job
90193         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90194         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90195         setregid.
90196         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90197         Check for sys/sysctl.h.
90198         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90199         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90200         of checking for ssize_t ourselves.
90201
90202         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90203         Require every macro that gnulib/modules/* suggests for us.
90204         (jm_PREREQ_ADDEXT): New macro.
90205         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90206         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90207
90208         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90209         (gl_PHYSMEM): Use it.
90210         Also check for `table' function.
90211         Check for new headers and functions.
90212         Add check for sys/sysmp.h.
90213         With suggestions from Kaveh Ghazi.
90214         Ignore headers that are present but cannot be compiled.  This
90215         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90216         C 5.4.
90217
90218 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90219
90220         Document merge from coreutils.
90221         * modules/userspec: Depend on posixver.
90222         * modules/strftime: Depend on tzset.
90223
90224 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90225
90226         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90227         rather than tab, after '#' in shell-script copyright notices.
90228         Suggested by Bruno Haible.
90229
90230 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90231
90232         * config/srclist-update: Use three spaces, rather than tab, after '#'
90233         in shell-script copyright notices.  Suggested by Bruno Haible.
90234         Remove unnecessary parenthesization in regular expression.
90235
90236 2003-08-15  Jim Meyering  <jim@meyering.net>
90237
90238         Merge from coreutils.
90239         * lib/xgethostname.c: Include <stdlib.h>.
90240         (xghostname): Don't exit for anything other than memory-related
90241         failure; just return NULL.
90242         * lib/userspec.c: Include "posixver.h".
90243         (parse_user_spec): Accept `.' as a separator only
90244         in pre-POSIX-200112 mode.
90245         * lib/strtoimax.c: Use #elif rather than #else #if.
90246         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90247         Remove function, now that we can rely on a working tzset function.
90248         [!_LIBC]: Ensure that the required autoconf test has been run.
90249         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90250         Use underlying_strftime for %r.
90251         * lib/sha.c: Merge in some clean-up and optimization changes from
90252         glibc.
90253         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90254         Ensure that it is a multiple of 64.
90255         Rearrange loop exit tests so as to avoid performing an
90256         additional fread after encountering an error or EOF.
90257         * lib/realloc.c: Update copyright date.
90258
90259 2003-08-15  Jim Meyering  <jim@meyering.net>
90260         and Paul Eggert  <eggert@twinsun.com>
90261
90262         Merge from coreutils.
90263         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90264         member but strut utmpx does not.  Needed for AIX 4.3.3.
90265         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90266
90267 2003-08-15  Jim Meyering  <jim@meyering.net>
90268         and Paul Eggert  <eggert@cs.ucla.edu>
90269
90270         Merges from coreutils, etc.
90271         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90272         Require gl_FUNC_TZSET_CLOBBER.
90273         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90274         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90275         members.
90276
90277 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90278
90279         Help the merge from coreutils.
90280         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90281         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90282         * m4/tzset.m4: Use it too.
90283
90284 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90285
90286         * modules/tzset: New file.
90287
90288 2003-08-14  Jim Meyering  <jim@meyering.net>
90289
90290         Merges from coreutils.
90291         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90292         variable names, rather than @FNMATCH_H@.
90293         * modules/alloca: Likewise for $(ALLOCA_H).
90294
90295         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90296         the three copies of the literal target, `fnmatch.h'.
90297         * modules/alloca (alloca.h): Likewise.
90298
90299 2003-08-14  Jim Meyering  <jim@meyering.net>
90300
90301         Merge from coreutils.
90302         * m4/tzset.m4: New file.
90303         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90304         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90305         otherwise, AIX 5.1 systems would end up using the latter.
90306         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90307         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90308         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90309         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90310
90311 2003-08-14  Jim Meyering  <jim@meyering.net>
90312
90313         Merge from coreutils.
90314         * lib/obstack.h: Whitespace changes.
90315         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90316         and xcalloc return values.
90317         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90318         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90319         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90320         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90321         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90322         error from mntctl.
90323         Use mntctl's return value to drive the entry-processing loop, since
90324         we can't rely on the value of the vmt_length member in the last
90325         entry.  On some systems doing so could result in exhausting
90326         virtual memory.  Based in part on a patch from Mike Jetzer.
90327
90328 2003-08-14  Jim Meyering  <jim@meyering.net>
90329         and Paul Eggert  <eggert@twinsun.com>
90330
90331         Merges from coreutils, plus other fixes.
90332         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90333         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90334         for credits and details.  Thanks to Kaveh Ghazi for helping
90335         to keep these files in sync.
90336         (ARRAY_SIZE): Define it.
90337         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90338         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90339         (memcasecmp): Don't assume size_t fits in unsigned int.
90340         Remove casts and duplicate code.
90341         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90342         (memcpy): Remove definition.
90343         Merge in some clean-up and optimization changes from glibc.
90344         [BLOCKSIZE]: Move definition to top of file.
90345         Ensure that it is a multiple of 64.
90346         Rearrange loop exit tests so as to avoid performing an
90347         additional fread after encountering an error or EOF.
90348         * lib/md5.h (md5_uintptr): Define.
90349         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90350         return to the initial working directory.  Preserve errno
90351         for caller.
90352         * lib/idcache.c: Include "xalloc.h".
90353         (xmalloc, xrealloc): Remove decls.
90354         (getuser): Remove casts no longer required in C89.
90355         * lib/human.c: Include stdio.h, for sprintf.
90356         * lib/group-member.c: Include "xalloc.h".
90357         (xmalloc, xrealloc): Remove decls.
90358         (get_group_info): Remove casts no longer required in C89.
90359         * lib/getusershell.c (readname): Remove casts no longer required in
90360         C89.
90361         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90362         * lib/getline.c: Whitespace fix, from coreutils.
90363
90364 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90365
90366         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90367         Check for isascii.
90368
90369         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90370         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90371         Undo previous (whitespace-only) change.
90372
90373 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90374
90375         * lib/exclude.c: Include <ctype.h>
90376         (IN_CTYPE_DOMAIN): New macro.
90377         (is_space): New fn.
90378         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90379         and empty lines.
90380
90381         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90382         Undo previous (whitespace-only) change.
90383
90384 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90385
90386         * config/srclist-update: Change update back to the old behavior,
90387         leaving whitespace alone.  Use one 'sed' command rather than a
90388         pipeline.
90389         (fixlicense): Now a variable, not a function.
90390         (remove_trailing_blanks): Remove.
90391         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90392         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90393         Undo previous (whitespace-only) change.
90394
90395 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90396
90397         Merge from coreutils.
90398         * modules/euidaccess: Add lib_SOURCES, include for new
90399         file euidaccess.h
90400
90401 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90402
90403         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90404         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90405         Normalize leading white space and remove trailing white space.
90406
90407         Merge from coreutils
90408         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90409
90410         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90411         0.12.1.  These files are now being upgraded automatically by
90412         ../config/srclist-update.
90413
90414 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90415
90416         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90417         Normalize leading white space and remove trailing white space.
90418         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90419         notice, as per ../config/srclist-update.
90420
90421         Merge from coreutils.
90422         * lib/euidaccess.h: New file.
90423         * lib/euidaccess.c: Include it.
90424         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
90425         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
90426         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
90427
90428 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90429
90430         * config/srclist-update: Add copyright notice.
90431         (remove_id_lines, remove_trailing_blanks): New constants.
90432         (fixfile): Use them to normalize spacing a bit in copied files.
90433         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90434         Normalize leading white space and remove trailing white space.
90435
90436         * config/texinfo.tex: Sync with texinfo.
90437
90438         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
90439         strtoul.c from libc, to merge coreutils whitespace changes.
90440
90441         * config/srclist.txt: Get the following m4 files from gettext:
90442         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
90443         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
90444         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
90445         wint_t.m4.
90446
90447 2003-08-12  Karl Berry  <karl@gnu.org>
90448
90449         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
90450         been made.
90451
90452 2003-08-11  Paul Eggert  <eggert@twinsun.com>
90453
90454         * modules/gnu-source, m4/gnu-source.m4:
90455         Remove; we're assuming Autoconf 2.54 or later now.
90456         Suggested by Bruno Haible.
90457         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90458
90459 2003-08-11  Bruno Haible  <bruno@clisp.org>
90460
90461         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90462
90463 2003-08-11  Bruno Haible  <bruno@clisp.org>
90464
90465         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90466         (vasnprintf): Use it instead of wcslen.
90467
90468 2003-08-11  Bruno Haible  <bruno@clisp.org>
90469
90470         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90471         value to ensure that _Bool promotes to int. Use #define for _Bool when
90472         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90473
90474 2003-08-10  Karl Berry  <karl@gnu.org>
90475
90476         * lib/regex.h: update from libc (whitespace fix).
90477
90478 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90479
90480         Merge some files from coreutils.  These changes were
90481         originally made by Jim Meyering.
90482         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90483         many older Unixes require this.
90484         * lib/alloca.c (alloca): Remove cast to argument of free;
90485         no longer needed in C89.
90486         * lib/alloca_.h, regex.h: Fix white space to match
90487         what GNU indent does.
90488
90489 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90490
90491         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90492         apparently Emacs's Unicode mode got confused before my 2003-08-05
90493         checkin.
90494
90495 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90496
90497         * m4/extensions.m4: New file.
90498         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90499         Require gl_USE_SYSTEM_EXTENSIONS.
90500         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90501         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90502
90503 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90504
90505         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90506         * modules/extensions, modules/gnu-source: New files.
90507         * modules/timespec, modules/unlocked-io: Depend on extensions.
90508
90509 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90510
90511         * modules/restrict: New file.
90512         * MODULES.html.sh (func_all_modules): Add restrict.
90513         * modules/regex: Depend on restrict.
90514
90515 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90516
90517         * m4/restrict.m4: New file.
90518         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90519
90520 2003-08-07  Bruno Haible  <bruno@clisp.org>
90521
90522         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90523         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90524
90525 2003-08-07  Bruno Haible  <bruno@clisp.org>
90526
90527         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90528         makes the module 'getndelim2' compatible with the module 'getline'.
90529
90530 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90531
90532         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90533         byte with "\201" to avoid glitches when editing that source file
90534         with multi-gnome-terminal.
90535
90536 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90537
90538         * lib/bumpalloc.h: Remove.
90539
90540 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90541
90542         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90543         * modules/bumpalloc: Remove.
90544
90545 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90546
90547         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90548         GNU coding style.
90549
90550         Merge from coreutils.
90551         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90552         1. From glibc.
90553         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90554         from Karl Berry, implemented by Jim Meyering.
90555         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90556         from Dmitry V. Levin.
90557         Remove anachronistic cast of xrealloc.
90558         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90559         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90560         type. Otherwise, it wouldn't compile with at least /bin/cc on
90561         ymp-cray-unicos9.0.2.X.
90562         Combine two mostly-identical uses of alloca into one.
90563         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90564
90565 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90566
90567         [From Emacs.]
90568
90569         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90570         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90571         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90572         obsolete NLIST_NAME_UNION.
90573         [__GNU__]: Undef BSD and FSCALE.
90574         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90575
90576 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90577
90578         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90579         an enum type, so that it's guaranteed to promote to int.  See:
90580         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90581
90582 2003-08-03  Karl Berry  <karl@gnu.org>
90583
90584         * config/depcomp: update from automake.
90585
90586 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90587
90588         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90589         (strerror): Don't assume that a printable int fits in 14 bytes.
90590
90591 2003-07-31  Bruno Haible  <bruno@clisp.org>
90592
90593         * modules/getpass-gnu: New file.
90594         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90595
90596 2003-07-31  Bruno Haible  <bruno@clisp.org>
90597
90598         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90599
90600 2003-07-24  Karl Berry  <karl@gnu.org>
90601
90602         * config/missing: update from automake.
90603
90604 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90605             Bruno Haible  <bruno@clisp.org>
90606
90607         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90608         * lib/getline.c (getline, getdelim): Likewise.
90609         Remove _GNU_SOURCE define; now it's defined in config.h through
90610         m4/getline.m4.
90611
90612 2003-07-23  Karl Berry  <karl@gnu.org>
90613
90614         * config/config.sub: update from prep.
90615
90616 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90617
90618         * modules/xalloc (Depends-on): Add exitfail.
90619         * modules/xmemcoll: Likewise.
90620
90621 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90622
90623         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90624         over-parenthesization in macros.
90625
90626         Sync with coreutils.
90627
90628         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90629         required by C99.
90630
90631         Use `exit_failure' for xalloc and xmemcoll instead of their own
90632         private exit-failure variables.
90633         * lib/xalloc.h (xalloc_exit_failure): Remove.
90634         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90635         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90636         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90637         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90638         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90639
90640 2003-07-20  Jim Meyering  <jim@meyering.net>
90641
90642         * modules/closeout (Depends-on): Add exitfail.
90643         Suggestion from Bruno Haible.
90644
90645 2003-07-19  Karl Berry  <karl@gnu.org>
90646
90647         * config/config.sub: update from prep.
90648
90649 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90650
90651         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90652         Remove.
90653         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90654         to test that it can stand by itself.  Include "exitfail.h".
90655         Clients should set exit_failure instead.
90656         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90657
90658 2003-07-18  Bruno Haible  <bruno@clisp.org>
90659
90660         * modules/getndelim2: New file.
90661         * modules/getline: Share files with module getndelim2.
90662         * modules/getnline: Depend on getndelim2 instead of sharing files with
90663         it. Add getnline.c to lib_SOURCES.
90664         * MODULES.html.sh (func_all_modules): Add getndelim2.
90665
90666 2003-07-18  Bruno Haible  <bruno@clisp.org>
90667
90668         * m4/getndelim2.m4: New file.
90669         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90670         invoke gl_PREREQ_GETNDELIM2.
90671         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90672         gl_PREREQ_GETNDELIM2.
90673         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90674         gl_GETNDELIM2.
90675
90676 2003-07-18  Bruno Haible  <bruno@clisp.org>
90677
90678         * lib/getndelim2.h: New file.
90679         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90680         getndelim2.h.
90681         (getndelim2): Make non-static. Change return type to ssize_t.
90682         * lib/getline.h: Change argument names.
90683         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90684         * lib/getnline.c: Include getndelim2.h.
90685
90686 2003-07-18  Andreas Schwab  <schwab@suse.de>
90687
90688         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90689
90690 2003-07-17  Karl Berry  <karl@gnu.org>
90691
90692         * config/config.sub: update from prep.
90693
90694 2003-07-17  Bruno Haible  <bruno@clisp.org>
90695
90696         * modules/getnline: New file.
90697         * modules/getline: Add lib/getndelim2.c to source file list.
90698         * MODULES.html.sh (func_all_modules): Add getnline.
90699
90700 2003-07-17  Bruno Haible  <bruno@clisp.org>
90701
90702         * m4/getnline.m4: New file.
90703
90704 2003-07-17  Bruno Haible  <bruno@clisp.org>
90705
90706         * m4/Makefile.am.in: Remove file.
90707         * m4/Makefile.am: Remove file.
90708         * m4/Makefile.in: Remove file.
90709
90710 2003-07-17  Bruno Haible  <bruno@clisp.org>
90711
90712         * lib/getnline.h: New file.
90713         * lib/getnline.c: New file.
90714         * lib/getndelim2.c: New file, extracted from getline.c.
90715         (getndelim2): Renamed from getdelim2, with added nmax argument.
90716         * lib/getline.c: Include getndelim2.c.
90717         (getdelim2): Moved out to getndelim2.c.
90718         (getline, getdelim): Update.
90719
90720 2003-07-17  Bruno Haible  <bruno@clisp.org>
90721
90722         * lib/Makefile.am: Remove file.
90723         * lib/Makefile.in: Remove file.
90724
90725 2003-07-17  Bruno Haible  <bruno@clisp.org>
90726
90727         * configure.in: Remove file.
90728         * Makefile.in: Remove file.
90729
90730 2003-07-17  Bruno Haible  <bruno@clisp.org>
90731
90732         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90733
90734 2003-07-16  Karl Berry  <karl@gnu.org>
90735
90736         * config/srclist-update: was running fixlicense twice, which caused
90737                 texinfo.tex to be nullified for some reason.  Simplify,
90738                 $gplsrc is no longer needed as far as I can see?
90739
90740 2003-07-16  Jim Meyering  <jim@meyering.net>
90741
90742         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90743
90744 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90745
90746         * config/srclist.txt: Get the following files from gettext-runtime/intl
90747         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90748         ref-del.sin.  From Bruno Haible.
90749         * config/srclist-update (fixfile): Change grep pattern again, since the
90750         previous fix didn't work (there was another trailing $).  Use
90751         '[$]' to escape the $s.
90752
90753 2003-07-15  Karl Berry  <karl@gnu.org>
90754
90755         * lib/vasnprintf.c: update from gettext.
90756
90757 2003-07-15  Karl Berry  <karl@gnu.org>
90758
90759         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90760         gets expanded when surrounded by '$'.
90761
90762 2003-07-15  Jim Meyering  <jim@meyering.net>
90763
90764         * modules/save-cwd: Don't depend on error.  From Derek Price.
90765
90766 2003-07-15  Jim Meyering  <jim@meyering.net>
90767
90768         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90769
90770 2003-07-14  Simon Josefsson  <jas@extundo.com>
90771
90772         * modules/mempcpy: New file.
90773         * MODULES.html.sh (func_all_modules): Add mempcpy.
90774
90775 2003-07-14  Simon Josefsson  <jas@extundo.com>
90776
90777         * m4/mempcpy.m4: New file.
90778
90779 2003-07-14  Simon Josefsson  <jas@extundo.com>
90780
90781         * lib/mempcpy.h: New file.
90782         * lib/mempcpy.c: New file.
90783
90784 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90785
90786         * modules/getdate, modules/posixtm: Depend on mktime.
90787
90788 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90789
90790         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90791         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90792         unicodeio.c, unicodeio.h, unlocked-io.h:
90793         Switch from LGPL to GPL.
90794
90795 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90796
90797         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90798         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90799         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90800         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90801         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90802         updated automatically by ../config/srclist-update.  This changes
90803         their license from LPGL to GPL.
90804
90805 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90806
90807         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90808         assumed to refer to the root of the most recent stable gettext version.
90809         * config/srclistvars.sh: Add defaults for eggert.
90810         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90811         Match "This program" as well as "The program".  This is needed
90812         for gettext.
90813
90814 2003-07-14  Jim Meyering  <jim@meyering.net>
90815
90816         Don't emit diagnostics.  Let callers do that.
90817         * lib/save-cwd.c: Don't include "error.h".
90818         (save_cwd): Don't call error.  Ensure that errno is valid
90819         when returning nonzero.
90820
90821         * lib/save-cwd.h (restore_cwd): Update prototype.
90822         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90823         Simplify.  Don't call error upon failure.  Let callers do that.
90824         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90825         when auditing is enabled.  But don't bother updating the #if.
90826
90827 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90828
90829         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90830         it breaks C++ compilation.
90831         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90832
90833 2003-07-10  Simon Josefsson  <jas@extundo.com>
90834
90835         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90836
90837 2003-07-10  Jim Meyering  <jim@meyering.net>
90838
90839         * m4/clock_time.m4: Remove trailing blank.
90840         * m4/intmax_t.m4: Likewise.
90841
90842 2003-07-10  Jim Meyering  <jim@meyering.net>
90843
90844         * lib/vasnprintf.c: Remove trailing blanks.
90845         Make cpp indentation consistent.
90846
90847 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90848
90849         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90850         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90851         Switch from LGPL to GPL.
90852
90853 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90854
90855         * config/srclist.txt: Sort sublists.  Add
90856         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90857         that differ from gnulib for one reason or another; we'd like this list
90858         to be smaller but for now let's document what we have.
90859
90860 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90861
90862         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90863         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90864         and sweeter "eval x=$x".
90865         * config/srclist.txt: Get lib/argp* from glibc.
90866
90867 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90868
90869         * lib/mktime.c: Fix some boundary cases and remove need for floating
90870         point.
90871
90872         Issue a compile-time diagnostic if time_t is floating point, or if
90873         two's complement arithmetic is not in effect, or if arithmetic
90874         right shift does not propagate the sign.  These assumptions were
90875         all in the original code but they weren't checked.
90876
90877         (TIME_T_MIDPOINT, verify): New macros.
90878         (__isleap): Remove; it has integer overflow problems.
90879         (leapyear): New function, without those problems.
90880         (ydhms_tm_diff): Remove; splitting into two parts.
90881         (ydhms_diff): New function, containing the arithmetic part of
90882         the old ydhms_tm_diff function.  Issue a compile-time
90883         diagnostic if we are not using C99 integer division.
90884         Avoid casts when possible.
90885         (guess_time_tm): New function, containing the checking part of
90886         the old ydhms_tm_diff function.  Return the new value, rather than
90887         the difference between it and the old.  Accept a new argument T
90888         so that *T specifies the old value.  Check for overflow in the result.
90889
90890         (__mktime_internal): Use a time_t offset, not a long int offset.
90891         This undoes the 2003-06-04 change, which is no longer needed now
90892         that we have better overflow checking.
90893         (localtime_offset): Likewise.
90894
90895         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90896         and long are 64-bit but int is only 32-bit.
90897         (ydhms_diff): Use long int to store year1 and yday1.
90898         Issue a compile-time diagnostic if long int is not wide enough.
90899
90900         (__mktime_internal): Use long int to store adjusted year and yday.
90901         Use plain C rather than preprocessor commands, if that doesn't
90902         affect efficiency.
90903         Check for overflow (and try to repair) after each probe
90904         rather than checking only at the very end.  This avoids some bugs
90905         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90906         does not equal GMT offset at maximum time).
90907         Use integer to check for overflow rather than floating point; this
90908         is more portable to non-IEEE hosts, and is a tad faster.
90909         When we detect that we are oscillating between two values,
90910         don't check whether tm_isdst has the requested value, since
90911         we already know the answer.  When tm_isdst has the wrong value,
90912         use a different heuristic to find the right one, based on the
90913         extreme values actually observed in practice in tz2003a,
90914         rather than the (overly optimistic) "previous 3 calendar quarters".
90915
90916         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90917         "T const" to accommodate glibc style.
90918         (check_result): Use less-confusing report format.  "long" -> "long int.
90919         (main): Likewise.
90920         Don't loop if the iteration overflows time_t.
90921         Allow a negative step in the iteration.
90922
90923 2003-07-06  Karl Berry  <karl@gnu.org>
90924
90925         * config/depcomp: update from automake.
90926         * config/config.sub: update from prep.
90927
90928 2003-07-03  Karl Berry  <karl@gnu.org>
90929
90930         * config/config.guess: update from prep.
90931
90932 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90933
90934         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90935         xreadlink.c now includes it unconditionally.
90936
90937 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90938
90939         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90940         having it depend on HAVE_SYS_TYPES_H.
90941
90942 2003-07-01  Bruno Haible  <bruno@clisp.org>
90943
90944         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90945         <sys/types.h> should be sufficient.
90946         Reported by Paul Eggert.
90947
90948 2003-06-26  Karl Berry  <karl@gnu.org>
90949
90950         * config/depcomp: update from automake.
90951
90952 2003-06-26  Bruno Haible  <bruno@clisp.org>
90953
90954         * modules/human: Depend on module stdbool.
90955
90956 2003-06-25  Bruno Haible  <bruno@clisp.org>
90957
90958         * modules/readlink: New file.
90959         * modules/xreadlink: Depend on it.
90960         * MODULES.html.sh (func_all_modules): Add readlink.
90961
90962 2003-06-25  Bruno Haible  <bruno@clisp.org>
90963
90964         * m4/readlink.m4: New file.
90965
90966 2003-06-25  Bruno Haible  <bruno@clisp.org>
90967
90968         * lib/readlink.c: New file.
90969
90970 2003-06-22  Karl Berry  <karl@gnu.org>
90971
90972         * config/srclist.txt: update mkinstalldirs from automake.
90973         * config/mkinstalldirs: update.
90974
90975 2003-06-22  Bruno Haible  <bruno@clisp.org>
90976
90977         Portability to mingw32.
90978         * m4/ssize_t.m4: New file, from GNU gettext.
90979         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90980         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90981
90982 2003-06-22  Bruno Haible  <bruno@clisp.org>
90983
90984         * modules/safe-read: Add m4/ssize_t.m4.
90985         * modules/xreadlink: Add m4/ssize_t.m4.
90986
90987 2003-06-20  Bruno Haible  <bruno@clisp.org>
90988
90989         Assume C89, so PARAMS isn't needed.
90990         * lib/unicodeio.h (PARAMS): Remove.
90991         * lib/unicodeio.c: Don't use PARAMS.
90992
90993 2003-06-18  Karl Berry  <karl@gnu.org>
90994
90995         * config/config.{guess,sub}: update from prep.
90996
90997 2003-06-18  Jim Meyering  <jim@meyering.net>
90998
90999         Merge changes from coreutils.
91000         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
91001         Remove explicit declarations of xmalloc and realloc.
91002         Include xalloc.h.
91003         (read_utmp): Remove anachronistic cast of xmalloc.
91004
91005 2003-06-17  Paul Eggert  <eggert@twinsun.com>
91006
91007         Assume C89, so PARAMS isn't needed.
91008         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
91009         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
91010         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
91011         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
91012         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
91013         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
91014         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
91015         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
91016         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
91017         lib/xstrtod.h, lib/xstrtol.h: Likewise.
91018         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
91019         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
91020         no longer needed. Anyway, config.h should always be included before any
91021         other file.
91022
91023 2003-06-11  Simon Josefsson  <jas@extundo.com>
91024
91025         * modules/sysexits: New file.
91026         * MODULES.html.sh (func_all_modules): Add sysexits.
91027
91028 2003-06-11  Simon Josefsson  <jas@extundo.com>
91029
91030         * lib/sysexit_.h: New file.
91031
91032 2003-06-11  Derek Price  <derek@ximbiot.com>
91033
91034         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
91035         necessary.
91036
91037 2003-06-11  Bruno Haible  <bruno@clisp.org>
91038
91039         * m4/sysexits.m4: New file.
91040
91041 2003-06-10  Simon Josefsson  <jas@extundo.com>
91042
91043         * lib/argp.h: New file, from glibc.
91044         * lib/argp-ba.c: New file, from glibc.
91045         * lib/argp-eexst.c: New file, from glibc.
91046         * lib/argp-fmtstream.c: New file, from glibc.
91047         * lib/argp-fmtstream.h: New file, from glibc.
91048         * lib/argp-fs-xinl.c: New file, from glibc.
91049         * lib/argp-help.c: New file, from glibc.
91050         * lib/argp-namefrob.h: New file, from glibc.
91051         * lib/argp-parse.c: New file, from glibc.
91052         * lib/argp-pv.c: New file, from glibc.
91053         * lib/argp-pvh.c: New file, from glibc.
91054         * lib/argp-xinl.c: New file, from glibc.
91055
91056 2003-06-10  Simon Josefsson  <jas@extundo.com>
91057
91058         * modules/strchrnul: New file.
91059
91060 2003-06-10  Simon Josefsson  <jas@extundo.com>
91061
91062         * modules/argp: New file.
91063
91064 2003-06-10  Simon Josefsson  <jas@extundo.com>
91065
91066         * m4/strchrnul.m4: New file.
91067
91068 2003-06-10  Simon Josefsson  <jas@extundo.com>
91069
91070         * lib/strchrnul.h: New file.
91071         * lib/strchrnul.c: New file.
91072
91073 2003-06-10  Bruno Haible  <bruno@clisp.org>
91074
91075         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
91076
91077 2003-06-07  Karl Berry  <karl@gnu.org>
91078
91079         * config/config.{guess,sub}: update from prep.
91080
91081 2003-06-07  Jim Meyering  <jim@meyering.net>
91082
91083         * modules/strtod: Use $(...) notation, not @...@ for
91084         AC_REPLACE'd variables.
91085         * modules/localcharset: Likewise.
91086
91087 2003-06-07  Jim Meyering  <jim@meyering.net>
91088
91089         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
91090         in place of my name in the copyright comment.
91091         Remove definition and uses of __P.
91092
91093         From coreutils.
91094         * lib/stat.c: Don't declare xmalloc explicitly.
91095         Instead, include "xalloc.h".
91096         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
91097         xrealloc, and xcalloc return values.
91098         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
91099         Improve comment.
91100         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
91101
91102 2003-06-07  Bruno Haible  <bruno@clisp.org>
91103
91104         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
91105         avoid AC_CONFIG_LINKS.
91106         * modules/fnmatch (Makefile.am): Use explicit creation rule for
91107         fnmatch.h, to avoid AC_CONFIG_LINKS.
91108         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
91109
91110 2003-06-07  Bruno Haible  <bruno@clisp.org>
91111
91112         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
91113         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
91114         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91115         directory.
91116         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
91117         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91118         directory.
91119
91120 2003-06-06  Jim Meyering  <jim@meyering.net>
91121
91122         Merge from coreutils.
91123         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
91124         Consolidate declarations and initializations of *_base* locals.
91125
91126         Merge from coreutils.
91127         This avoids a core dump on systems without GNU putenv,
91128         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91129         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91130         (unsetenv): New static function, from GNU libc.
91131         (rpl_putenv): Use it.
91132
91133         * lib/modechange.c: Remove trailing blanks.
91134
91135         Merge from coreutils.
91136         * lib/fsusage.c: Remove declaration of statfs.
91137         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91138
91139         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91140
91141 2003-06-06  Jim Meyering  <jim@meyering.net>
91142
91143         * lib/stdbool_.h: Renamed from stdbool.h.in.
91144
91145 2003-06-06  Jim Meyering  <jim@meyering.net>
91146             Bruno Haible  <bruno@clisp.org>
91147
91148         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91149         Adjust Makefile.am snippet not to redirect directly to target.
91150         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91151
91152 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91153
91154         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91155         mismatch, look in future quarters as well as past.  This fixes a
91156         bug when processing fall-backwards gaps immediately after a long
91157         period of daylight-saving time.
91158
91159         * lib/mktime.c: Assume freestanding C89 or better.
91160         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91161         (__P): Remove; not used.
91162         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91163         (mktime, not_equal_tm, print_tm, check_result,
91164         main): Use prototypes.  Use const * where appropriate.
91165         (main): Fix typo in testing code that uncovered by above changes.
91166         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91167
91168 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91169
91170         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91171         locale.h, localeconv.  This merges changes from coreutils.
91172
91173         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91174         It can be removed after the next Autoconf is released.
91175         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91176         needed.
91177
91178 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91179
91180         * lib/mktime.c: Fix Debian bug 177940
91181         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91182         (localtime_offset): Now long int, not time_t, because we want it
91183         to be guaranteed to be signed.  All uses changed.
91184         (__mktime_internal): If overflow would occur when adding offset,
91185         don't add it.
91186
91187         Merge 'human' changes from coreutils.  Rewrite to support
91188         locale-specific notations like thousands separators.
91189         * lib/human.c: Simplify authorship notice.
91190         Include human.h immediately after config.h.
91191         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91192         <limits.h>: Do not include, since human.h does.
91193         (SIZE_MAX, UINTMAX_MAX): New macros.
91194         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91195         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91196         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91197         (power_letter): Renamed from suffixes.
91198         (generate_suffix_backwards): Remove.
91199         (adjust_value): Now takes int style (because of human.h changes)
91200         and long double value (for greater precision on some platforms).
91201         (group_number): New function.
91202         (human_readable): Use it.  Use integer options, not enum.
91203         Put the options before the sizes in the arg list.
91204         Support all the new options.
91205         The old human_readable function has been removed;
91206         use inttostr.h instead.
91207         (human_readable, default_block_size, humblock):
91208         Use uintmax_t, not int, for block sizes.
91209         (human_readable_inexact, block_size_types): Remove.
91210         (block_size_opts): New constant.
91211         (human_options): Renamed from human_block_size, with new signature
91212         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91213         * lib/human.h: Add copyright and authorship notice.
91214         Include <limits.h> and <stdbool.h> unconditionally.
91215         (PARAMS): Remove.  All uses removed.
91216         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91217         (enum human_inexact_style): Remove tag; now a nameless enum.
91218         (human_floor, human_ceiling, human_round_to_even): Now have
91219         values 2, 0, 1 rather than -1, 1, 0.
91220         (human_group_digits, human_suppress_point_zero, human_autoscale,
91221         human_base_1024, human_SI, human_B): New constants.
91222         (human_readable_inexact, human_block_size): Remove.
91223         (human_readable): Size args are now uintmax_t, not int.
91224         (human_options): New decl.
91225
91226         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91227         unnecessary now that we assume C89 or better.  This change
91228         imported from coreutils.
91229
91230         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91231         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91232         in the 2003-05-30 sync from glibc.
91233
91234         .h files should stand alone, but we shouldn't include <sys/types.h>
91235         if we can get away with just <stddef.h>.
91236
91237         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91238         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91239         rather than <sys/types.h>, as we merely need size_t.
91240         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91241         to get size_t.
91242         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91243         Include <stdio.h>, to get FILE.
91244         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91245         memcasecmp.h has included <stddef.h> and all we need is size_t.
91246         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91247         our interface, instead of including <sys/types.h>
91248
91249 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91250
91251         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91252         now, as glibc mktime is buggy on non-glibc systems.
91253
91254 2003-06-03  Karl Berry  <karl@gnu.org>
91255
91256         * config/config.sub: update from prep.
91257
91258 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91259
91260         [from coreutils]
91261         Fix some minor time-related bugs with POSIX time arguments.
91262         Some valid time stamps were being rejected (notably -1, and
91263         time stamps before 1900 on 64-bit hosts).  And some invalid
91264         time stamps were being accepted, e.g. September 31.
91265
91266         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91267         that we can return (time_t) -1 successfully.
91268         * lib/posixtm.c: Likewise.
91269         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91270         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91271         (t): Remove static var.
91272         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91273         of static var.  All uses changed.
91274         (year): Do not reject years before 1900; they can occur with
91275         64-bit time_t.
91276         (posix_time_parse): Do not check for out-of-range components;
91277         that is now the caller's responsibility, since our checks were
91278         only approximations.
91279         (posixtime): Use mktime to check for out-of-range components,
91280         since it knows them exactly.
91281         If mktime returns (time_t) -1, check whether an error actually occurred
91282         by invoking localtime on -1.
91283         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91284         posixtime failures better.
91285         Improve the test data (in comments only).
91286
91287 2003-06-02  Karl Berry  <karl@gnu.org>
91288
91289         * config/mkinstalldirs (version): new variable.
91290         (--version): new option.
91291         (usage): improve message.
91292
91293 2003-05-30  Karl Berry  <karl@gnu.org>
91294
91295         * lib/mktime.c: update from libc.
91296
91297 2003-05-30  Bruno Haible  <bruno@clisp.org>
91298
91299         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91300         * config/config.rpath: Upgrade to gettext-0.12.1.
91301
91302 2003-05-30  Bruno Haible  <bruno@clisp.org>
91303
91304         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91305         * m4/nls.m4: New file, from gettext-0.12.1.
91306         * m4/po.m4: New file, from gettext-0.12.1.
91307         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91308
91309 2003-05-30  Bruno Haible  <bruno@clisp.org>
91310
91311         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91312         * lib/localcharset.h: Likewise.
91313         * lib/localcharset.c: Likewise.
91314
91315 2003-05-29  Karl Berry  <karl@gnu.org>
91316
91317         * config/config.rpath: update from gettext.
91318
91319 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91320
91321         Assume the headers required for C89 freestanding compilers.
91322         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91323         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91324         * m4/human.m4 (gl_HUMAN): Likewise.
91325         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91326         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91327         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91328         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91329         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91330         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91331
91332 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91333
91334         Assume the headers required for C89 freestanding compilers.
91335         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91336         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91337         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91338         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91339         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91340         define, since <limits.h> is guaranteed to do that.
91341         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91342         * lib/exclude.c: Include <stdbool.h> unconditionally.
91343         * lib/tempname.c: Include <stddef.h> unconditionally.
91344         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91345         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91346         <stddef.h> does that.
91347         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91348         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91349         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91350         needed.
91351         * lib/xstrtol.c: Likewise.
91352         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91353         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91354
91355         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91356         warnings on some platforms.
91357
91358         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91359         arbitrarily.
91360
91361 2003-05-26  Jim Meyering  <jim@meyering.net>
91362
91363         Merge in a change from coreutils:
91364         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91365         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91366         that condition, rather than `-1' which is slightly misleading.
91367         Change the name of the cache variable to have the gl_ prefix.
91368         Prompted by a patch from Richard Dawe for DJGPP.
91369
91370 2003-05-24  Karl Berry  <karl@gnu.org>
91371
91372         * config/config.guess: update from prep.
91373
91374 2003-05-22  Karl Berry  <karl@gnu.org>
91375
91376         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91377
91378 2003-05-20  Karl Berry  <karl@gnu.org>
91379
91380         * config/config.guess: update from prep.
91381
91382 2003-05-18  Karl Berry  <karl@gnu.org>
91383
91384         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91385         might actually be set by the user.
91386
91387         * config/depcomp, install-sh, mdate-sh: update from automake.
91388
91389 2003-05-17  Bruno Haible  <bruno@clisp.org>
91390
91391         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91392         invalid expansion for AC_EGREP_CPP.
91393         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91394         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91395         Suggested by Akim Demaille <akim@epita.fr> in
91396         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91397
91398 2003-05-12  Jim Meyering  <jim@meyering.net>
91399
91400         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91401         the space-padded-by-default conversion specifiers, %e, %k, %l.
91402
91403 2003-05-12  Bruno Haible  <bruno@clisp.org>
91404
91405         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91406         the string is longer than 4 KB.
91407
91408 2003-05-11  Karl Berry  <karl@gnu.org>
91409
91410         * config/config.{guess,sub}: update from prep.
91411
91412 2003-05-09  Bruno Haible  <bruno@clisp.org>
91413
91414         * modules/error: Add m4/strerror_r.m4 to file list.
91415
91416 2003-05-03  Bruno Haible  <bruno@clisp.org>
91417
91418         Upgrade to Unicode-4.0.
91419         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91420         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91421         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91422         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91423         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
91424         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
91425         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
91426         Change width of U+E0100..U+E01EF from 1 to 0.
91427
91428 2003-04-25  Jim Meyering  <jim@meyering.net>
91429
91430         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
91431         of type size_t, not int.
91432
91433 2003-04-25  Bruno Haible  <bruno@clisp.org>
91434
91435         * lib/copy-file.c: Include <stddef.h>, for size_t.
91436
91437 2003-04-21  Paul Eggert  <eggert@twinsun.com>
91438
91439         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
91440         code which expansion is under static control.  Patch imported from
91441         Akim Demaille's patch to Bison; see
91442         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
91443
91444 2003-04-14  Bruno Haible  <bruno@clisp.org>
91445
91446         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
91447
91448 2003-04-11  Jim Meyering  <jim@meyering.net>
91449
91450         Merge changes from Coreutils.
91451
91452         2003-03-22  Jim Meyering  <jim@meyering.net>
91453
91454         * lib/strftime.c (widen): Cast alloca return value to proper type.
91455
91456         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
91457
91458         From GNU libc.
91459         * lib/strftime.c (my_strftime): Handle very large width
91460         specifications for numeric values correctly.  Improve checks for
91461         overflow.
91462
91463         2003-01-19  Jim Meyering  <jim@meyering.net>
91464
91465         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91466         definitions.
91467         (nl_get_alt_digit) [! defined my_strftime]: Define.
91468         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91469         _nl_get_alt_digit and _nl_get_walt_digit.
91470
91471         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91472         libc. These changes have no effect outside of _LIBC.
91473
91474 2003-04-10  Bruno Haible  <bruno@clisp.org>
91475
91476         * modules/findprog: New file.
91477         * MODULES.html.sh (func_all_modules): Add it.
91478
91479 2003-04-10  Bruno Haible  <bruno@clisp.org>
91480
91481         * m4/findprog.m4: New file.
91482         * m4/eaccess.m4: New file.
91483
91484 2003-04-10  Bruno Haible  <bruno@clisp.org>
91485
91486         * lib/findprog.h: New file, from GNU gettext.
91487         * lib/findprog.c: New file, from GNU gettext.
91488
91489 2003-04-05  Jim Meyering  <jim@meyering.net>
91490
91491         Merge changes from Coreutils.
91492
91493         * lib/exclude.h (PARAMS): Remove definition and uses.
91494         * lib/exclude.c: Remove uses of `PARAMS'.
91495
91496         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91497         Add test-cases for DOS filenames. Declare program_name.
91498         (main): Set up program_name.  Patch by Rich Dawe.
91499
91500         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91501         error from mntctl.
91502         Use mntctl's return value to drive the entry-processing loop, since
91503         we can't rely on the value of the vmt_length member in the last
91504         entry.  On some systems doing so could result in exhausting
91505         virtual memory.  Based in part on a patch from Mike Jetzer.
91506
91507 2003-04-04  Bruno Haible  <bruno@clisp.org>
91508
91509         * modules/linebreak: New file.
91510         * MODULES.html.sh (func_all_modules): Add it.
91511
91512 2003-04-04  Bruno Haible  <bruno@clisp.org>
91513
91514         * m4/linebreak.m4: New file.
91515
91516 2003-04-04  Bruno Haible  <bruno@clisp.org>
91517
91518         * lib/linebreak.h: New file, from GNU gettext.
91519         * lib/linebreak.c: New file, from GNU gettext with slight
91520         modifications.
91521         * lib/lbrkprop.h: New file, from GNU gettext.
91522
91523 2003-04-03  Bruno Haible  <bruno@clisp.org>
91524
91525         * modules/utf8-ucs4: New file.
91526         * modules/utf16-ucs4: New file.
91527         * modules/ucs4-utf8: New file.
91528         * modules/ucs4-utf16: New file.
91529         * MODULES.html.sh (func_all_modules): Add them.
91530
91531 2003-04-03  Bruno Haible  <bruno@clisp.org>
91532
91533         * m4/utf-ucs4.m4: New file.
91534         * m4/ucs4-utf.m4: New file.
91535
91536 2003-04-03  Bruno Haible  <bruno@clisp.org>
91537
91538         * lib/utf8-ucs4.h: New file, from GNU gettext.
91539         * lib/utf16-ucs4.h: New file, from GNU gettext.
91540         * lib/ucs4-utf8.h: New file, from GNU gettext.
91541         * lib/ucs4-utf16.h: New file, from GNU gettext.
91542
91543 2003-04-02  Bruno Haible  <bruno@clisp.org>
91544
91545         * modules/binary-io: New file.
91546         * MODULES.html.sh (func_all_modules): Add it.
91547
91548 2003-04-02  Bruno Haible  <bruno@clisp.org>
91549
91550         * lib/binary-io.h: New file, from GNU gettext.
91551
91552 2003-04-01  Bruno Haible  <bruno@clisp.org>
91553
91554         * modules/pathname: New file.
91555         * MODULES.html.sh (func_all_modules): Add it.
91556
91557 2003-04-01  Bruno Haible  <bruno@clisp.org>
91558
91559         * lib/pathname.h: New file, from GNU gettext.
91560         * lib/concatpath.c: New file, from GNU gettext.
91561
91562 2003-03-30  Bruno Haible  <bruno@clisp.org>
91563
91564         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91565
91566 2003-03-30  Bruno Haible  <bruno@clisp.org>
91567
91568         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91569         function chown() doesn't exist.
91570
91571 2003-03-28  Bruno Haible  <bruno@clisp.org>
91572
91573         * modules/copy-file: New file.
91574         * MODULES.html.sh (func_all_modules): Add it.
91575
91576 2003-03-28  Bruno Haible  <bruno@clisp.org>
91577
91578         * m4/copy-file.m4: New file.
91579
91580 2003-03-28  Bruno Haible  <bruno@clisp.org>
91581
91582         * lib/copy-file.h: New file, from GNU gettext.
91583         * lib/copy-file.c: New file, from GNU gettext.
91584
91585 2003-03-18  Jim Meyering  <jim@meyering.net>
91586
91587         * lib/quote.c (quote_n): Fix typo in comment.
91588
91589 2003-03-18  Bruno Haible  <bruno@clisp.org>
91590
91591         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91592         checking.
91593         * m4/onceonly_2_57.m4: Likewise.
91594
91595 2003-03-17  Bruno Haible  <bruno@clisp.org>
91596
91597         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91598         (m4_quote): Remove macro.
91599         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91600
91601 2003-03-14  Jim Meyering  <jim@meyering.net>
91602
91603         Merge changes from Coreutils.
91604         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91605         to be const, in order to avoid warnings.
91606         (obstack_room): Likewise.
91607         (obstack_empty_p): Likewise.
91608
91609 2003-03-14  Bruno Haible  <bruno@clisp.org>
91610
91611         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91612         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91613
91614 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91615
91616         Merge changes from Bison.
91617         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91618         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91619         when compiling Bison 1.875's `bitset bset = obstack_alloc
91620         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91621         * lib/hash.c: Include <stdbool.h> unconditionally.
91622
91623 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91624
91625         * m4/onceonly.m4 (m4_quote): New macro.
91626         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91627         Quote AC_FOREACH variable-expansions properly.
91628
91629 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91630
91631         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91632
91633 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91634
91635         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91636         Reported by Bruce Becker; see:
91637         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91638
91639 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91640             Bruno Haible  <bruno@clisp.org>
91641
91642         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91643         Reported by John Hughes, see
91644         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91645
91646 2003-02-20  Bruno Haible  <bruno@clisp.org>
91647
91648         * MODULES.html.sh (func_all_modules): Add poll.
91649
91650 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91651
91652         * modules/poll: New file.
91653
91654 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91655
91656         * lib/poll_.h: New file.
91657         * lib/poll.c: New file.
91658
91659 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91660
91661         * m4/poll.m4: New file.
91662
91663 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91664
91665         * modules/mathl: New file.
91666
91667 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91668
91669         * lib/mathl.h: New file.
91670         * lib/acosl.c: New file.
91671         * lib/asinl.c: New file.
91672         * lib/atanl.c: New file.
91673         * lib/ceill.c: New file.
91674         * lib/cosl.c: New file.
91675         * lib/expl.c: New file.
91676         * lib/floorl.c: New file.
91677         * lib/frexpl.c: New file.
91678         * lib/ldexpl.c: New file.
91679         * lib/logl.c: New file.
91680         * lib/sincosl.c: New file.
91681         * lib/sinl.c: New file.
91682         * lib/sqrtl.c: New file.
91683         * lib/tanl.c: New file.
91684         * lib/trigl.c: New file.
91685         * lib/trigl.h: New file.
91686
91687 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91688
91689         * m4/mathl.m4: New file.
91690
91691 2003-02-18  Bruno Haible  <bruno@clisp.org>
91692
91693         * MODULES.html.sh (func_all_modules): Add mathl.
91694
91695 2003-02-17  Bruno Haible  <bruno@clisp.org>
91696
91697         * modules/mkdtemp: New module.
91698         * MODULES.html.sh (func_all_modules): Add it.
91699
91700 2003-02-17  Bruno Haible  <bruno@clisp.org>
91701
91702         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91703
91704 2003-02-17  Bruno Haible  <bruno@clisp.org>
91705
91706         * lib/mkdtemp.h: New file, from GNU gettext.
91707         * lib/mkdtemp.c: New file, from GNU gettext.
91708
91709 2003-02-02  Jim Meyering  <jim@meyering.net>
91710
91711         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91712         e.g. glibc-2.2.93.
91713
91714 2003-01-31  Bruno Haible  <bruno@clisp.org>
91715
91716         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91717         'rpl_rename'.
91718         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91719         'rpl_strnlen'.
91720         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91721         'rpl_strtod'.
91722         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91723         'rpl_utime'.
91724
91725 2003-01-31  Bruno Haible  <bruno@clisp.org>
91726
91727         * lib/rename.c: #undef rename before defining rpl_rename.
91728         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91729
91730 2003-01-30  Bruno Haible  <bruno@clisp.org>
91731
91732         * modules/vasnprintf, modules/vasprintf: New modules.
91733         * MODULES.html.sh (func_all_modules): Add them.
91734
91735 2003-01-30  Bruno Haible  <bruno@clisp.org>
91736
91737         * m4/signed.m4: New file, from GNU gettext.
91738         * m4/longdouble.m4: New file, from GNU gettext.
91739         * m4/wchar_t.m4: New file, from GNU gettext.
91740         * m4/wint_t.m4: New file, from GNU gettext.
91741         * m4/vasnprintf.m4: New file.
91742         * m4/vasprintf.m4: New file.
91743
91744 2003-01-30  Bruno Haible  <bruno@clisp.org>
91745
91746         * lib/printf-args.h: New file, from GNU gettext.
91747         * lib/printf-args.c: New file, from GNU gettext.
91748         * lib/printf-parse.h: New file, from GNU gettext.
91749         * lib/printf-parse.c: New file, from GNU gettext.
91750         * lib/vasnprintf.h: New file, from GNU gettext.
91751         * lib/vasnprintf.c: New file, from GNU gettext.
91752         * lib/asnprintf.c: New file, from GNU gettext.
91753         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91754         * lib/vasprintf.c: New file, from GNU gettext.
91755         * lib/asprintf.c: New file, from GNU gettext.
91756
91757 2003-01-29  Bruno Haible  <bruno@clisp.org>
91758
91759         * modules/stpncpy: New module.
91760         * MODULES.html.sh (func_all_modules): Add it.
91761
91762 2003-01-29  Bruno Haible  <bruno@clisp.org>
91763
91764         * m4/stpncpy.m4: New file.
91765
91766 2003-01-29  Bruno Haible  <bruno@clisp.org>
91767
91768         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91769         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91770
91771 2003-01-28  Bruno Haible  <bruno@clisp.org>
91772
91773         * modules/c-ctype: New module.
91774         * MODULES.html.sh (func_all_modules): Add it.
91775
91776 2003-01-28  Bruno Haible  <bruno@clisp.org>
91777
91778         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91779         Paul Eggert.
91780         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91781         Paul Eggert.
91782
91783 2003-01-27  Bruno Haible  <bruno@clisp.org>
91784
91785         * modules/xsetenv: New module.
91786         * MODULES.html.sh (func_all_modules): Add it.
91787
91788 2003-01-27  Bruno Haible  <bruno@clisp.org>
91789
91790         * lib/xsetenv.h: New file, from GNU gettext.
91791         * lib/xsetenv.c: New file, from GNU gettext.
91792
91793 2003-01-23  Jim Meyering  <jim@meyering.net>
91794
91795         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91796         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91797
91798 2003-01-23  Bruno Haible  <bruno@clisp.org>
91799
91800         * modules/minmax: New module.
91801         * MODULES.html.sh (func_all_modules): Add it.
91802
91803 2003-01-23  Bruno Haible  <bruno@clisp.org>
91804
91805         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91806         Eggert.
91807
91808 2003-01-22  Bruno Haible  <bruno@clisp.org>
91809
91810         * modules/exit: New module.
91811         * MODULES.html.sh (func_all_modules): Add it.
91812
91813 2003-01-22  Bruno Haible  <bruno@clisp.org>
91814
91815         * lib/exit.h: New file, from GNU gettext.
91816
91817 2003-01-19  Bruno Haible  <bruno@clisp.org>
91818
91819         * gnulib-tool: Recognize option --extract-maintainer.
91820         (func_get_maintainer): New function.
91821         * modules/*: Add Maintainer entry.
91822
91823 2003-01-16  Jim Meyering  <jim@meyering.net>
91824
91825         * m4/regex.m4: The `regex' struct is both input and output.
91826         Initialize it before each use.  Patch by Tim Waugh.
91827
91828 2003-01-16  Bruno Haible  <bruno@clisp.org>
91829
91830         * MODULES.html.sh: Add a table of contents. Add the module name as
91831         leftmost column. Add hyperlinks.
91832
91833 2003-01-15  Bruno Haible  <bruno@clisp.org>
91834
91835         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91836
91837 2003-01-15  Bruno Haible  <bruno@clisp.org>
91838
91839         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91840         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91841         suffix.
91842
91843 2003-01-15  Bruno Haible  <bruno@clisp.org>
91844
91845         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91846
91847 2003-01-15  Bruno Haible  <bruno@clisp.org>
91848
91849         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91850         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91851
91852 2003-01-14  Jim Meyering  <jim@meyering.net>
91853
91854         * lib/same.c (same_name): Tweak a comment.
91855
91856 2003-01-14  Bruno Haible  <bruno@clisp.org>
91857
91858         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91859         when a string comparison is sufficient.
91860
91861 2003-01-14  Bruno Haible  <bruno@clisp.org>
91862
91863         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91864         'unsigned int'.
91865
91866 2003-01-14  Bruno Haible  <bruno@clisp.org>
91867
91868         * lib/hash-pjw.c: Add comment about low quality of this function.
91869
91870 2003-01-13  Bruno Haible  <bruno@clisp.org>
91871
91872         * modules/stpcpy: Distribute lib/stpcpy.h.
91873         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91874
91875 2003-01-13  Bruno Haible  <bruno@clisp.org>
91876
91877         * modules/*: Add a description.
91878         * modules/strpbrk: Fix Makefile.am snippet.
91879         * modules/strtoimax: Fix dependencies.
91880         * modules/strtoumax: Likewise.
91881
91882 2003-01-13  Bruno Haible  <bruno@clisp.org>
91883
91884         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91885         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91886         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91887
91888 2003-01-13  Bruno Haible  <bruno@clisp.org>
91889
91890         * gnulib-tool (func_create_testdir): Store config/* files in the main
91891         directory.
91892         * config.rpath: Move to ...
91893         * config/config.rpath: ... here.
91894         * modules/gettext: Contains config/config.rpath, not config.rpath.
91895         * modules/iconv: Likewise.
91896
91897 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91898
91899         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91900         to avoid collisions with libcurses and libreadline.
91901
91902         * m4/getstr.m4: Remove.
91903         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91904
91905 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91906
91907         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91908         to avoid collisions with libcurses and libreadline.
91909
91910         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91911         * lib/getstr.h, getstr.c: Remove.
91912         * lib/getline.c: Include "getline.h", to check interface.
91913         Move body of old getstr.c here: this defines MIN_CHUNK and
91914         declares getdelim2, which is renamed from getstr.
91915         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91916
91917         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91918         All uses changed.
91919         * lib/linebuffer.h: Likewise.
91920         (readline): Remove backward-compatibility macro.
91921
91922 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91923
91924         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91925         to avoid collisions with libcurses and libreadline.
91926         * getstr: Remove.
91927         * MODULES.html.sh: Remove getstr.
91928         * modules/getline: Depend on unlocked-io, not getstr.
91929
91930 2003-01-12  Jim Meyering  <jim@meyering.net>
91931
91932         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91933
91934 2003-01-10  Bruno Haible  <bruno@clisp.org>
91935
91936         * modules/alloca: Change Makefile.am requirements. Simplify Include
91937         requirements. Add lib/alloca_.h to file list.
91938
91939 2003-01-10  Bruno Haible  <bruno@clisp.org>
91940
91941         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91942
91943 2003-01-10  Bruno Haible  <bruno@clisp.org>
91944
91945         * lib/alloca_.h: New file.
91946         * lib/getdate.y: Unconditionally include alloca.h.
91947         * lib/makepath.c: Likewise.
91948         * lib/setenv.c: Likewise.
91949         * lib/userspec.c: Likewise.
91950
91951 2003-01-09  Karl Berry  <karl@gnu.org>
91952
91953         * MODULES.html.sh: include `dirname $0` in PATH, to find
91954         gnulib-tool.
91955
91956 2003-01-09  Bruno Haible  <bruno@clisp.org>
91957
91958         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91959         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91960
91961 2003-01-09  Bruno Haible  <bruno@clisp.org>
91962
91963         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91964
91965 2003-01-09  Bruno Haible  <bruno@clisp.org>
91966
91967         * lib/stdbool.h.in: New file.
91968
91969 2003-01-09  Bruno Haible  <bruno@clisp.org>
91970
91971         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91972         * MODULES.html.sh: Likewise.
91973
91974 2003-01-08  Jim Meyering  <jim@meyering.net>
91975
91976         * lib/full-write.c: Undefine and define-away `const' after inclusion
91977         of errno.h, not before.  Suggestion from Bruno Haible.
91978
91979 2003-01-08  Bruno Haible  <bruno@clisp.org>
91980
91981         * modules/full-read: Depend on full-write.
91982
91983 2003-01-08  Bruno Haible  <bruno@clisp.org>
91984
91985         * lib/safe-read.c: Include specification header first, to ensure its
91986         selfcontainedness.
91987         * lib/full-write.c: Likewise.
91988
91989 2003-01-07  Jim Meyering  <jim@meyering.net>
91990
91991         * lib/full-write.c: Rework so that it may serve to define full_read,
91992         too.
91993         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91994
91995 2003-01-07  Bruno Haible  <bruno@clisp.org>
91996
91997         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91998         <inttypes.h>.
91999         * lib/xstrtol.h: Likewise.
92000         * lib/xstrtoimax.c: Likewise.
92001         * lib/xstrtoumax.c: Likewise.
92002         * lib/human.h: Likewise.
92003
92004         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
92005         on systems that have <inttypes.h> but not <stdint.h>.
92006
92007 2003-01-07  Bruno Haible  <bruno@clisp.org>
92008
92009         * MODULES.html.sh: Add copyright notice.
92010         (missed_files): Omit CVS directory entries.
92011         (func_module): Make it work with sed-3.02.
92012         * MODULES.txt: Remove file.
92013
92014 2003-01-06  Jim Meyering  <jim@meyering.net>
92015
92016         * lib/version-etc.c: Update year in translatable copyright string.
92017
92018 2003-01-03  Karl Berry  <karl@gnu.org>
92019
92020         * config/config.{guess,sub}: update from prep.
92021
92022 2003-01-02  Karl Berry  <karl@gnu.org>
92023
92024         * doc/COPYING.DOC: belatedly updated to 1.2.
92025
92026 2003-01-01  Karl Berry  <karl@gnu.org>
92027
92028         * gnulib-tool (func_verify_module): report module name $module in
92029         error message, not $1.
92030         * gnulib-tool (create-testdir): don't complain if destdir couldn't
92031         be created, only if it doesn't exist.
92032         * gnulib-tool (last_checkin_date): don't expand the $Date here.
92033
92034 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92035
92036         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
92037
92038 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92039
92040         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
92041         memcmp if strcoll doesn't work.
92042
92043 2002-12-31  Bruno Haible  <bruno@clisp.org>
92044
92045         * lib/utime.c (utime_null): No need to call ftruncate if the file was
92046         nonempty.
92047
92048 2002-12-31  Bruno Haible  <bruno@clisp.org>
92049
92050         * lib/memcoll.c (STRCOLL): New macro.
92051         (memcoll): Use it.
92052
92053 2002-12-31  Bruno Haible  <bruno@clisp.org>
92054
92055         * lib/localcharset.h: New file.
92056         * lib/localcharset.c: Include it.
92057         * lib/unicodeio.c: Likewise.
92058
92059 2002-12-31  Bruno Haible  <bruno@clisp.org>
92060
92061         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
92062         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
92063
92064 2002-12-31  Bruno Haible  <bruno@clisp.org>
92065
92066         * lib/getline.h: Include <stddef.h>, for size_t.
92067
92068         * lib/unicodeio.h: Include <stddef.h>, for size_t.
92069         * lib/unicodeio.c: Don't include <stddef.h>.
92070
92071 2002-12-31  Bruno Haible  <bruno@clisp.org>
92072
92073         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
92074         HAVE_TM_ZONE.
92075
92076 2002-12-24  Karl Berry  <karl@gnu.org>
92077
92078         * config/config.guess: update from prep.
92079
92080 2002-12-24  Bruno Haible  <bruno@clisp.org>
92081
92082         General infrasructure.
92083         * m4/README: Rewritten.
92084         * m4/onceonly.m4: New file.
92085         * m4/onceonly_2_57.m4: New file.
92086
92087         Module atexit.
92088         * m4/atexit.m4: New file.
92089
92090         Module strtod.
92091         * m4/strtod.m4: New file.
92092
92093         Module strtol.
92094         * m4/strtol.m4: New file.
92095
92096         Module strtoul.
92097         * m4/strtoul.m4: New file.
92098
92099         Module memchr.
92100         * m4/memchr.m4: New file.
92101
92102         Module memcmp.
92103         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
92104         (jm_FUNC_MEMCMP): Invoke it.
92105
92106         Module memcpy.
92107         * m4/memcpy.m4: New file.
92108
92109         Module memmove.
92110         * m4/memmove.m4: New file.
92111
92112         Module memset.
92113         * m4/memset.m4: New file.
92114
92115         Module strcspn.
92116         * m4/strcspn.m4: New file.
92117
92118         Module strpbrk.
92119         * m4/strpbrk.m4: New file.
92120
92121         Module strstr.
92122         * m4/strstr.m4: New file.
92123
92124         Module strerror.
92125         * m4/strerror.m4: New file.
92126
92127         Module mktime.
92128         * m4/mktime.m4: Renamed from jm-mktime.m4.
92129         (gl_PREREQ_MKTIME): New macro.
92130         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92131
92132         Module malloc.
92133         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92134         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92135         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92136
92137         Module realloc.
92138         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92139         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92140         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92141
92142         Module strftime.
92143         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92144         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92145         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92146         gl_TM_GMTOFF.
92147         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92148
92149         Module xalloc.
92150         * m4/xalloc.m4: New file.
92151
92152         Module alloca.
92153         * m4/alloca.m4: New file.
92154
92155         Module putenv.
92156         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92157         (jm_FUNC_PUTENV): Invoke it.
92158
92159         Module setenv.
92160         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92161         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92162         when invoked twice.
92163         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92164         gt_FUNC_SETENV.
92165
92166         Module memrchr.
92167         * m4/memrchr.m4: New file.
92168
92169         Module stpcpy.
92170         * m4/stpcpy.m4: New file.
92171
92172         Module strcase.
92173         * m4/strcase.m4: New file.
92174
92175         Module strdup.
92176         * m4/strdup.m4: New file.
92177
92178         Module strnlen.
92179         * m4/strnlen.m4: New file.
92180
92181         Module strndup.
92182         * m4/strndup.m4: New file.
92183
92184         Module xstrtod.
92185         * m4/xstrtod.m4: New file.
92186
92187         Module xstrtol.
92188         * m4/xstrtol.m4: New file.
92189
92190         Module getdate.
92191         * m4/getdate.m4: New file.
92192
92193         Module unlocked-io.
92194         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92195         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92196         * m4/jm-glibc-io.m4n: Remove file.
92197
92198         Module long-options.
92199         * m4/long-options.m4: New file.
92200
92201         Module md5.
92202         * m4/md5.m4: New file.
92203
92204         Module sha.
92205         * m4/sha.m4: New file.
92206
92207         Module getstr.
92208         * m4/getstr.m4: New file.
92209
92210         Module getline.
92211         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92212         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92213         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92214         simply getline. Infoke gl_PREREQ_GETLINE.
92215
92216         Module obstack.
92217         * m4/obstack.m4: New file.
92218
92219         Module hash.
92220         * m4/hash.m4: New file.
92221
92222         Module readtokens.
92223         * m4/readtokens.m4: New file.
92224
92225         Module strverscmp.
92226         * m4/strverscmp.m4: New file.
92227
92228         Module stdbool.
92229         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92230         OSF/1.
92231
92232         Module strtoll.
92233         * m4/strtoll.m4: New file.
92234
92235         Module strtoull.
92236         * m4/strtoull.m4: New file.
92237
92238         Module strtoimax.
92239         * m4/strtoimax.m4: New file.
92240
92241         Module strtoumax.
92242         * m4/strtoumax.m4: New file.
92243
92244         Module xstrtoimax.
92245         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92246         jm_AC_PREREQ_XSTRTOIMAX.
92247         Moved the strtol prerequisites to strtol.m4.
92248         Moved the strtoll prerequisites to strtoll.m4.
92249         Moved the strtoimax prerequisites to strtoimax.m4.
92250
92251         Module xstrtoumax.
92252         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92253         jm_AC_PREREQ_XSTRTOUMAX.
92254         Moved the strtoul prerequisites to strtoul.m4.
92255         Moved the strtoull prerequisites to strtoull.m4.
92256         Moved the strtoumax prerequisites to strtoumax.m4.
92257
92258         Module chown.
92259         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92260         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92261
92262         Module dup2.
92263         * m4/dup2.m4: New file.
92264
92265         Module ftruncate.
92266         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92267         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92268
92269         Module getgroups.
92270         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92271         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92272
92273         Module gettimeofday.
92274         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92275         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92276         gl_PREREQ_GETTIMEOFDAY.
92277
92278         Module mkdir.
92279         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92280         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92281
92282         Module mkstemp.
92283         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92284         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92285         jm_AC_TYPE_UINTMAX_T.
92286         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92287
92288         Module stat.
92289         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92290         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92291
92292         Module lstat.
92293         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92294         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92295
92296         Module timespec.
92297         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92298         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92299         * m4/st_mtim.m4: Indentation.
92300
92301         Module nanosleep.
92302         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92303         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92304         gl_PREREQ_NANOSLEEP.
92305
92306         Module regex.
92307         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92308         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92309         (gl_REGEX): New macro.
92310
92311         Module rename.
92312         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92313         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92314
92315         Module rmdir.
92316         * m4/rmdir.m4: New file.
92317
92318         Module utime.
92319         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92320         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92321         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92322
92323         Module dirname.
92324         * m4/dirname.m4: New file.
92325
92326         Module getopt.
92327         * m4/getopt.m4: New file.
92328
92329         Module unistd-safer.
92330         * m4/unistd-safer.m4: New file.
92331
92332         Module fnmatch.
92333         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92334         declaration.
92335         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92336         (gl_FUNC_FNMATCH_POSIX): New macro.
92337         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92338         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92339         simply fnmatch.
92340
92341         Module exclude.
92342         * m4/exclude.m4: New file.
92343
92344         Module human.
92345         * m4/human.m4: New file.
92346
92347         Module acl.
92348         * m4/acl.m4: Nop.
92349
92350         Module backupfile.
92351         * m4/backupfile.m4: New file.
92352         * m4/d-ino.m4: Indentation.
92353
92354         Module fsusage.
92355         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92356         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92357         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92358
92359         Module dirfd.
92360         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92361         requirements.
92362
92363         Module euidaccess.
92364         * m4/euidaccess.m4: New file.
92365
92366         Module file-type.
92367         * m4/file-type.m4: New file.
92368
92369         Module fileblocks.
92370         * m4/fileblocks.m4: New file.
92371
92372         Module filemode.
92373         * m4/filemode.m4: New file.
92374
92375         Module isdir.
92376         * m4/isdir.m4: New file.
92377
92378         Module lchown.
92379         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92380         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92381
92382         Module makepath.
92383         * m4/makepath.m4: New file.
92384
92385         Module modechange.
92386         * m4/modechange.m4: New file.
92387
92388         Module mountlist.
92389         * m4/mountlist.m4: New file.
92390         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92391         Indentation.
92392
92393         Module path-concat.
92394         * m4/path-concat.m4: New file.
92395
92396         Module pathmax.
92397         * m4/pathmax.m4: New file.
92398
92399         Module same.
92400         * m4/same.m4: New file.
92401
92402         Module save-cwd.
92403         * m4/save-cwd.m4: New file.
92404
92405         Module savedir.
92406         * m4/savedir.m4: New file.
92407
92408         Module xgetcwd.
92409         * m4/xgetcwd.m4: New file.
92410         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92411
92412         Module xreadlink.
92413         * m4/xreadlink.m4: New file.
92414
92415         Module safe-read.
92416         * m4/safe-read.m4: New file.
92417
92418         Module safe-write.
92419         * m4/safe-write.m4: New file.
92420
92421         Module closeout.
92422         * m4/closeout.m4: New file.
92423
92424         Module stdio-safer.
92425         * m4/stdio-safer.m4: New file.
92426
92427         Module getpass.
92428         * m4/getpass.m4: New file.
92429
92430         Module getugroups.
92431         * m4/getugroups.m4: New file.
92432
92433         Module group-member.
92434         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
92435         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
92436
92437         Module idcache.
92438         * m4/idcache.m4: New file.
92439
92440         Module userspec.
92441         * m4/userspec.m4: New file.
92442
92443         Module gettime.
92444         * m4/clock_time.m4: New file.
92445         * m4/gettime.m4: New file.
92446
92447         Module settime.
92448         * m4/settime.m4: New file.
92449
92450         Module posixtm.
92451         * m4/posixtm.m4: New file.
92452
92453         Module gethostname.
92454         * m4/gethostname.m4: New file.
92455
92456         Module canon-host.
92457         * m4/canon-host.m4: New file.
92458
92459         Module gettext.
92460         * m4/codeset.m4: New file, from gettext-0.11.5.
92461         * m4/gettext.m4: New file, from gettext-0.11.5.
92462         * m4/glibc21.m4: New file, from gettext-0.11.5.
92463         * m4/iconv.m4: New file, from gettext-0.11.5.
92464         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92465         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92466         * m4/inttypes.m4: New file, from gettext-0.11.5.
92467         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92468         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92469         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92470         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92471         * m4/lib-link.m4: New file, from gettext-0.11.5.
92472         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92473         * m4/progtest.m4: New file, from gettext-0.11.5.
92474         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92475         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92476         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92477
92478         Module localcharset.
92479         * m4/localcharset.m4: New file.
92480
92481         Module hard-locale.
92482         * m4/hard-locale.m4: New file.
92483
92484         Module mbswidth.
92485         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92486         onceonly macros.
92487         * m4/mbrtowc.m4: Add comment.
92488
92489         Module memcasecmp.
92490         * m4/memcasecmp.m4: New file.
92491
92492         Module memcoll.
92493         * m4/memcoll.m4: New file.
92494
92495         Module unicodeio.
92496         * m4/unicodeio.m4: New file.
92497
92498         Module rpmatch.
92499         * m4/rpmatch.m4: New file.
92500
92501         Module yesno.
92502         * m4/yesno.m4: New file.
92503
92504         Module exitfail.
92505         * m4/exitfail.m4: New file.
92506
92507         Module c-stack.
92508         * m4/c-stack.m4 (gl_C_STACK): New macro.
92509         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92510
92511         Module error.
92512         * m4/error.m4 (gl_ERROR): New macro.
92513         (jm_PREREQ_ERROR): Use onceonly macros.
92514
92515         Module fatal.
92516         * m4/fatal.m4: New file.
92517
92518         Module getloadavg.
92519         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92520         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92521
92522         Module getpagesize.
92523         * m4/getpagesize.m4: New file.
92524
92525         Module getusershell.
92526         * m4/getusershell.m4: New file.
92527
92528         Module physmem.
92529         * m4/physmem.m4: New file.
92530
92531         Module posixver.
92532         * m4/posixver.m4: New file.
92533
92534         Module quotearg.
92535         * m4/quotearg.m4: New file.
92536
92537         Module quote.
92538         * m4/quote.m4: New file.
92539
92540         Module readutmp.
92541         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92542
92543         Module sig2str.
92544         * m4/sig2str.m4: New file.
92545
92546         Other.
92547         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92548         ulonglong.m4.
92549         * m4/intmax_t.m4: New file.
92550         * m4/d-type.m4: Indentation.
92551         * m4/jm-macros.m4: Update.
92552         * m4/prereq.m4 (jm_PREREQ): Update.
92553         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92554         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92555         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92556         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92557         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92558         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92559         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92560         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92561         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92562         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92563         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92564         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92565         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92566         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92567         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92568         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92569         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92570         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92571         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92572
92573 2002-12-24  Bruno Haible  <bruno@clisp.org>
92574
92575         * MODULES.txt: Update according to m4/ changes.
92576
92577         Module gettext.
92578         * config.rpath: New file, from gettext-0.11.5.
92579
92580         * modules/*: New module descriptions.
92581         * gnulib-tool: New file.
92582         * MODULES.html.sh: New file.
92583
92584 2002-12-21  Karl Berry  <karl@gnu.org>
92585
92586         * doc/fdl.texi: update to version 1.2.
92587
92588 2002-12-19  Karl Berry  <karl@gnu.org>
92589
92590         * config/config.guess: update from prep.
92591
92592 2002-12-18  Bruno Haible  <bruno@clisp.org>
92593
92594         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92595         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92596
92597 2002-12-17  Bruno Haible  <bruno@clisp.org>
92598
92599         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92600         stdlib.h, string.h.
92601
92602 2002-12-17  Bruno Haible  <bruno@clisp.org>
92603
92604         * lib/canon-host.c (strdup): Remove unused declaration.
92605
92606         * lib/fsusage.c: Include full_read.h.
92607         (get_fs_usage): Use full_read instead of safe_read.
92608
92609         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92610
92611 2002-12-12  Karl Berry  <karl@gnu.org>
92612
92613         * config/config.guess: update from prep.
92614
92615 2002-12-11  Bruno Haible  <bruno@clisp.org>
92616
92617         * m4/setenv.m4: New file, from gettext-0.11.5.
92618
92619 2002-12-11  Bruno Haible  <bruno@clisp.org>
92620
92621         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92622         not unsetenv().
92623         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92624         modifications:
92625
92626         2002-12-11  Bruno Haible  <bruno@clisp.org>
92627
92628                 * setenv.c (alloca): Fall back to malloc.
92629                 (freea): New macro.
92630                 (setenv): Use freea() to free memory allocated with alloca().
92631
92632         2002-11-13  Bruno Haible  <bruno@clisp.org>
92633
92634                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92635                 function declarations.
92636                 * unsetenv.c (unsetenv): Likewise.
92637
92638         2002-03-04  Bruno Haible  <bruno@clisp.org>
92639
92640                 Portability to AIX 4.3.3.
92641                 * unsetenv.c: New file, extracted from setenv.c.
92642                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92643
92644         2001-12-20  Bruno Haible  <bruno@clisp.org>
92645
92646                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92647                 use malloc instead. For SunOS 4.
92648
92649         2001-12-11  Bruno Haible  <bruno@clisp.org>
92650
92651                 * setenv.c: Declare alloca.
92652                 (compar_fn_t): New typedef.
92653                 (KNOWN_VALUE, STORE_VALUE): Use it.
92654
92655         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92656         setenv.h.
92657
92658 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92659
92660         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92661         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92662         Choose values that are less likely to collide with system fnmatch
92663         options.
92664         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92665         defined (e.g., a pure POSIX system).
92666         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92667         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92668
92669 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92670
92671         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92672         a pain in practice to deal with generated m4 files.  This change
92673         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92674
92675         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92676         and jm-glibc-io.m4, as they are no longer a special case.
92677         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92678         kludge and the auto-generation stuff.  Check only whether the
92679         functions are declared, not whether they exist, since older hosts
92680         that don't declare the functions can't use the optimization anyway.
92681
92682 2002-12-06  Jim Meyering  <jim@meyering.net>
92683
92684         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92685
92686         Merge in changes from libc's misc/error.c, in preparation
92687         for the merge of gnulib's changes back into libc.
92688
92689         * lib/error.c (_): Define only if not already defined.
92690         Move definition to follow all #include directives.
92691         Include unlocked-io.h only if !_LIBC.
92692         [_LIBC]: Include <libio/libioP.h>.
92693         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92694         (fflush): Tweak definition to use INTUSE.
92695         (putc): Define.
92696
92697 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92698
92699         * lib/alloca.c [defined emacs]: Include "lisp.h".
92700         (xalloc_die) [defined emacs]: New macro.
92701         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92702         [! defined emacs]: Include <xalloc.h>.
92703         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92704         (pointer): Typedef to POINTER_TYPE *.
92705         (malloc): Remove decl; we now always use xmalloc.
92706         (alloca): Use old-style definition, since Emacs needs this.
92707         Check for arithmetic overflow when computing combined size.
92708
92709 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92710
92711         Do not generate unlocked-io.h automatically, since it's easier to
92712         maintain it by hand.
92713
92714         * lib/unlocked-io.h: New file, from GNU diffutils,
92715         but with proper copyright notice and attribution.
92716         * lib/gen-uio: Remove.
92717         * lib/Makefile.am: Add copyright notice.
92718         (libfetish_a_SOURCES): Add unlocked-io.h.
92719         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92720         (DISTCLEANFILES, io_functions): Remove macros.
92721         (EXTRA_DIST): Remove gen_uio.
92722         (unlocked-io.h): Remove rule.
92723
92724 2002-12-04  Jim Meyering  <jim@meyering.net>
92725
92726         Reflect the fact that stat.c and lstat.c are no longer generated.
92727         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92728         (DISTCLEANFILES): Likewise.
92729         (EXTRA_DIST): Likewise.
92730         (all_local): Don't depend on stat.c or lstat.c.
92731         (stat.c, lstat.c): Remove rules.
92732         (EXTRA_DIST): Remove xstat.in.
92733
92734         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92735         * lib/stat.c: New file.  Contents mostly from xstat.in.
92736         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92737         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92738
92739         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92740         too.
92741         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92742
92743 2002-12-03  Jim Meyering  <jim@meyering.net>
92744
92745         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92746         but not semantics, to minimize the differences between these two files.
92747         (safe_read): Change comment to mention SAFE_READ_ERROR.
92748
92749         * lib/safe-read.c (IS_EINTR): Define.
92750         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92751
92752 2002-12-02  Jim Meyering  <jim@meyering.net>
92753
92754         * lib/safe-read.c (EINTR): Define.
92755         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92756         (INT_MAX): Provide fallback.
92757         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92758
92759         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92760
92761 2002-12-02  Bruno Haible  <bruno@clisp.org>
92762
92763         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92764         Define, taken from safe-read.c.
92765         (INT_MAX): Provide fallback.
92766         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92767         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92768
92769         * lib/safe-read.c (EINTR): Remove definition.
92770         (safe_read): Don't use EINTR if it is absent.
92771
92772 2002-12-01  Jim Meyering  <jim@meyering.net>
92773
92774         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92775         zero.
92776         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92777
92778 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92779
92780         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92781         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92782         with `if (! (value < limit)) abort ();', for readability.
92783
92784 2002-11-26  Karl Berry  <karl@gnu.org>
92785
92786         * lib/strdup.c: copy from libc again, with jim's ok.
92787         * lib/.cppi-disable: re-add strdup.c
92788
92789 2002-11-25  Karl Berry  <karl@gnu.org>
92790
92791         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92792         instead of "strtol.c".
92793
92794 2002-11-25  Karl Berry  <karl@gnu.org>
92795
92796         * config/install-sh: update from automake for variable quoting, $0 in
92797         error msgs, etc.
92798
92799         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92800         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92801         entry.
92802
92803 2002-11-25  Jim Meyering  <jim@meyering.net>
92804
92805         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92806
92807 2002-11-24  Karl Berry  <karl@gnu.org>
92808
92809         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92810         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92811
92812 2002-11-24  Jim Meyering  <jim@meyering.net>
92813
92814         Update from coreutils:
92815
92816         * lib/mktime.c: Merge in changes from libc.
92817
92818         Avoid a link-time failure on some Linux systems.
92819         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92820         (otherwise).
92821         (__mon_yday): Declare with the STATIC attribute.
92822         (__mktime_internal): Likewise.
92823         Based on a report from Greg Schafer.
92824
92825 2002-11-23  Jim Meyering  <jim@meyering.net>
92826
92827         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92828         Use `unsigned', not `int', as type of index.
92829
92830         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92831
92832         * lib/fsusage.c: Remove unneeded parentheses around operands of
92833         `defined'.
92834
92835 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92836
92837         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92838         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92839         so that we can be included first.
92840         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92841         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92842         No need to include stddef.h or sys/types.h any more.
92843         Surround local include files with "", not "<>".
92844         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92845         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92846         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92847         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92848         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92849         (ISPRINT): Remove; no longer needed now that we assume C89.
92850
92851         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92852         Preserve errno.
92853
92854         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92855         quotearg_char): Use SIZE_MAX rather than
92856         (size_t) -1 when we are talking about "infinity".
92857
92858         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92859
92860 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92861
92862         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92863         hint that one should use `if (! x) abort ();' rather than `assert
92864         (x);', and anyway it's one less thing to worry about configuring.
92865         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92866         hash_rehash, hash_insert): Use abort rather than assert.
92867
92868 2002-11-22  Bruno Haible  <bruno@clisp.org>
92869
92870         * lib/safe-read.h: Assume C89. Add comments.
92871         (safe_read): Change return type to size_t.
92872         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92873         byte counts > SSIZE_MAX correctly.
92874         * lib/safe-write.h: New file.
92875         * lib/safe-write.c: New file.
92876         * lib/full-read.h: New file.
92877         * lib/full-read.c: New file.
92878         * lib/full-write.h: Assume C89. Add comments.
92879         * lib/full-write.c: Include safe-write.h.
92880         (full_write): Rewritten to use safe_write.
92881         Suggested by Jim Meyering and Paul Eggert.
92882
92883 2002-11-21  Jim Meyering  <jim@meyering.net>
92884
92885         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92886
92887         Merge in changes from the coreutils.
92888
92889         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92890         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92891         <stdint.h>.
92892         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92893         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92894         int.  Work more efficiently if X is the same width as uintmax_t.
92895         Do not compare X to -1, to avoid bogus compiler warning.
92896         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92897         Don't assume that f_frsize and f_bsize are the same type.
92898
92899         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92900         warning on FreeBSD.
92901
92902         * lib/makepath.c (make_path): Restore umask *before* creating the final
92903         component.
92904         (make_path): Minor reformatting.
92905
92906         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92907         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92908         HAVE_MALLOC/HAVE_REALLOC.
92909
92910         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92911         dummy ones.  At least on GNU/Linux systems, `auto' means something
92912         else.
92913         From Michael Stone.
92914
92915 2002-11-21  Bruno Haible  <bruno@clisp.org>
92916
92917         Remove case insensitive option matching.
92918         * lib/argmatch.h (argcasematch): Remove declaration.
92919         (ARGCASEMATCH): Remove macro.
92920         (__xargmatch_internal): Remove case_sensitive argument.
92921         (XARGMATCH): Update.
92922         (XARGCASEMATCH): Remove macro.
92923         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92924         case_sensitive argument.
92925         (argcasematch): Remove function.
92926         (__xargmatch_internal): Remove case_sensitive argument.
92927         (main): Use XARGMATCH instead of XARGCASEMATCH.
92928
92929         * lib/xmalloc.c: Change compile-time error message. Add comment about
92930         required autoconf version.
92931
92932 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92933
92934         Merge argmatch cleanups from Bison.  Assume C89.
92935
92936         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92937         Include stdlib.h, for EXIT_FAILURE.
92938         Always include <string.h>, since we assume C89.
92939         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92940         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92941         Include <stddef.h> instead, since it's all we need for size_t.
92942         (PARAMS): Remove.  All uses removed.
92943         (ARRAY_CARDINALITY): Do not bother to #undef.
92944         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92945         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92946         Remove unnecessary parentheses.
92947         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92948         Insert necessary parentheses.
92949         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92950         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92951
92952 2002-11-19  Bruno Haible  <bruno@clisp.org>
92953
92954         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92955         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92956
92957         * lib/mbswidth.h (PARAMS): Remove macro.
92958         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92959         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92960
92961         * lib/gcd.h (PARAMS): Remove macro.
92962         (gcd): Use ANSI C function declarations.
92963         * lib/gcd.c (gcd): Likewise.
92964
92965 2002-11-15  Bruno Haible  <bruno@clisp.org>
92966
92967         * lib/strcspn.c: Include <stddef.h>.
92968         (strcspn): Use ANSI C function declaration. Change return type to
92969         size_t. Use NULL.
92970         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92971         (strpbrk): Use NULL.
92972         * lib/strpbrk.h (PARAMS): Remove macro.
92973         (strpbrk): Use ANSI C function declaration.
92974         * lib/strstr.c: Don't include <sys/types.h>.
92975         * lib/strstr.h (PARAMS): Remove macro.
92976         (strstr): Use ANSI C function declarations.
92977
92978 2002-11-14  Karl Berry  <karl@gnu.org>
92979
92980         * config/mkinstalldirs: `do' on separate line, instead of
92981         `for var; do'.
92982
92983 2002-11-06  Bruno Haible  <bruno@clisp.org>
92984
92985         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92986         * lib/gcd.c (gcd): Likewise.
92987
92988 2002-11-05  Bruno Haible  <bruno@clisp.org>
92989
92990         * lib/gcd.h: New file, from gettext-0.11.5.
92991         * lib/gcd.c: New file, from gettext-0.11.5.
92992
92993 2002-11-05  Bruno Haible  <bruno@clisp.org>
92994
92995         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92996         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92997         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92998         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92999
93000         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
93001         <libintl.h>.
93002         * lib/makepath.c: Include gettext.h instead of <locale.h> and
93003         <libintl.h>.
93004
93005         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
93006         * lib/human.c: Include gettext.h instead of <libintl.h>.
93007         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
93008         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
93009         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
93010         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
93011         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
93012         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
93013         (textdomain): Remove definition.
93014         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
93015
93016         * lib/long-options.c: Remove include of <libintl.h> and definition of
93017         _.
93018         * lib/same.c: Remove include of <libintl.h> and definition of _.
93019
93020 2002-11-04  Owen Taylor  <otaylor@redhat.com>
93021
93022         * lib/config.charset: A few additions for Solaris.
93023
93024 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93025
93026         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
93027         * lib/localcharset.c (locale_charset): Declare as extern "C".
93028
93029 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93030
93031         * lib/config.charset: msdos in uk_UA uses CP1125.
93032
93033 2002-11-04  Bruno Haible  <bruno@clisp.org>
93034
93035         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
93036         * lib/strcase.h: New file, from GNU gettext-0.11.5.
93037         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
93038         * lib/strstr.h: New file, from GNU gettext-0.11.5.
93039         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
93040
93041 2002-11-04  Bruno Haible  <bruno@clisp.org>
93042
93043         * lib/localcharset.c (locale_charset): Don't return an empty string.
93044
93045 2002-11-04  Bruno Haible  <bruno@clisp.org>
93046
93047         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
93048         aliases.
93049
93050 2002-11-04  Bruno Haible  <bruno@clisp.org>
93051
93052         * lib/config.charset: Update for newest glibc. Add canonical names
93053         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
93054
93055 2002-11-04  Bruno Haible  <bruno@clisp.org>
93056
93057         * lib/config.charset: Add support for NetBSD.
93058
93059 2002-11-04  Bruno Haible  <bruno@clisp.org>
93060
93061         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
93062
93063 2002-11-01  Bruno Haible  <bruno@clisp.org>
93064
93065         * configure.in: Add AC_CONFIG_AUX_DIR call.
93066         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
93067         test/Makefile.
93068         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
93069
93070 2002-09-28  Karl Berry  <karl@gnu.org>
93071
93072         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
93073         installed automake until the next release, since changes have been
93074         made.
93075
93076 2002-09-25  Karl Berry  <karl@gnu.org>
93077
93078         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
93079         * lib/getopt*: copy from libc/posix.
93080         * lib/gettext.h: copy from gettext.
93081         * lib/.cppi-disable: add strdup.c, gettext.h.
93082
93083 2002-09-25  Karl Berry  <karl@gnu.org>
93084
93085         * config/srclist.txt: enable gettext.h check.
93086         * config/config.{guess,sub}: update from prep.
93087         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
93088                 from automake 1.6.3.
93089         See srclist*.
93090
93091 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
93092
93093         * regex.c (PATFETCH): Remove the translating fetch.
93094         (PATFETCH_RAW): Rename to PATFETCH.
93095         (set_image_of_range): New fun.
93096         (SET_RANGE_TABLE_WORK_AREA): Use it.
93097         (regex_compile): Don't translate the pattern chars so eagerly.
93098         Only do it when inserting an `exactn' bytecode or when handling
93099         a char-range.
93100         (mutually_exclusive_p): Avoid empty statement.
93101
93102 2002-07-06  Jim Meyering  <meyering@lucent.com>
93103
93104         * m4/README: Don't mention Makefile.am.in.
93105         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
93106
93107 2002-07-01  Jim Meyering  <meyering@lucent.com>
93108
93109         * lib/c-stack.c: Include sys/time.h.
93110         From Volker Borchert.
93111
93112 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93113
93114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
93115
93116 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93117
93118         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
93119         New macro.  Use it uniformly instead of
93120         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
93121         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
93122         reported by Vin Shelton.
93123
93124 2002-06-22  Paul Eggert  <eggert@twinsun.com>
93125
93126         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93127         Do not assume SA_SIGINFO behavior.
93128         Bug reported by Jim Meyering on NetBSD 1.5.2.
93129
93130 2002-06-22  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93133         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93134
93135         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93136         now that configure.ac uses AC_GNU_SOURCE.
93137         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93138         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93139
93140         Update to latest tools.  Suggestions from Paul Eggert.
93141         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93142         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93143         * m4/fnmatch.m4: Likewise.
93144         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93145         to AC_HEADER_STDBOOL
93146
93147 2002-06-22  Jim Meyering  <meyering@lucent.com>
93148
93149         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93150         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93151
93152 2002-06-22  Jim Meyering  <meyering@lucent.com>
93153
93154         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93155
93156         * lib/exitfail.c, exitfail.h: Likewise.
93157         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93158
93159         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93160         of fnmatch.h.
93161         (EXTRA_DIST): Add fnmatch_loop.c.
93162         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93163
93164         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93165         * lib/fnmatch.c: Update from diffutils-2.8.2.
93166         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93167         * lib/fnmatch.h: Remove file.
93168
93169 2002-06-21  Jim Meyering  <meyering@lucent.com>
93170
93171         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93172         * m4/mbrtowc.m4: Likewise.
93173
93174         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93175         * m4/mbswidth.m4: Reflect name change:
93176         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93177         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93178
93179         * m4/lib-link.m4: Update from gettext-0.11.2.
93180         * m4/gettext.m4: Likewise.
93181
93182         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93183         From Alfred M. Szmidt.
93184
93185 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93186
93187         * lib/file-type.h: Report an error if neither S_ISREG nor
93188         S_IFREG is defined, instead of using a test specific to glibc
93189         2.2.  This should be safe, since POSIX requires S_ISREG and
93190         Unix Version 7 had S_IFREG.  We don't need to check for
93191         <sys/types.h> since we don't use any symbols that it defines.
93192
93193 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93194
93195         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93196         $@-t, so that each temporary file name is unique and valid in the first
93197         8 characters, for operation under DOS.
93198
93199 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93200
93201         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93202
93203 2002-06-15  Jim Meyering  <meyering@lucent.com>
93204
93205         Work even with DJGPP 2.03, which lacks support for symlinks.
93206         From Richard Dawe.
93207         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93208         is defined.
93209         * lib/lchown.c (S_ISLNK): Likewise.
93210
93211 2002-06-15  Jim Meyering  <meyering@lucent.com>
93212
93213         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93214         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93215         have been included before this file.
93216
93217 2002-06-14  Jim Meyering  <meyering@lucent.com>
93218
93219         * lib/file-type.h: Use the version from diffutils-2.8.2.
93220         * lib/file-type.c: Likewise.
93221
93222 2002-06-07  Jim Meyering  <meyering@lucent.com>
93223
93224         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93225         They're needed at least for NetBSD 1.5.2.
93226         ($statxfs_includes): Include those same headers.
93227         ($statxfs_includes): Include sys/vfs.h if available.
93228         ($statxfs_includes): Likewise for sys/statvfs.h.
93229         Check for the following members in both structs statfs and statvfs:
93230         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93231
93232 2002-06-01  Jim Meyering  <meyering@lucent.com>
93233
93234         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93235         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93236
93237 2002-05-28  Jim Meyering  <meyering@lucent.com>
93238
93239         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93240         Reported by Volker Borchert.
93241
93242 2002-05-27  Jim Meyering  <meyering@lucent.com>
93243
93244         Fix a problem seen only on nonconforming systems whereby ls.c's
93245         use of localtime, and then of gettimeofday would cause trouble:
93246         the localtime call used to initialize rpl_gettimeofday's save
93247         mechanism would clobber ls's current local time information so
93248         that in any long listing the first file would always be listed
93249         with date 1970-01-01.  Analysis by Volker Borchert.
93250
93251         * lib/gettimeofday.c (localtime): Undefine.
93252         (rpl_localtime): New function.
93253
93254 2002-05-27  Jim Meyering  <meyering@lucent.com>
93255
93256         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93257         localtime.
93258
93259         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93260         use the replacement function; it wouldn't resolve at link time.
93261         Reported by Volker Borchert.
93262
93263 2002-05-22  Jim Meyering  <meyering@lucent.com>
93264
93265         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93266         file-type.h.
93267         * lib/file-type.h: New file.
93268         * lib/file-type.c (file_type): New file/function.  Extracted from
93269         diffutils.
93270
93271 2002-04-30  Jim Meyering  <meyering@lucent.com>
93272
93273         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93274
93275 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93276
93277         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93278
93279 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93280
93281         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93282         Do not check for alloca.h (no longer used) or stdbool.h (was never
93283         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93284
93285 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93286
93287         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93288
93289 2002-04-29  Jim Meyering  <meyering@lucent.com>
93290
93291         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93292         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93293         Use AC_FUNC_STRNLEN here instead.
93294
93295         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93296         With autoconf-2.53a, it's part of AC_PROG_CC.
93297
93298 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93299
93300         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93301         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93302
93303 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93304
93305         * lib/sig2str.h, lib/sig2str.c: New files.
93306         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93307
93308 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93309
93310         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93311         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93312         of 127, since 64 is the largest conceivable number for ancient
93313         nonstandard hosts.
93314         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93315
93316 2002-04-28  Jim Meyering  <meyering@lucent.com>
93317
93318         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93319
93320 2002-04-24  Jim Meyering  <meyering@lucent.com>
93321
93322         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93323         (jm_PREREQ): Use it.
93324
93325         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93326         mach/mach.h fcntl.h.
93327         Check for this function: setlocale.
93328
93329 2002-04-24  Jim Meyering  <meyering@lucent.com>
93330
93331         * lib/gettext.h: New file, from Gettext.
93332         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93333         (libfetish_a_SOURCES): Add gettext.h.
93334
93335 2002-04-16  Jim Meyering  <meyering@lucent.com>
93336
93337         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93338         ut_pid, ut_id, ut_exit.
93339
93340 2002-04-16  Jim Meyering  <meyering@lucent.com>
93341
93342         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93343         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93344         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93345
93346 2002-04-12  Jim Meyering  <meyering@lucent.com>
93347
93348         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93349         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93350         existence of the getmntinfo function.  Needed for Darwin 5.3.
93351
93352         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93353         This is necessary at least on Darwin 5.3.
93354
93355         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93356         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93357         strnlen.o in the library, and that makes some versions of ranlib
93358         object.
93359
93360 2002-04-12  Jim Meyering  <meyering@lucent.com>
93361
93362         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93363
93364 2002-04-09  Jim Meyering  <meyering@lucent.com>
93365
93366         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93367         to be more precise.  Rather than saying we're checking whether the
93368         function `works', say what we're testing.
93369         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93370         Reported by Bruno Haible.
93371
93372 2002-03-10  Jim Meyering  <meyering@lucent.com>
93373
93374         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93375         Suggestion from Santiago Vila.
93376
93377 2002-03-08  Jim Meyering  <meyering@lucent.com>
93378
93379         * lib/rename.c: Mention that this wrapper is needed also on
93380         mips-dec-ultrix4.4 systems.
93381
93382 2002-03-02  Jim Meyering  <meyering@lucent.com>
93383
93384         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93385         not HAVE_CLOCK_SETTIME.
93386
93387 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93388
93389         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93390         Check for clock_settime.
93391
93392 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93393
93394         * lib/nanosleep.h: Rename to....
93395         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93396
93397         * lib/gettime.c: New file.
93398         * lib/settime.c: New file.
93399         * lib/stime.c: Remove.
93400
93401         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93402         timespec.h.  Remove nanosleep.h.
93403
93404 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93405
93406         * m4/acl.m4: New file.
93407         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93408         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93409
93410 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93411
93412         * lib/acl.c, lib/acl.h: New files.
93413         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93414
93415 2002-02-24  Jim Meyering  <meyering@lucent.com>
93416
93417         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93418         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93419         cause trouble.  Reported by Nelson Beebe.
93420
93421 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93422
93423         * lib/path-concat.c (xpath_concat): Reorder code to pacify
93424         compilers that don't know that xalloc_die never returns.
93425
93426 2002-02-20  Jim Meyering  <meyering@lucent.com>
93427
93428         * lib/getdate.c: Regenerate using bison-1.33.
93429
93430 2002-02-17  Jim Meyering  <meyering@lucent.com>
93431
93432         * config/config.guess (main): Don't use `head -1'; it's no longer
93433         portable. Use `sed 1q' instead.
93434
93435 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
93436
93437         * m4/codeset.m4: Upgrade to gettext-0.11.
93438         * m4/gettext.m4: Upgrade to gettext-0.11.
93439         * m4/glibc21.m4: Upgrade to gettext-0.11.
93440         * m4/iconv.m4: Upgrade to gettext-0.11.
93441         * m4/isc-posix.m4: Upgrade to gettext-0.11.
93442         * m4/lcmessage.m4: Upgrade to gettext-0.11.
93443         * m4/lib-ld.m4: New file, from gettext-0.11.
93444         * m4/lib-link.m4: New file, from gettext-0.11.
93445         * m4/lib-prefix.m4: New file, from gettext-0.11.
93446         * m4/progtest.m4: Upgrade to gettext-0.11.
93447
93448 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93449
93450         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
93451         (jm_PREREQ): Use it.
93452
93453 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93454
93455         * lib/posixver.c, lib/posixver.h: New files.
93456         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93457
93458 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93459             Bruno Haible  <bruno@clisp.org>
93460
93461         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93462         (fwrite_success_callback): New declaration.
93463         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93464         print_unicode_char. Call failure callback instead of error.
93465         (fwrite_success_callback): New function.
93466         (exit_failure_callback): New function.
93467         (fallback_failure_callback): New function.
93468         (print_unicode_char): Call unicode_to_mb.
93469
93470 2002-01-26  Jim Meyering  <meyering@lucent.com>
93471
93472         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93473         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93474
93475 2002-01-26  Jim Meyering  <meyering@lucent.com>
93476
93477         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93478
93479 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93480
93481         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93482
93483 2002-01-22  Jim Meyering  <meyering@lucent.com>
93484
93485         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93486         Otherwise, some versions of automake would omit the rule that makes
93487         Makefile from Makefile.in.
93488
93489 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93490
93491         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93492         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93493         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93494         (memcoll): Set errno to zero if there is no error.
93495
93496         * lib/quotearg.c (quotearg_buffer_restyled):
93497         Fix bug with quoting buffers containing NUL when backslashing escapes.
93498         This bug was exposed by the other changes in this patch.
93499         (quotearg_n_options): New arg ARGSIZE.
93500         All callers changed.
93501         (quoting_options_from_style): New function.
93502         (quotearg_n_style): Use it.
93503         (quotearg_n_style_mem): New function.
93504
93505         * lib/quotearg.h (quotearg_n_style_mem): New function.
93506
93507 2002-01-19  Jim Meyering  <meyering@lucent.com>
93508
93509         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93510         Remove useless quotes: DF_PROG="df".
93511         * m4/strnlen.m4: New file.
93512
93513 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93514
93515         * lib/backupfile.c (ISDIGIT): Comment fix.
93516         * lib/getdate.y (ISDIGIT): Likewise.
93517         * lib/posixtm.c (ISDIGIT, year): Likewise.
93518         * lib/strverscmp.c (ISDIGIT): Likewise.
93519         * lib/userspec.c (ISDIGIT): Likewise.
93520
93521 2002-01-16  Jim Meyering  <meyering@lucent.com>
93522
93523         * lib/getdate.y: Add three semicolons, each just before a closing
93524         brace. Bison (as of version 1.31) no longer papers over that mistake.
93525
93526 2002-01-05  Jim Meyering  <meyering@lucent.com>
93527
93528         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93529
93530 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93531
93532         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93533         not silently exit merely because the output buffer happens to
93534         have nothing pending.
93535
93536 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93537
93538         See the big note in ../ChangeLog.
93539         * lib/human.c (suffixes): Prefer K to k for 1024.
93540         (generate_suffix_backwards): New function.
93541         (human_readable_inexact): Use it.
93542         * lib/xstrtol.c (__xstrtol): If there is no number but there
93543         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93544         Accept 'K' as well as 'k'.
93545
93546 2001-12-15  Jim Meyering  <meyering@lucent.com>
93547
93548         * lib/regex.h (__restrict_arr): Update from libc.
93549
93550         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93551         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93552         (STREQ): Define.
93553
93554 2001-12-14  Jim Meyering  <meyering@lucent.com>
93555
93556         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93557         Suggestion from Bruno Haible.
93558
93559 2001-12-10  Jim Meyering  <meyering@lucent.com>
93560
93561         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93562         xrealloc, Instead, include "xalloc.h".
93563         (initbuffer): Don't cast xmalloc return value to char*.
93564         (readline): Reword comment.
93565         Don't cast xrealloc return value to char*
93566         Return NULL, not 0.
93567
93568 2001-12-09  Jim Meyering  <meyering@lucent.com>
93569
93570         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93571         about `signed and unsigned type in conditional expression'.
93572         * lib/posixtm.c (posix_time_parse): Likewise.
93573
93574         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93575
93576         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93577         to avoid a pedantic warning.
93578
93579         * lib/getstr.c: Don't include assert.h.
93580         (getstr): Remove warning-evoking assertions.
93581         Return -1 if offset parameter is out of bounds.
93582         Change the type of a local from int to size_t.
93583
93584         * lib/strftime.c (my_strftime_localtime_r): Include this function
93585         definition in the `#if ! HAVE_TM_GMTOFF' block.
93586
93587         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93588         Include xalloc.h instead.
93589
93590 2001-12-02  Jim Meyering  <meyering@lucent.com>
93591
93592         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93593         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93594         included.
93595
93596         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93597         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93598
93599 2001-11-30  Akim Demaille  <akim@epita.fr>
93600
93601         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93602         before being defined.
93603
93604 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93605
93606         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93607         First arg is int, not unsigned.
93608         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93609         (SIZE_MAX, UINT_MAX): New macros.
93610         (quotearg_n_options): Abort if N is negative.
93611         Avoid overflow check on hosts where size_t is 64 bits and int
93612         is 32 bits, as overflow is impossible there.
93613         Fix off-by-one typo that caused unnecessary reallocation.
93614
93615 2001-11-27  Jim Meyering  <meyering@lucent.com>
93616
93617         * lib/tempname.c: Merge with version from libc.
93618         * lib/regex.c: Likewise.
93619
93620         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93621         systems for which STDC_HEADERS is 0, it was not included, resulting in
93622         a warning about an integer-to-pointer conversion problem with getenv.
93623         Reported by Volker Borchert.
93624
93625 2001-11-26  Jim Meyering  <meyering@lucent.com>
93626
93627         * lib/gtod.h: Remove file.
93628         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93629         * lib/gettimeofday.c: Don't include gtod.h.
93630         (GTOD_init): Remove function.
93631         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93632         Suggestion from Volker Borchert.
93633
93634 2001-11-23  Jim Meyering  <meyering@lucent.com>
93635
93636         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93637         it.
93638         * lib/hash.c (struct hash_table): Define it here instead.
93639
93640 2001-11-22  Jim Meyering  <meyering@lucent.com>
93641
93642         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93643
93644 2001-11-20  Jim Meyering  <meyering@lucent.com>
93645
93646         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93647         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93648
93649 2001-11-19  Jim Meyering  <meyering@lucent.com>
93650
93651         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93652         directory.  Use "conftestXXXXXX" as the template.
93653         Suggestion from Paul Eggert.
93654
93655         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93656         immediately, so the test doesn't mistakenly hit the max-open-files
93657         limit.
93658
93659 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93660
93661         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93662         (TEMPORARIES): New macro.
93663         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93664         removes an artificial limitation (e.g. HP-UX 10.20, where
93665         TMP_MAX is 17576).
93666
93667 2001-11-18  Jim Meyering  <meyering@lucent.com>
93668
93669         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93670
93671 2001-11-18  Jim Meyering  <meyering@lucent.com>
93672
93673         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93674         on SunOS 4.
93675
93676         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93677         files will be created before anything else.
93678
93679 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93680
93681         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93682         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93683
93684 2001-11-17  Jim Meyering  <meyering@lucent.com>
93685
93686         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93687         Prompted by a report from Bob Proulx.
93688
93689         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93690         Instead, require UTILS_FUNC_MKSTEMP.
93691
93692 2001-11-17  Jim Meyering  <meyering@lucent.com>
93693
93694         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93695         Now, that's done as part of AC_FUNC_STRTOD.
93696
93697 2001-11-17  Jim Meyering  <meyering@lucent.com>
93698
93699         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93700         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93701         rather than group writable.  Patch by Juan F. Codagnone.
93702
93703         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93704         xrealloc, Instead, include "xalloc.h".
93705
93706         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93707         Remove explicit declarations of xmalloc, xrealloc,
93708         and xstrdup.  Instead, include "xalloc.h".
93709
93710         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93711         unlocked-io.h.
93712         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93713         Likewise.
93714         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93715
93716         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93717         Reported by Padraig Brady.
93718
93719         * lib/mkstemp.c: #undef mkstemp.
93720         Include config.h.
93721         (rpl_mkstemp): Rename from mkstemp.
93722         Protoize.
93723
93724 2001-11-16  Jim Meyering  <meyering@lucent.com>
93725
93726         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93727         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93728         determine the amount of total physical memory, use pstat_getstatic.
93729         HPUX-11 doesn't define _SC_PHYS_PAGES.
93730         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93731         If sysconf couldn't be used to determine the amount of available
93732         physical memory, use both pstat_getstatic and pstat_getdynamic.
93733         Based on a patch from Bob Proulx.
93734
93735 2001-11-10  Jim Meyering  <meyering@lucent.com>
93736
93737         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93738         (jm_PREREQ): Use it.
93739
93740 2001-11-09  Jim Meyering  <meyering@lucent.com>
93741
93742         * m4/jm-macros.m4: Require autoconf-2.52f.
93743         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93744         Use these AC_-prefixed names, not the AM_-prefixed ones.
93745
93746         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93747
93748 2001-11-05  Jim Meyering  <meyering@lucent.com>
93749
93750         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93751
93752 2001-11-04  Jim Meyering  <meyering@lucent.com>
93753
93754         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93755         $DEFS.
93756
93757 2001-11-03  Jim Meyering  <meyering@lucent.com>
93758
93759         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93760         of AC_DEFUN.
93761
93762         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93763         know the name of the variable in the macro definition.
93764
93765 2001-11-03  Jim Meyering  <meyering@lucent.com>
93766
93767         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93768         in argmatch_to_argument call.
93769
93770         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93771         argument.
93772
93773         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93774         e.g., a fault due to an attempt to free a NULL pointer.
93775
93776 2001-11-01  Jim Meyering  <meyering@lucent.com>
93777
93778         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93779         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93780
93781 2001-11-01  Jim Meyering  <meyering@lucent.com>
93782
93783         * lib/dirfd.c, lib/dirfd.h: New files.
93784         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93785
93786         * lib/hash.c (hash_print) [TESTING]: Clean up.
93787
93788 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93789
93790         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93791         to avoid a warning if -Wall.
93792
93793 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93794
93795         * README: New file
93796         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93797         (per RMS's instructions, this is now the canonical source)
93798         * lgpl/, gpl/: New directories.
93799
93800 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93801
93802         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93803
93804 2001-10-21  Jim Meyering  <meyering@lucent.com>
93805
93806         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93807         this code would end up calling gettext even in packages built
93808         with --disable-nls.
93809         * lib/getopt.c (_): Likewise.
93810         * lib/regex.c (_): Likewise.
93811
93812 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93813
93814         * m4/error.m4 (jm_PREREQ_ERROR):
93815         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93816         AC_FUNC_STRERROR_R does that.
93817         Check for strerror declaration.
93818
93819         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93820         are supposed to have them these days.
93821         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93822         Merge changes from latest Autoconf CVS.
93823         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93824         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93825         POSIX decided to standardize on the int flavor of strerror_r.
93826
93827 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93828
93829         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93830         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93831         Use strerror_r that is only a macro, even if it is not a function.
93832         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93833         (private_strerror): Use prototypes, not old-style function definition.
93834         (print_errno_message): New function.
93835         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93836         char*-flavored one.
93837         (error_tail, error, error_at_line): Use it.
93838
93839 2001-10-11  Jim Meyering  <meyering@lucent.com>
93840
93841         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93842         and quote_n (1, ... to avoid clobbering a buffer.
93843
93844 2001-10-05  Jim Meyering  <meyering@lucent.com>
93845
93846         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93847         hash-pjw.h.
93848         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93849         * lib/hash-pjw.h: New file.
93850
93851 2001-09-30  Jim Meyering  <meyering@lucent.com>
93852
93853         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93854         `struct fsstat' has the `f_fstypename' member.
93855         Use that to define FS_TYPE, which is now used to make
93856         the getfsstat link test tighter.
93857
93858 2001-09-30  Jim Meyering  <meyering@lucent.com>
93859
93860         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93861         Include <sys/ucred.h>, for Apple Darwin.
93862         Include sys/mount.h and sys/fs_types.h only if available.
93863         (FS_TYPE): Define.
93864         (read_filesystem_list): Use FS_TYPE.
93865
93866 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93867
93868         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93869         a boolean context.
93870
93871 2001-09-29  Jim Meyering  <meyering@lucent.com>
93872
93873         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93874         [one-argument getmntent function]): Include stdio.h before mntent.h.
93875         SunOS 4.1.x needs it for the declaration of `FILE'.
93876         Patch by Volker Borchert.
93877
93878         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93879         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93880         sys/fs_types.h, and make the link-test for getfsstat guard #include
93881         directives with appropriate #if HAVE_*_H tests so that we can
93882         detect getfsstat on Apple Darwin1.3.7 systems.
93883         Reported by Nelson Beebe.
93884         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93885
93886 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93887
93888         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93889         #defines strtoimax.  Also treat the other strto* functions
93890         like strtoimax.
93891
93892         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93893         Check for strtoul and strtoumax,
93894         as those declarations are made even in the signed case.
93895         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93896         Likewise, for strtol and strtoimax.
93897
93898 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93899
93900         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93901         #defines strtoimax.  Also treat the other strto* functions
93902         like strtoimax.
93903
93904         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93905         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93906         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93907
93908 2001-09-26  Jim Meyering  <meyering@lucent.com>
93909
93910         Most macros in unlocked-io.h had the wrong number of arguments.
93911         * lib/gen-uio: New script.
93912         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93913         * lib/unlocked-io.hin: Remove file.
93914         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93915         rather than trying to embed it here.
93916         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93917         Reported by Padraig Brady.
93918
93919 2001-09-25  Volker Borchert  <bt@teknon.de>
93920
93921         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93922         `result'.
93923
93924 2001-09-24  Jim Meyering  <meyering@lucent.com>
93925
93926         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93927
93928 2001-09-23  Jim Meyering  <meyering@lucent.com>
93929
93930         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93931         instead of the mere test for existence of mntent.h.  The latter
93932         would get a false-positive on AIX 3.4 systems.
93933         In the outer getmntent if-block, don't die if neither of the getmntent
93934         tests succeeds.  Instead, just fall through and continue with the
93935         remaining tests.
93936
93937 2001-09-23  Jim Meyering  <meyering@lucent.com>
93938
93939         * lib/mountlist.c: Remove useless parentheses in #if directives.
93940         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93941         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93942
93943 2001-09-22  Jim Meyering  <meyering@lucent.com>
93944
93945         * m4/gettext.m4: New file.  From gettext.
93946         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93947         * m4/progtest.m4: Likewise
93948         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93949         * m4/glibc21.m4: Likewise.
93950
93951         * m4/libintl.m4: Remove.  No longer used.
93952
93953 2001-09-22  Jim Meyering  <meyering@lucent.com>
93954
93955         * lib/localcharset.c: Update from latest gettext.
93956         * lib/config.charset: Likewise.
93957
93958 2001-09-20  Jim Meyering  <meyering@lucent.com>
93959
93960         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93961         strtoimax.
93962         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93963         strtoumax.
93964
93965 2001-09-20  Jim Meyering  <meyering@lucent.com>
93966
93967         * lib/xstrtol.c (strtoimax): Guard declaration with
93968         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93969         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93970         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93971         (strtoumax): Likewise, for completeness (it wasn't necessary).
93972
93973 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93974
93975         * lib/strtoimax.c (HAVE_LONG_LONG):
93976         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93977         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93978         to work around bug in IBM C compiler.
93979
93980 2001-09-17  Jim Meyering  <meyering@lucent.com>
93981
93982         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93983         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93984         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93985         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93986         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93987         whenever the right hand side need not be expanded by the shell.
93988
93989 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93990
93991         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93992         library.  It's not correct, as some older glibcs are buggy.
93993         fnmatch wasn't fixed until glibc 2.2.
93994
93995         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93996         special shell magic here.
93997
93998 2001-09-16  Jim Meyering  <meyering@lucent.com>
93999
94000         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
94001         * m4/jm-macros.m4: Require it.
94002
94003 2001-09-16  Jim Meyering  <meyering@lucent.com>
94004
94005         * lib/mkdir.c: New file.
94006
94007 2001-09-15  Jim Meyering  <meyering@lucent.com>
94008
94009         * m4/jm-macros.m4: Check for help2man.
94010
94011 2001-09-11  Jim Meyering  <meyering@lucent.com>
94012
94013         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
94014         The body, by Paul Eggert, was moved here from configure.in.
94015         * m4/jm-macros.m4: Require UTILS_HOST_OS.
94016
94017 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94018
94019         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
94020         (jm_PREREQ): Use it.
94021
94022 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94023
94024         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
94025         Use ssize_t, not int, to store result of readlink.
94026         Check for ssize_t overflow as well as size_t overflow,
94027         as POSIX says the result of readlink is implementation-defined
94028         when ssize_t overflows.
94029         Remove unnecessary cast to char*.
94030         Use free+malloc instead of realloc, as the storage doesn't need
94031         to be preserved and it's clearer and can be more efficient that way.
94032         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
94033         * lib/xreadlink.h (xreadlink): Update prototype.
94034
94035 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94036
94037         * lib/xgetcwd.c: Revert some of the previous change; intead,
94038         fix the HAVE_GETCWD_NULL code to behave more like the
94039         !HAVE_GETCWD_NULL code used to.
94040
94041         Include "xalloc.h".
94042         (xgetcwd): Do not return NULL when memory is exhausted; instead,
94043         invoke xalloc_die.
94044
94045 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94046
94047         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
94048         sys/param.h, as pathmax.h includes them.
94049
94050 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94051
94052         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
94053         (jm_PREREQ_XGETCWD): New macro.
94054
94055         * m4/getcwd.m4: New file.
94056
94057 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94058
94059         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
94060         like the HAVE_GETCWD_NULL code.
94061         Include pathmax.h if not HAVE_GETCWD.
94062         Do not include xalloc.h.
94063         (INITIAL_BUFFER_SIZE): New symbol.
94064         Do not use xmalloc / xrealloc, since the caller is responsible for
94065         handling errors.  Preserve errno around `free' during failure.
94066         Do not overrun buffer when using getwd.
94067
94068 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94069
94070         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
94071         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
94072         getcwd (NULL, 0).
94073
94074 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94075
94076         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
94077         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
94078         spotted by Jim Meyering.
94079
94080 2001-09-03  Jim Meyering  <meyering@lucent.com>
94081
94082         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
94083         failure.
94084
94085 2001-09-02  Jim Meyering  <meyering@lucent.com>
94086
94087         * lib/error.c: Update from GNU libc.
94088
94089 2001-09-01  Jim Meyering  <meyering@lucent.com>
94090
94091         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
94092         Used by df.
94093
94094 2001-09-01  Jim Meyering  <meyering@lucent.com>
94095
94096         * lib/xreadlink.c: New file.
94097         * lib/xreadlink.h: New file.
94098         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
94099         xreadlink.h.
94100
94101         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
94102         doesn't conflict with sparc Solaris 7's definition in
94103         /usr/include/sys/int_types.h.
94104
94105         * lib/exclude.c: Use `""', not `<>' to #include non-system header
94106         files.
94107         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
94108         and strncasecmp as r-values.  Unixware didn't have declarations.
94109
94110 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94111
94112         * lib/xstrtol.h: Add copyright notice.
94113         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
94114         LONGINT_INVALID_SUFFIX_CHAR.
94115
94116 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94117
94118         * lib/xstrtol.c (strtoimax): New decl.
94119
94120 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94121
94122         * lib/xgetcwd.c: Don't include pathmax.h.
94123         Include stdlib.h and unistd.h if available.
94124         Include xalloc.h.
94125         (xmalloc, xstrdup, free): Remove decls.
94126         (xgetcwd): Don't assume sizes fit in unsigned.
94127         Check for overflow when computing sizes.
94128         Simplify reallocation code.
94129
94130 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94131
94132         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94133         a directory's st_size can have an arbitrary value, so the old
94134         usage could waste an arbitrary amount of memory.  All uses
94135         changed.
94136         * lib/savedir.h: Update prototype.
94137
94138 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94139
94140         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94141
94142         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94143         old strtoimax.c.
94144
94145         Also, make the following further changes to make this file's
94146         configuration more similar to that of strtol.c:
94147         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94148         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94149         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94150         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94151         changed to signed values.
94152
94153         And make the following changes as well:
94154         Fix copyright notice, as 1999 was missing.
94155         (verify): New macro.
94156         (strtoimax): Check sizes at compile-time, not run-time.
94157         Prefer strtol to strtoll if both work.
94158         (main): Remove; it was not that useful and was a pain to maintain.
94159
94160         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94161
94162 2001-08-31  Jim Meyering  <meyering@lucent.com>
94163
94164         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94165         Use an initial, malloc'd, buffer of length 128 rather than
94166         a statically allocated one of length 1024.
94167
94168 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94169
94170         Simplify code, partly by assuming autoconf 2.52 semantics.
94171
94172         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94173
94174         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94175         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94176         All uses removed.
94177         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94178         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94179         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94180         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94181         jm_AC_HEADER_INTTYPES_H.
94182         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94183
94184         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94185
94186         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94187         Quote first arg of AC_DEFUN.
94188         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94189         since they are needed to parse the include file even if we need
94190         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94191         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94192         but with opposite signedness.
94193
94194 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94195
94196         Merge 'exclude' changes from tar 1.13.22.
94197         This fixes one or two unlikely storage allocation overflow bugs,
94198         but doesn't change user-visible behavior otherwise.
94199
94200 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94201
94202         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94203         (jm_PREREQ_EXCLUDE): New macro.
94204
94205 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94206
94207         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94208         tm to be declared.
94209
94210 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94211
94212         * lib/hash.c: Remove '2001' from copyright notice.
94213
94214 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94215
94216         * lib/full-write.h: New file.
94217         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94218         * lib/full-write.c: Correct credits, as cccp.c no longer
94219         exists and anyway it was so heavily changed from the old cccp
94220         code as to be unrecognizable.  Include full-write.h.
94221         (full_write): Return size_t, with short writes meaning failure.
94222         All callers changed.  This fixes a bug with large buffers
94223         on 64-bit hosts.
94224         * lib/utime.c: Include full-write.h.
94225
94226 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94227
94228         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94229         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94230         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94231         Include if available.
94232         (<xalloc.h>): Include
94233         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94234         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94235         collide with FNM macros.
94236         (struct patopts): New struct.
94237         (struct exclude): Use it, as exclude patterns now come with options.
94238         (new_exclude): Support above changes.
94239         (new_exclude, add_exclude_file):
94240         Initial size must now be a power of two to simplify overflow checking.
94241         (free_exclude, fnmatch_no_wildcards): New function.
94242         (excluded_filename): No longer requires options arg, as the options
94243         are determined by add_exclude.  Now returns bool, not int.
94244         (excluded_filename, add_exclude):
94245         Add support for the fancy new exclusion options.
94246         (add_exclude, add_exclude_file): Now takes int options arg.
94247         Check for arithmetic overflow when computing sizes.
94248         (add_exclude_file): xrealloc might modify errno, so don't
94249         realloc until after errno might be used.
94250
94251         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94252         New macros.
94253         (free_exclude): New decl.
94254         (add_exclude, add_exclude_file): Now takes int options arg.
94255         (excluded_filename): No longer requires options arg, as the options
94256         are determined by add_exclude.  Now returns bool, not int.
94257
94258 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94259
94260         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94261
94262 2001-08-27  Jim Meyering  <meyering@lucent.com>
94263
94264         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94265
94266         * lib/version-etc.c (N_): Remove definition.
94267         Revert most of last change.
94268         Instead, simply don't mark the `Copyright...' string for translation.
94269         Based on advice from Paul Eggert.
94270
94271         * lib/strtoxmax.c: Tweak comment.
94272
94273 2001-08-26  Jim Meyering  <meyering@lucent.com>
94274
94275         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94276
94277         * m4/xstrtoimax.m4: New file.
94278         * m4/xstrtoumax.m4: Add comments explaining why we
94279         AC_REPLACE_FUNCS(strtol).
94280
94281 2001-08-26  Jim Meyering  <meyering@lucent.com>
94282
94283         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94284         of copyright with `%s' so translators don't get an untranslated
94285         message in 2002.
94286         (COPYRIGHT_YEAR): Define.
94287         (version_etc): Use fprintf rather than fputs.
94288         Suggestion from Ulrich Drepper.
94289
94290         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94291
94292         * lib/strtoll.c: New file, from GNU libc.
94293         * lib/xstrtoimax.c: New file.
94294
94295         * lib/xstrtol.h: Add xstrtoimax.
94296         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94297         * lib/strtoimax.c: New file.  Likewise, but first define
94298         STRTOUXMAX_SIGNED.
94299
94300         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94301         ...
94302         * lib/strtoxmax.c: ... then renamed to this.
94303
94304 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94305
94306         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94307         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94308         (jm_AC_TYPE_INTMAX_T): New macro.
94309         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94310
94311         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94312
94313         * m4/longlong.m4: Renamed from ulonglong.m4.
94314         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94315         * m4/uintmax_t.m4: Removed.
94316
94317 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94318
94319         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94320         Port to Solaris 8, where 'sed' requires a space after the 'r'
94321         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94322         Redirect output to $tmp just once.
94323
94324 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94325
94326         * lib/addext.c (<errno.h>): Include.
94327         (errno): Declare if not defined.
94328         (addext): Work correctly when pathconf returns -1 and leaves
94329         errno alone because there is no limit.  Also, work even if
94330         pathconf returns a value greater than SIZE_MAX.
94331
94332 2001-08-12  Jim Meyering  <meyering@lucent.com>
94333
94334         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94335         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94336         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94337         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94338         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94339         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94340         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94341         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94342         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94343         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94344         utime.m4, utimes.m4, xstrtoumax.m4:
94345         Quote the first argument in each use of AC_DEFUN.
94346
94347 2001-08-12  Jim Meyering  <meyering@lucent.com>
94348
94349         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94350         Simply `return getcwd (NULL, 0);'.
94351         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94352         Use 1300 as initial value for length, not PATH_MAX.
94353
94354         * lib/pathmax.h: Clean up cpp syntax.
94355
94356 2001-08-12  Jim Meyering  <meyering@lucent.com>
94357
94358         * lib/gettimeofday.c: New file.
94359         * lib/gtod.h: New file.
94360         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94361
94362 2001-08-05  Jim Meyering  <meyering@lucent.com>
94363
94364         * m4/jm-macros.m4: Require autoconf-2.52.
94365
94366 2001-08-04  Jim Meyering  <meyering@lucent.com>
94367
94368         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94369         stmt, to get in sync with glibc.
94370
94371 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94372
94373         The following changes are from gettext 0.10.39 as maintained by
94374         Bruno Haible.
94375
94376         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94377         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94378         with inverted sense.  All uses changed.
94379
94380         * lib/mbswidth.c: Don't include <limits.h>.
94381         Include <stdlib.h> and <string.h> unconditionally.
94382         (iswcntrl, mbsinit, ISCNTRL): New macros.
94383         (mbsnwidth): Use K&R style function declarations.
94384         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94385         can optimize it when MB_CUR_MAX == 1.
94386         The width of control characters is zero, not 1.
94387
94388 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94389
94390         The following changes are from gettext 0.10.39 as maintained by
94391         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94392
94393         * m4/codeset.m4: Upgrade to serial AM1.
94394         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94395         all uses changed.  Quote first arg of AC_DEFUN.
94396         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94397
94398         * m4/iconv.m4: Upgrade to serial AM2.
94399         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94400         Add --with-libconv-prefix.
94401         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94402         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94403         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94404         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94405         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94406
94407         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94408         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94409         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94410         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94411         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94412         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94413         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94414         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94415         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94416
94417         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94418         string.h any more.
94419
94420         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94421         not the default value.
94422
94423         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
94424         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
94425         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
94426         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
94427         Also check for iswcntrl, used for wcwidth fallback.
94428         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
94429         to Autoconf 2.13.
94430
94431 2001-08-03  Jim Meyering  <meyering@lucent.com>
94432
94433         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
94434         as it was in the original.  Reported by Paul Eggert.
94435
94436 2001-07-16  Jim Meyering  <meyering@lucent.com>
94437
94438         * m4/gettimeofday.m4: New file.
94439         Prompted by a report from Bernhard Baehr.
94440
94441 2001-07-15  Jim Meyering  <meyering@lucent.com>
94442
94443         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
94444         stuff. Now it's in ../Makefile.cfg.
94445
94446 2001-07-15  Jim Meyering  <meyering@lucent.com>
94447
94448         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
94449         (BUILT_SOURCES): Add unlocked-io.h.
94450         (io_functions): Define.
94451         (unlocked-io.h): New rule.
94452         (DISTCLEANFILES): Add unlocked-io.h.
94453         (all-local): Depend on unlocked-io.h, to ensure it is created.
94454
94455         * lib/unlocked-io.hin: New file
94456
94457         * lib/regex.c: Update from glibc.
94458
94459 2001-07-05  Jim Meyering  <meyering@lucent.com>
94460
94461         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94462         recommendation.
94463         (libfetish_a_SOURCES): Put all .h files here instead.
94464         Remove a thus-exposed (better checks in automake) duplicate and
94465         two unnecessary .h files.
94466
94467 2001-07-04  Jim Meyering  <meyering@lucent.com>
94468
94469         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94470         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94471         distcheck failure.
94472
94473 2001-07-02  Jim Meyering  <meyering@lucent.com>
94474
94475         The following changes were prompted by suggestions from Bruno Haible.
94476
94477         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94478         is now generated.
94479         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94480         definition of EXTRA_DIST.
94481         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94482         ensure that the generated file is created/updated whenever the list
94483         of $(unlocked_functions) is changed.
94484         (jm-glibc-io.m4): New rule.
94485         (unlocked-io.h): New rule -- currently unused.
94486
94487 2001-06-24  Jim Meyering  <meyering@lucent.com>
94488
94489         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94490         unmatched right bracket, rather than kludging it with an extra,
94491         falsely-matching quote in a comment.  Patch by Akim Demaille.
94492
94493 2001-06-11  Jim Meyering  <meyering@lucent.com>
94494
94495         * lib/regex.c: Update from GNU libc.
94496
94497 2001-05-27  Jim Meyering  <meyering@lucent.com>
94498
94499         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94500         Check for ut_type in struct utmp.
94501
94502 2001-05-27  Jim Meyering  <meyering@lucent.com>
94503
94504         * lib/readutmp.h (UT_TYPE): Define.
94505
94506 2001-05-24  Jim Meyering  <meyering@lucent.com>
94507
94508         * lib/argmatch.c: Include "quote.h".
94509         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94510         quote function.  Reported by Göran Uddeborg.
94511
94512 2001-05-22  Jim Meyering  <meyering@lucent.com>
94513
94514         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94515         now that we use the package-supplied version unconditionally.
94516         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94517
94518 2001-05-21  Jim Meyering  <meyering@lucent.com>
94519
94520         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94521         shell syntax errors.
94522
94523 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94524
94525         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94526
94527 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94528
94529         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94530         Don't bother to check library strftime, since
94531         we'll be using our own my_strftime function anyway.
94532         Define my_strftime instead of strftime.
94533
94534 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94535
94536         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94537         which is not yet declared.
94538
94539 2001-05-15  Jim Meyering  <meyering@lucent.com>
94540
94541         * m4/regex.m4: Use proper quoting so brackets appear in the test
94542         program.
94543         Reported by, and with help from, Bruno Haible.
94544
94545 2001-05-13  Jim Meyering  <meyering@lucent.com>
94546
94547         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94548         undefined.
94549
94550 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94551
94552         dirname code cleanup.  base_name now behaves more compatibly
94553         with POSIX basename when given file names that have trailing
94554         slashes, and similarly for dir_name.  Add new primitives
94555         base_len and dir_len.  Put the directory-name-related decls
94556         into dirname.h.
94557
94558         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94559         * lib/backupfile.c (base_name): Likewise.
94560         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94561         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94562         * lib/makepath.c (strip_trailing_slashes): Likewise.
94563         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94564         ISSLASH): Likewise.
94565         * lib/rename.c (strip_trailing_slashes): Likewise.
94566         * lib/same.c (base_name): Likewise.
94567         * lib/stripslash.c (ISSLASH): Likewise.
94568
94569         * lib/addext.c: Include <dirname.h> after size_t is defined.
94570         * lib/backupfile.c: Likewise.
94571
94572         * lib/addext.c (addext): Use base_len to trim redundant
94573         trailing slashes instead of doing it ourselves.
94574         But do not trim the last slash if it is not redundant.
94575
94576         * lib/backupfile.c (find_backup_file_name,
94577         max_backup_version): Use base_len instead of rolling it ourselves.
94578         Handle the case of "" and (on DOS) "C:" correctly.
94579
94580         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94581         needed. Include <string.h>, <dirname.h>.
94582         (base_name): Allow file names ending in slashes, other than names
94583         that are all slashes.  In this case, return the basename followed
94584         by the slashes.  This is more general, and can be used in places
94585         where the original base_name purposely had an assertion failure.
94586         (base_len): New function.
94587
94588         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94589         Do not include <assert.h>; no longer needed.
94590         Include xalloc.h.
94591         (memrchr): Remove decl.
94592         (dir_name_r): Remove.
94593         (dir_len): Renamed from dirlen.  All callers changed.
94594         Rewrite in terms of base_name, for simplicity and consistency.
94595         (dir_name): Never return NULL.  All callers changed.
94596         Do not include <stdlib.h> in test program; no longer needed.
94597         return 0; is fine for test program.
94598
94599         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94600         New macros.
94601         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94602
94603         * lib/path-concat.c (path_concat): Use base_len to compute
94604         base length, not strlen; this means we cannot rely on memcpy
94605         to null-terminate.
94606
94607         * lib/same.c (STREQ): Remove.
94608         (same_name): Handle the case where the basename ends in trailing '/'.
94609
94610         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94611         a slash was stripped.  Do not strip the last slash after a
94612         file system prefix.
94613
94614 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94615
94616         * lib/Makefile.am (libfetish_a_SOURCES):
94617         Add strftime.c, since we now compile it on all hosts.
94618
94619         * lib/strftime.c (my_strftime):
94620         Define to nstrftime if emacs, but only if my_strftime is not defined.
94621         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94622         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94623         Add one more extra argument: a nanoseconds value.
94624         All uses changed.
94625         (ns): New macro.
94626         (my_strftime function): Add %N format.
94627         (emacs_strftimeu): Renamed from emacs_strftime,
94628         with extra ut argument.
94629
94630 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94631
94632         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94633
94634 2001-04-21  Jim Meyering  <meyering@lucent.com>
94635
94636         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94637         doesn't interfere.
94638
94639 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94640
94641         * m4/ftruncate.m4: Check for chsize.
94642         Link with ftruncate.o unconditionally if ftruncate is missing.
94643         This was required when cross-compiling to i586-mingw32msvc.
94644
94645 2001-04-08  Jim Meyering  <meyering@lucent.com>
94646
94647         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94648         recomputed; that's necessary when the offset spans a DST transition.
94649         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94650
94651 2001-04-02  Jim Meyering  <meyering@lucent.com>
94652
94653         * lib/regex.h, regex.c: Update from GNU libc.
94654
94655 2001-03-24  Jim Meyering  <meyering@lucent.com>
94656
94657         * m4/jm-macros.m4: Require autoconf-2.49d.
94658
94659 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94660
94661         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94662
94663 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94664
94665         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94666
94667 2001-03-17  Jim Meyering  <meyering@lucent.com>
94668
94669         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94670         now that the version in autoconf is equivalent.
94671         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94672
94673         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94674         Suggestion from Akim Demaille.
94675
94676         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94677         (jm_PREREQ_TEMPNAME): New function.
94678
94679 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94680
94681         * lib/tempname.c (uint64_t): Define to uintmax_t if
94682         not defined, and if UINT64_MAX is not defined.
94683         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94684         Reported by John David Anglin.
94685
94686 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94687
94688         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94689         resolve alias if codeset is empty.
94690         * lib/config.charset (BeOS): Use wildcard syntax.
94691
94692 2001-03-13  Jim Meyering  <meyering@lucent.com>
94693
94694         * lib/path-concat.c (path_concat)
94695         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94696         concatenating e.g., `C:' and `foo'.
94697         From Bruno Haible.
94698
94699 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94700
94701         * lib/localcharset.c (locale_charset): Don't use
94702         setlocale(LC_CTYPE,NULL). Don't return NULL.
94703         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94704
94705 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94706
94707         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94708         support for DOS/DJGPP.
94709
94710 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94711
94712         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94713         lacks mkstemp.  Compile our own tempname.c if we compile our own
94714         mkstemp.c, as mkstemp relies on tempname.
94715
94716 2001-03-01  Jim Meyering  <meyering@lucent.com>
94717
94718         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94719         AH_VERBATIM really does output its argument verbatim.
94720
94721 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94722
94723         * lib/Makefile.am (libfetish_a_SOURCES):
94724         Add dup-safer.c, fopen-safer.c.
94725         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94726
94727         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94728         * lib/unistd-safer.h: New files.
94729
94730 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94731
94732         The mkstemp replacement is taken from glibc 2.2.2, with some
94733         portability fixes for use outside glibc, as follows:
94734
94735         * lib/tempname.c (struct_stat64): New macro.
94736         (direxists, __gen_tempname): Use it.
94737         This avoids a portability problem with Solaris 8.
94738
94739         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94740         (<stddef.h>, <stdint.h>, <string.h>):
94741         Include only if STDC_HEADERS || _LIBC.
94742         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94743         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94744         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94745         (__set_errno): Define this macro if <errno.h> doesn't.
94746         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94747         Define these macros if <stdio.h> doesn't.
94748         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94749         Define these macros if <sys/stat.h>
94750         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94751         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94752         __xstat64): Define if not _LIBC.
94753         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94754         (__gen_tempname): Invoke gettimeofday only if
94755         HAVE_GETTIMEOFDAY || _LIBC;
94756         otherwise, fall back on plain "time".
94757         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94758
94759         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94760
94761         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94762
94763 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94764
94765         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94766
94767 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94768
94769         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94770         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94771         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94772         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94773
94774 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94775
94776         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94777         Remove workaround macros for hosts that have mbrtowc but not
94778         mbstate_t, as we now insist on proper declarations for both
94779         before using mbrtowc.
94780
94781 2001-02-17  Jim Meyering  <meyering@lucent.com>
94782
94783         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94784         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94785         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94786         UnixWare 7.1.1.
94787
94788         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94789         rather than AC_CACHE_VAL.
94790
94791 2001-02-17  Jim Meyering  <meyering@lucent.com>
94792
94793         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94794         around included file name.
94795
94796         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94797
94798         * lib/strftime.c: Update from GNU libc (the only changes were to
94799         comments).
94800
94801 2001-02-17  Jim Meyering  <meyering@lucent.com>
94802
94803         * lib/regex.c: Update from libc.
94804
94805 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94806
94807         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94808         clash.
94809
94810 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94811
94812         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94813         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94814         Reported by Mark Hounschell via Paul Eggert.
94815
94816 2001-02-07  Jim Meyering  <meyering@lucent.com>
94817
94818         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94819
94820 2001-02-05  Jim Meyering  <meyering@lucent.com>
94821
94822         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94823         it includes the patch required for `large file' support with at least
94824         HP-UX's 10.20 /bin/cc.
94825
94826 2001-02-03  Jim Meyering  <meyering@lucent.com>
94827
94828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94829         AS_IF, now that it works once again (mysteriously).
94830         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94831
94832 2001-01-30  Jim Meyering  <meyering@lucent.com>
94833
94834         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94835         * m4/chown.m4: Rename conftestchown to conftest.chown.
94836         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94837         s/conftestdir2/conftest.d2/.
94838         * m4/utimes.m4: s/conftestdata/conftest.data/
94839         Inspired by Pavel Roskin's change in autoconf.
94840
94841 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94842
94843         * lib/config.charset: Update for FreeBSD 4.2.
94844
94845 2001-01-27  Jim Meyering  <meyering@lucent.com>
94846
94847         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94848         a use of AS_IF.
94849         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94850
94851 2001-01-26  Jim Meyering  <meyering@lucent.com>
94852
94853         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94854         quotearg.c includes it.
94855
94856 2001-01-26  Jim Meyering  <meyering@lucent.com>
94857
94858         * lib/quotearg.c: Include stddef.h.
94859         * lib/quote.c: Include stddef.h.
94860         Reported by Axel Kittenberger.
94861
94862         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94863         line in double quotes so that it evokes a better diagnostic.
94864         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94865         Reported by Axel Kittenberger.
94866
94867 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94868
94869         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94870         as if it was a `charset'.
94871
94872 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94873
94874         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94875         has const.
94876
94877 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94878
94879         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94880         to avoid a warning.  Add back 'const' to inptr.
94881
94882 2001-01-20  Jim Meyering  <meyering@lucent.com>
94883
94884         Be sure that headers are checked before used in code compiled
94885         for the type checks.
94886         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94887         In place of that, invoke jm_CHECK_ALL_TYPES.
94888         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94889         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94890         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94891         The check for ssize_t was mistakenly run before the test for unistd.h.
94892
94893         The configure-time check for stdbool.h was missing.
94894         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94895         (jm_PREREQ_HASH): New function.
94896
94897 2001-01-17  Jim Meyering  <meyering@lucent.com>
94898
94899         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94900         for autoconf-2.49c.
94901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94902
94903 2001-01-16  Jim Meyering  <meyering@lucent.com>
94904
94905         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94906         From Bruno Haible.
94907
94908 2001-01-14  Jim Meyering  <meyering@lucent.com>
94909
94910         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94911         foo and bar.  Create conftestdir/ in the script, not in the C code.
94912         Remove directories in the script, not in the C code.
94913         Remove conftestdir{,2} before trying to create the directory.
94914         Make the entire configure script fail if the mkdir fails.
94915
94916 2001-01-14  Jim Meyering  <meyering@lucent.com>
94917
94918         * lib/rename.c: New file.  From Volker Borchert.
94919         Include stdlib.h, string.h or strings.h, and xalloc.h.
94920         Use strip_trailing_slashes rather than open-coding it.
94921
94922 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94923
94924         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94925
94926 2001-01-03  Jim Meyering  <meyering@lucent.com>
94927
94928         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94929         of local `inptr' to avoid warning with some system declarations of
94930         iconv.
94931
94932 2001-01-02  Volker Borchert  <bt@teknon.de>
94933
94934         * m4/rename.m4: New file.
94935         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94936
94937 2001-01-01  Jim Meyering  <meyering@lucent.com>
94938
94939         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94940         even on systems with utmpx.h.  It's necessary for the declaration of
94941         utmp's ut_user member.  Reported by Andreas Jaeger.
94942
94943         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94944         available. They are required for the declarations of getgrgid and
94945         getpwuid resp.
94946         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94947         Reported by Andreas Jaeger.
94948
94949 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94950
94951         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94952         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94953         so `make install' also works in VPATH builds.
94954
94955 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94956
94957         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94958         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94959         can be used in subdirectories.
94960
94961 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94962
94963         * lib/modechange.c: Do not assume that mode_t uses the
94964         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94965         the other-execute bit of FOO even if S_IXOTH != 1.
94966
94967         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94968         WOTH, XOTH, ALLM): New macros.
94969         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94970          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94971         Use them.
94972         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94973         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94974         (mode_compile):
94975         No need to use uintmax_t; unsigned long is long enough.
94976         Don't bother to get suffix since we don't use it.
94977
94978 2000-12-26  Jim Meyering  <meyering@lucent.com>
94979
94980         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94981         better with autoheader.
94982
94983 2000-12-24  Jim Meyering  <meyering@lucent.com>
94984
94985         * lib/hash.c (is_prime): Return explicit boolean values.
94986         (hash_get_first): Return NULL to appease Irix5.6's 89.
94987         Reported by Nelson Beebe.
94988
94989 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94990
94991         * lib/localcharset.c (locale_charset): Add support for Win32.
94992
94993 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94994
94995         * lib/physmem.h, lib/physmem.c: New files.
94996
94997         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94998         (noinst_HEADERS): Add physmem.h.
94999
95000         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
95001         't' for compatibility with Solaris 8 sort.
95002
95003 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
95004
95005         * lib/config.charset: Add support for BeOS.
95006
95007 2000-12-17  Jim Meyering  <meyering@lucent.com>
95008
95009         * m4/dos.m4 (jm_AC_DOS): New file and macro.
95010         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
95011
95012 2000-12-16  Jim Meyering  <meyering@lucent.com>
95013
95014         This bug had a serious impact on chown: `chown N:M FILE' (for integer
95015         N and M) would have treated it like `chown N:N FILE'.
95016
95017         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
95018
95019 2000-12-16  Jim Meyering  <meyering@lucent.com>
95020
95021         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
95022         SHELLS_FILE to a file name that's useful on djgpp systems.
95023         Include stdlib.h.
95024         (ADDITIONAL_DEFAULT_SHELLS): Define.
95025         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
95026         Based mostly on a patch from Prashant TR.
95027
95028 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
95029
95030         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
95031         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
95032         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
95033
95034 2000-12-08  Andreas Schwab  <schwab@suse.de>
95035
95036         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
95037         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
95038
95039 2000-12-07  Jim Meyering  <meyering@lucent.com>
95040
95041         * lib/stripslash.c (ISSLASH): Define.
95042         (strip_trailing_slashes): Use ISSLASH rather than comparing against
95043         `/'.
95044         From Prashant TR.
95045
95046         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
95047         (dir_name_r): Declare this function as static.
95048         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
95049         manifest itself on a name containing a mix of slashes and
95050         backslashes.
95051         Make this function work with names starting with a DOS-style
95052         drive letter and colon prefix.
95053         (dir_name): Append `.' if necessary.
95054         Based mostly on patches from Prashant TR and Eli Zaretskii.
95055
95056         * lib/dirname.h (dir_name_r): Remove prototype.
95057
95058 2000-12-06  Paul Eggert  <eggert@twinsun.com>
95059
95060         * m4/off_t-format.m4: Remove this file.
95061         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
95062
95063 2000-12-06  Jim Meyering  <meyering@lucent.com>
95064
95065         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
95066         replacement strtoull, we may well need the replacement strtoul, too.
95067         Check for declarations of strtoul and strtoull.
95068         Check for strtol.  Mainly as a cue to cause automake to include
95069         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
95070         Check for limits.h -- strtol.c needs it.
95071
95072 2000-12-05  Jim Meyering  <meyering@lucent.com>
95073
95074         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
95075
95076 2000-12-04  Jim Meyering  <meyering@lucent.com>
95077
95078         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
95079         Also include memory.h, stdlib.h, unistd.h if appropriate.
95080         Reported by Andreas Jaeger (conflicting declaration of malloc).
95081
95082 2000-12-02  Jim Meyering  <meyering@lucent.com>
95083
95084         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
95085         * m4/jm-macros.m4 (jm_MACROS): require it.
95086
95087 2000-12-02  Jim Meyering  <meyering@lucent.com>
95088
95089         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
95090
95091 2000-12-01  Paul Eggert  <eggert@twinsun.com>
95092
95093         * lib/memrchr.c: Include <config.h> before any system include file.
95094
95095 2000-11-30  Jim Meyering  <meyering@lucent.com>
95096
95097         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
95098
95099 2000-11-30  Jim Meyering  <meyering@lucent.com>
95100
95101         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
95102
95103 2000-11-29  Paul Eggert  <eggert@twinsun.com>
95104
95105         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
95106
95107 2000-11-26  Jim Meyering  <meyering@lucent.com>
95108
95109         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
95110
95111 2000-11-22  Paul Eggert  <eggert@twinsun.com>
95112
95113         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
95114         size of (size_t) -1; it's not portable.
95115
95116 2000-11-17  Jim Meyering  <meyering@lucent.com>
95117
95118         * lib/strstr.c: Update from GNU libc.
95119
95120 2000-11-17  Akim Demaille  <akim@epita.fr>
95121
95122         * lib/obstack.h: Formatting changes.
95123         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
95124         prevent type checking.
95125         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
95126         cast the value to (void *): assigning a `foo *' to a `void *'
95127         variable is valid.
95128         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95129
95130 2000-11-16  Jim Meyering  <meyering@lucent.com>
95131
95132         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95133
95134 2000-11-11  Jim Meyering  <meyering@lucent.com>
95135
95136         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95137
95138 2000-11-10  Jim Meyering  <meyering@lucent.com>
95139
95140         * lib/obstack.h: Update from GNU libc.
95141         * lib/obstack.c: Likewise.
95142
95143 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95144
95145         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95146
95147 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95148
95149         * lib/getusershell.c (setusershell): Use rewind rather than
95150         fseek/fseeko, to avoid configuration hassles with fseeko.
95151         Don't bother opening SHELLS_FILE if shellstream is NULL;
95152         it's not necessary.
95153
95154 2000-11-05  Jim Meyering  <meyering@lucent.com>
95155
95156         * lib/makepath.h (make_dir): Declare.
95157         * lib/makepath.c (make_dir): Remove `static' attribute.
95158         Tweak a comment.
95159
95160 2000-11-04  Jim Meyering  <meyering@lucent.com>
95161
95162         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95163
95164 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95165
95166         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95167         last one in a bucket, advance to the next bucket.
95168
95169 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95170
95171         * lib/fnmatch.c: Do not comment out all the code if we are using
95172         the GNU C library, because in some cases we are replacing buggy
95173         code in the GNU C library itself.
95174
95175 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95176
95177         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95178         (regex_compile): Catch bogus \(\1\).
95179
95180 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95181
95182         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95183         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95184         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95185
95186 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95187
95188         * lib/error.h, getline.h, modechange.h:
95189         Remove "2000" from Copyright line, as the file hasn't been
95190         changed this year other than in the copyright notice.
95191
95192         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95193         was changed this year.
95194
95195 2000-10-29  Jim Meyering  <meyering@lucent.com>
95196
95197         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95198         renaming.
95199         * m4/ls-mntd-fs.m4: Likewise
95200
95201 2000-10-29  Jim Meyering  <meyering@lucent.com>
95202
95203         * lib/xstat.in: Fix grammar in comment.
95204
95205 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95206
95207         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95208         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95209         doesn't define __restrict_arr.
95210
95211 2000-10-28  Jim Meyering  <meyering@lucent.com>
95212
95213         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95214         (jm_PREREQ_MEMCHR): New function.
95215
95216 2000-10-28  Jim Meyering  <meyering@lucent.com>
95217
95218         * lib/memchr.c: Update from libc.
95219         Adjust for portability:
95220         [HAVE_STDLIB_H]: Include stdlib.h.
95221         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95222         Undef __memchr, too.
95223         [!weak_alias]: Define __memchr to memchr.
95224
95225         * lib/regex.c: Update from libc.
95226         * lib/regex.h: Likewise.
95227         * lib/getopt1.c: Likewise.
95228         * lib/memcmp.c: Likewise.
95229
95230         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95231         Avoid using fseek, when possible -- it's broken by design.
95232         Patch by Ulrich Drepper.
95233
95234 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95235
95236         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95237         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95238         Giving in to popular pressure to shut up the compiler with casts.
95239
95240 2000-10-26  Jim Meyering  <meyering@lucent.com>
95241
95242         * lib/strftime.c: Update from libc.
95243
95244 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95245
95246         * regex.c: More `unsigned char' -> `re_char' changes.
95247         Also change several `int' into `re_wchar_t'.
95248         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95249         (PUSH_FAILURE_POINTER): Don't cast any more.
95250         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95251         We want GCC to complain, since this piece of code makes
95252         re_match non-reentrant, which *should* be fixed.
95253         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95254         (EXTEND_BUFFER): Use RETALLOC.
95255         (SET_LIST_BIT): Don't cast.
95256         (re_wchar_t): New type.
95257         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95258         that those two functions will always properly return.
95259         (IMMEDIATE_QUIT_CHECK): Cast to void.
95260         (analyse_first): Use recursion rather than an explicit stack.
95261         (re_compile_fastmap): Can't fail anymore.
95262         (re_search_2): Don't check re_compile_fastmap for failure.
95263         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95264         Now also sets the new value (passed in a new argument).
95265         (re_match_2_internal): Use it.
95266         Also, use a new var `reg' of type size_t when looping through regs
95267         rather than reuse the inappropriate `mcnt'.
95268
95269 2000-10-25  Jim Meyering  <meyering@lucent.com>
95270
95271         * lib/obstack.c: Update from libc.
95272
95273 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95274
95275         * regex.c (regex_compile): Change the way of handling a range from
95276         a char less than 256 to a char not less than 256.
95277
95278 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95279
95280         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95281         NT-Emacs only.
95282         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95283         so that re_search functions only quit when callers expect them to.
95284
95285 2000-10-23  Jim Meyering  <meyering@lucent.com>
95286
95287         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95288         wrong.  That set_locale call must not have any side effects.
95289         From Paul Eggert.
95290
95291 2000-10-22  Jim Meyering  <meyering@lucent.com>
95292
95293         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95294         [CYCLIC]: Remove now-unused definition.
95295
95296         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95297         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95298         Suggestion from Ulrich Drepper.
95299
95300 2000-10-21  Jim Meyering  <meyering@lucent.com>
95301
95302         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95303         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95304         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95305
95306 2000-10-21  Jim Meyering  <meyering@lucent.com>
95307
95308         * lib/dirname.c (memrchr): Declare if necessary.
95309         (dir_name): Remove the restriction that there be no
95310         trailing slashes.  Now, this code skips past them, effectively
95311         ignoring them.
95312         [TEST_DIRNAME] (main): New unit tests.
95313
95314         * lib/memrchr.c: New file from GNU libc.
95315         Undef __memrchr, too.
95316         [!weak_alias]: Define __memrchr to memrchr.
95317         Guard weak_alias use with `#ifdef weak_alias'.
95318
95319 2000-10-21  Jim Meyering  <meyering@lucent.com>
95320
95321         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95322         (dir_name): Use dir_name_r.
95323         * lib/dirname.h (dir_name_r): Declare it.
95324
95325 2000-10-17  Jim Meyering  <meyering@lucent.com>
95326
95327         * lib/quote.h (PARAMS): Define and use.
95328         Reported by Akim Demaille.
95329
95330         * lib/getopt.c: Update from libc.
95331
95332 2000-10-16  Jim Meyering  <meyering@lucent.com>
95333
95334         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95335         setlocale.
95336         From Jan Fedak.
95337
95338 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95339
95340         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95341
95342 2000-09-25  Jim Meyering  <meyering@lucent.com>
95343
95344         * lib/md5.h (rol): Define (from GnuPG).
95345
95346         * lib/sha.c: Give credit (GnuPG) where due.
95347         (M): Use rol rather than open-coding it.
95348         Add a FIXME comment.
95349
95350 2000-09-21  Jim Meyering  <meyering@lucent.com>
95351
95352         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95353         Reported by Michael Stone.
95354
95355 2000-09-20  Jim Meyering  <meyering@lucent.com>
95356
95357         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95358         (noinst_HEADERS): Add sha.h.
95359         Based on code from Scott G. Miller and from GnuPG.
95360
95361 2000-09-18  Jim Meyering  <meyering@lucent.com>
95362
95363         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95364         LIBS. Otherwise, everyone ends up linking with -lelf for some
95365         configurations.
95366         Reported by Mike Stone.
95367
95368 2000-09-15  Jim Meyering  <meyering@lucent.com>
95369
95370         * lib/regex.c: Update from libc.
95371
95372 2000-09-10  Jim Meyering  <meyering@lucent.com>
95373
95374         * lib/getopt.c (_getopt_internal): Update from glibc.
95375
95376 2000-09-09  Jim Meyering  <meyering@lucent.com>
95377
95378         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95379         think it should be used as a general replacement for isascii.
95380         * lib/fnmatch.c: Likewise.
95381         * lib/mbswidth.c: Likewise
95382         * lib/regex.c: Likewise.
95383
95384         Don't use atoi.
95385         * lib/userspec.c: Include sys/param.h and limits.h.
95386         Include xstrtol.h.
95387         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95388         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95389         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95390         UID, GID.  Check range.
95391
95392 2000-09-06  Jim Meyering  <meyering@lucent.com>
95393
95394         * lib/getopt.c (_getopt_internal): Update from glibc.
95395
95396 2000-08-30  Jim Meyering  <meyering@lucent.com>
95397
95398         * lib/strftime.c: Merge in changes from GNU libc.
95399
95400 2000-08-26  Jim Meyering  <meyering@lucent.com>
95401
95402         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95403         * m4/fpending.m4: New file.
95404
95405 2000-08-26  Jim Meyering  <meyering@lucent.com>
95406
95407         * lib/closeout.c: Include "__fpending.h".
95408         (close_stdout_status): Return right away if there's nothing to flush.
95409
95410         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95411         * lib/__fpending.c: New file.
95412         * lib/__fpending.h: New file.
95413
95414 2000-08-20  Jim Meyering  <meyering@lucent.com>
95415
95416         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95417         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95418         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95419
95420 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95421
95422         Improve fileutils installation on systems where running
95423         programs (like install) can't be unlinked.
95424         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
95425         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
95426
95427 2000-08-07  Paul Eggert  <eggert@twinsun.com>
95428
95429         Standardize on "memory exhausted" instead of "Memory exhausted"
95430         or "virtual memory exhausted".
95431         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
95432         "virtual memory exhausted".
95433         * lib/same.c (same_name): Invoke xalloc_die instead of printing
95434         our own message.
95435         * lib/userspec.c (parse_user_spec): Likewise.
95436         * lib/bumpalloc.h: comment fix
95437         * lib/same.c, userspec.c: Include xalloc.h.
95438
95439         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
95440         not char *const and pointing to a constant array.
95441         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
95442         (xrealloc): Comment fix.
95443
95444         * lib/userspec.c (parse_user_spec):
95445         Don't translate a message until just before returning,
95446         to avoid unnecessary translation.
95447
95448 2000-08-07  Jim Meyering  <meyering@lucent.com>
95449
95450         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
95451         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
95452         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
95453         getgroups.c, gethostname.c, getopt.h, group-member.c,
95454         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
95455         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
95456         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
95457         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95458         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95459         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95460         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95461         yesno.c: Back out Copyright date changes for each file with no change
95462         this year.  This eases coordination with other programs using the same
95463         source code modules.  From Paul Eggert.
95464
95465 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95466
95467         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95468         not char, for compatibility with glibc 2.1.3 strftime.c.
95469
95470 2000-08-03  Greg McGary  <greg@mcgary.org>
95471
95472         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95473         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95474         (EXTEND_BUFFER): Use them.
95475
95476 2000-08-01  Jim Meyering  <meyering@lucent.com>
95477
95478         * lib/dirname.c (ISSLASH): Define.
95479         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95480         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95481         both `\' and `/' may be use as path separators.
95482         Based on a patch from Prashant TR.
95483
95484 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95485
95486         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95487         slot vector a constant, since it might get modified.
95488
95489 2000-07-31  Jim Meyering  <meyering@lucent.com>
95490
95491         * lib/xmalloc.c: Use `virtual memory exhausted', not
95492         `Memory exhausted'.
95493         * lib/obstack.c (print_and_abort): Likewise.
95494
95495 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95496
95497         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95498         buffer, so that the caller can always quote one small
95499         component of a "memory exhausted" message in slot 0.
95500         From a suggestion by Jim Meyering.
95501
95502 2000-07-30  Jim Meyering  <meyering@lucent.com>
95503
95504         * lib/makepath.c (make_path): Quote the other instance, too.
95505
95506         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95507         (STATIC_BUF_SIZE): Define.
95508         (quotearg_n_options): Use only statically allocated storage when
95509         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95510         than STATIC_BUF_SIZE.
95511
95512 2000-07-29  Jim Meyering  <meyering@lucent.com>
95513
95514         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95515         * lib/dirname.c (dir_name): Likewise.
95516
95517         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95518         `/'.
95519
95520         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95521         (dir_name): Assert that there are no trailing slashes.
95522
95523 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95524
95525         * lib/mbswidth.h (mbswidth): Add a flags argument.
95526         (mbswidth): New declaration.
95527         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95528         * lib/mbswidth.c (mbswidth): Add a flags argument.
95529         (mbsnwidth): New function.
95530
95531 2000-07-24  Jim Meyering  <meyering@lucent.com>
95532
95533         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95534
95535 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95536
95537         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95538
95539 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95540
95541         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95542         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95543         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95544         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95545         invoke multibyte primitives.
95546
95547 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95548
95549         * lib/quotearg.c:
95550         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95551         so that mbstate_t is always defined.
95552
95553         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95554         be 1 in at least one GCC installation, and this configuration
95555         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95556         performance on hosts that have mbrtowc but have only unibyte
95557         locales, but I assume these hosts are rare.
95558
95559 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95560
95561         * lib/mbswidth.c (_XOPEN_SOURCE):
95562         Don't define; this causes problems on Solaris 7.
95563         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95564
95565 2000-07-23  Jim Meyering  <meyering@lucent.com>
95566
95567         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95568         too: getgrgid, getpwuid, getuid.
95569
95570 2000-07-23  Jim Meyering  <meyering@lucent.com>
95571
95572         * lib/basename.c (base_name): Add an assertion.
95573
95574 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95575
95576         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95577         shadow its mbsinit function.
95578
95579 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95580
95581         * lib/mbswidth.h: New file.
95582         * lib/mbswidth.c: New file.
95583         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95584         (noinst_HEADERS): Add mbswidth.h.
95585
95586 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95587
95588         * lib/config.charset: Add support for FreeBSD. Improve support for
95589         HP-UX and IRIX 6.
95590
95591 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95592
95593         * m4/mbswidth.m4: New file.
95594         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95595
95596 2000-07-15  Jim Meyering  <meyering@lucent.com>
95597
95598         * lib/makepath.c: Include quote.h.
95599         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95600         corresponding argument in a `quote (...)' call.
95601         Give better diagnostics.
95602
95603         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95604         (noinst_HEADERS): Add quote.h.
95605
95606         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95607         from tar's src/misc.c.
95608         * lib/quote.h: New file.  Prototypes for same.
95609
95610 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95611
95612         From a suggestion by Bruno Haible.
95613         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95614         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95615         to decide whether to define the BeOS workaround macro;
95616         this adjusts to the change to AC_MBSTATE_T.
95617
95618 2000-07-14  Jim Meyering  <meyering@lucent.com>
95619
95620         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95621         jm_AC_TYPE_UINTMAX_T.
95622
95623 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95624
95625         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95626
95627         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95628         quotearg_buffer_restyled): Add support for
95629         clocale_quoting_style.  Undo previous change to
95630         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95631         and "{RIGHT QUOTATION MARK}" msgids.
95632
95633 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95634
95635         From a suggestion by Bruno Haible.
95636         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95637         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95638         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95639         and mbstate_t, to a single-part test that simply defines mbstate_t.
95640         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95641         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95642
95643 2000-07-10  Jim Meyering  <meyering@lucent.com>
95644
95645         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95646
95647         * m4/gnu-source.m4: Output to confdefs.h directly.
95648         Suggestion from Akim Demaille.
95649
95650 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95651
95652         The old behavior of quoting `like this' doesn't look good with
95653         newer, ISO-style fonts.  See:
95654         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95655
95656         Instead, quote "like this" by default.  Let the translator
95657         tailor the locale-specific quoting behavior by providing
95658         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95659
95660         * lib/quotearg.c (N_): New macro.
95661         (gettext_default): New function.
95662         (quotearg_buffer_restyled): Use
95663         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95664         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95665
95666 2000-07-09  Jim Meyering  <meyering@lucent.com>
95667
95668         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95669         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95670
95671         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95672         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95673
95674 2000-07-09  Jim Meyering  <meyering@lucent.com>
95675
95676         * lib/Most files: Update copyright dates to include 2000.
95677
95678 2000-07-08  Jim Meyering  <meyering@lucent.com>
95679
95680         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95681         if not defined.
95682         (xgethostname): Remove now-unnecessary #ifdef.
95683         Move declaration of `err' into loop where it's used.
95684
95685 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95686         and Bruno Haible  <haible@clisp.cons.org>
95687
95688         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95689         only if the test for an object-type mbstate_t fails.  This
95690         prevents us from mistakenly reporting that mbstate_t is a
95691         system object type after we "#define mbstate_t int" to work
95692         around its lack.
95693
95694 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95695         and Bruno Haible  <haible@clisp.cons.org>
95696
95697         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95698
95699 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95700
95701         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95702         to strerror_r.
95703         Include <ctype.h> for use of isalpha.
95704
95705 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95706
95707         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95708         by allocating a larger buffer. Test the gethostname return value for
95709         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95710         returns an error and ENAMETOOLONG isn't defined.
95711
95712 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95713
95714         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95715         dimension.
95716
95717 2000-07-04  Jim Meyering  <meyering@lucent.com>
95718
95719         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95720         of the deprecated AC_CHECKING.
95721
95722 2000-07-04  Jim Meyering  <meyering@lucent.com>
95723
95724         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95725         Reported by Bruno Haible.
95726
95727 2000-07-04  Jim Meyering  <meyering@lucent.com>
95728
95729         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95730         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95731         lacks mbrtowc.
95732
95733 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95734
95735         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95736         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95737
95738 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95739         and Bruno Haible  <haible@clisp.cons.org>
95740
95741         * lib/quotearg.c (mbrtowc):
95742         Assign to *pwc, and return 1 only if result is nonzero.
95743         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95744
95745 2000-07-03  Jim Meyering  <meyering@lucent.com>
95746
95747         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95748
95749 2000-07-03  Jim Meyering  <meyering@lucent.com>
95750
95751         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95752         This is necessary to get a definition of e.g., UTMP_FILE on
95753         HP-UX 10.20.
95754         From Bob Proulx.
95755
95756 2000-07-02  Jim Meyering  <meyering@lucent.com>
95757
95758         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95759
95760         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95761         AC_LIBOBJ(function_name).
95762         * m4/chown.m4: Likewise.
95763         * m4/fnmatch.m4: Likewise.
95764         * m4/ftruncate.m4: Likewise.
95765         * m4/getgroups.m4: Likewise.
95766         * m4/getline.m4: Likewise.
95767         * m4/group-member.m4: Likewise.
95768         * m4/jm-macros.m4: Likewise.
95769         * m4/lstat.m4: Likewise.
95770         * m4/malloc.m4: Likewise.
95771         * m4/memcmp.m4: Likewise.
95772         * m4/nanosleep.m4: Likewise.
95773         * m4/putenv.m4: Likewise.
95774         * m4/realloc.m4: Likewise.
95775         * m4/regex.m4: Likewise.
95776         * m4/stat.m4: Likewise.
95777         * m4/strftime.m4: Likewise.
95778
95779 2000-07-02  Jim Meyering  <meyering@lucent.com>
95780
95781         * lib/quotearg.c (mbstate_t): Don't define here.
95782
95783 2000-07-02  Jim Meyering  <meyering@lucent.com>
95784
95785         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95786
95787 2000-07-01  Jim Meyering  <meyering@lucent.com>
95788
95789         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95790
95791 2000-07-01  Jim Meyering  <meyering@lucent.com>
95792
95793         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95794         problem.
95795
95796 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95797
95798         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95799         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95800
95801 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95802
95803         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95804         per change in ../m4/ls-mntd-fs.m4.
95805         (read_filesystem_list): Ignore symbolic links.
95806
95807 2000-06-29  Jim Meyering  <meyering@lucent.com>
95808
95809         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95810         for declaration of strcmp.
95811
95812         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95813
95814         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95815         Avoid warning by casting result to `char *' to remove `const'.
95816
95817 2000-06-28  Jim Meyering  <meyering@lucent.com>
95818
95819         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95820         included by quotearg.c, for which we perform this test.  From
95821         Bruno Haible.
95822
95823 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95824
95825         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95826         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95827         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95828
95829 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95830
95831         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95832
95833 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95834
95835         savedir now sets errno on failure and invokes xmalloc to get memory.
95836         Fix a couple of other minor bugs while we're at it.
95837
95838         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95839         (NAMLEN): Remove macro.
95840         (malloc, realloc): Remove decls.
95841         (stpcpy): Likewise.
95842         ("xalloc.h"): Include.
95843         (NAME_SIZE_DEFAULT): New macro.
95844         (savedir): Use xmalloc / xrealloc to allocate memory.
95845         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95846         Skip "" directory entries.
95847         Use strlen to calculate directory entry length, since the old method
95848         is rarely used these days and isn't worth supporting.
95849         Don't use a pointer after freeing it.
95850         Check for integer overflow when calculating allocation size.
95851         Use memcpy to copy entries, instead of stpcpy.
95852         Set errno properly when returning NULL.
95853         Check for readdir error.
95854
95855 2000-06-26  Jim Meyering  <meyering@lucent.com>
95856
95857         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95858
95859 2000-06-25  Jim Meyering  <meyering@lucent.com>
95860
95861         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95862         Linux header bug when _XOPEN_SOURCE is defined to 500.
95863
95864 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95865
95866         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95867         deficiency.
95868
95869 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95870
95871         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95872         Include xalloc.h.
95873         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95874
95875 2000-06-24  Jim Meyering  <meyering@lucent.com>
95876
95877         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95878         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95879         for which strerror does return char*, but which lacks a conveniently
95880         accessible declaration of the function.  If the compile-test says
95881         strerror_r doesn't work, then resort to a `run'-test that works on
95882         BeOS and segfaults on DEC Unix.
95883
95884 2000-06-24  Jim Meyering  <meyering@lucent.com>
95885
95886         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95887
95888 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95889
95890         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95891         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95892
95893 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95894
95895         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95896         (mbrtowc, mbstate_t): Define substitutes if
95897         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95898         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95899         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95900
95901 2000-06-23  Jim Meyering  <meyering@lucent.com>
95902
95903         * m4/afs.m4: Add missing AC_MSG_RESULT.
95904         Reported by Bruno Haible.
95905
95906         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95907         Suggestion from Bruno Haible.
95908
95909 2000-06-23  Jim Meyering  <meyering@lucent.com>
95910
95911         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95912
95913 2000-06-21  Jim Meyering  <meyering@lucent.com>
95914
95915         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95916
95917 2000-06-21  Jim Meyering  <meyering@lucent.com>
95918
95919         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95920         (noinst_HEADERS): Add getstr.h.
95921
95922         * lib/getline.c (getstr): Move into a separate file.
95923         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95924         the following changes: new parameter, delim2; both delim[12]
95925         parameters have type `int', not `char'.  The latter would lose
95926         with 8-bit delimiters.
95927         * lib/getstr.h: New file.
95928
95929 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95930
95931         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95932         than 1024, return a memory chunk of least possible size, instead
95933         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95934         Use free/xmalloc instead of xrealloc to avoid copying for very long
95935         paths.
95936
95937 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95938
95939         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95940         the empty string.
95941
95942 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95943
95944         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95945         address, not strdup.  Include <stdlib.h> and don't declare free().
95946
95947 2000-06-19  Jim Meyering  <meyering@lucent.com>
95948
95949         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95950
95951 2000-06-18  Jim Meyering  <meyering@lucent.com>
95952
95953         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95954
95955         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95956         `checking whether...' message to be consistent with that of the
95957         lstat test.
95958
95959 2000-06-18  Jim Meyering  <meyering@lucent.com>
95960
95961         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95962         Besides, these days every porting target provides a mkdir function.
95963
95964         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95965         needed. (this snippet comes from src/system.h).
95966
95967 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95968
95969         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95970
95971 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95972
95973         * lib/human.c (adjust_value): New function.
95974         (human_readable_inexact): Apply rounding style even when
95975         printing approximate values.
95976
95977 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95978
95979         * lib/human.c (human_readable_inexact): Allow an input block
95980         size that is not a multiple of the output block size, and vice versa.
95981         Reported by Piergiorgio Sartor.
95982
95983 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95984
95985         * lib/getdate.y (get_date): Apply relative times after time
95986         zone indicator, not before.  Reported by Todd A. Jacobs.
95987
95988 2000-06-13  Jim Meyering  <meyering@lucent.com>
95989
95990         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95991
95992         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95993
95994 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95995
95996         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95997
95998 2000-06-12  Jim Meyering  <meyering@lucent.com>
95999
96000         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
96001         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
96002         optional argument.
96003         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
96004         the optional argument, `lib'.
96005
96006 2000-06-08  Jim Meyering  <meyering@lucent.com>
96007
96008         * m4/largefile.m4: Remove file (now that it's part of autoconf).
96009
96010 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96011
96012         Rewrite largefile configuration so that we don't need to run
96013         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
96014         AC_CANONICAL_HOST in configure.in -- jmm]
96015
96016         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
96017         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
96018         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
96019         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
96020         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
96021         All uses changed.
96022         Instead of inspecting the output of getconf, try to compile the
96023         test program without and with the macro definition.
96024         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
96025         for getconf.  Instead, check for the needed flags by compiling
96026         test programs.
96027
96028 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96029
96030         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
96031
96032 2000-06-04  Jim Meyering  <meyering@lucent.com>
96033
96034         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
96035         SunOS 4.1.4 for which gid_t is an unsigned type.
96036
96037 2000-06-03  Jim Meyering  <meyering@lucent.com>
96038
96039         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
96040         now that autoconf requires that.
96041
96042         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
96043         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
96044         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
96045
96046 2000-06-03  Jim Meyering  <meyering@lucent.com>
96047
96048         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
96049
96050 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96051
96052         * m4/glibc21.m4: New file.
96053         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
96054
96055 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96056
96057         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
96058         newer, don't install charset.alias.
96059         * lib/config.charset: Change the Linux/glibc rules so they become empty
96060         on glibc-2.1 or newer.
96061
96062 2000-06-02  Jim Meyering  <meyering@lucent.com>
96063
96064         * lib/mountlist.c: Back out last change.  Instead, do this...
96065         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
96066         me_dummy member using the same `ignore'-testing code.
96067         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
96068         fs_type strings.
96069         From Mark D. Roth.
96070
96071 2000-05-29  Jim Meyering  <meyering@lucent.com>
96072
96073         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
96074         mounts with the `ignore' attribute.  Based on a patch from
96075         Mark D. Roth.
96076
96077 2000-05-28  Jim Meyering  <meyering@lucent.com>
96078
96079         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
96080         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96081         * m4/stat.m4: Likewise.
96082         * m4/lstat.m4: Likewise.
96083         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
96084
96085         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
96086         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
96087
96088 2000-05-26  Jim Meyering  <meyering@lucent.com>
96089
96090         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
96091
96092 2000-05-24  Jim Meyering  <meyering@lucent.com>
96093
96094         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
96095         autoconf requires that.
96096         * m4/lib-check.m4: Likewise.
96097         * m4/jm-macros.m4: Likewise.
96098         * m4/strftime.m4: Likewise.
96099
96100         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
96101         AC_CHECK_DECLS, now that autoconf requires that.
96102
96103 2000-05-22  Jim Meyering  <meyering@lucent.com>
96104
96105         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96106         * m4/lstat.m4: Likewise.
96107
96108 2000-05-22  Jim Meyering  <meyering@lucent.com>
96109
96110         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
96111
96112 2000-05-20  Jim Meyering  <meyering@lucent.com>
96113
96114         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
96115         (jm_PREREQ): Use it.
96116
96117 2000-05-18  Jim Meyering  <meyering@lucent.com>
96118
96119         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
96120         back, too, since it may have been modified by allocate_entry.
96121         (hash_delete): Rewrite to use neither the assignment operator
96122         nor the comma operator in an if-expression.
96123
96124 2000-05-15  Paul Eggert  <eggert@twinsun.com>
96125
96126         * lib/closeout.c:
96127         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96128         Remove; no longer needed.
96129         "quotearg.h": Add include.
96130         (file_name): Do not bother to explicitly initialize to NULL; it's less
96131         efficient on some hosts.
96132         (close_stdout_status): Remove test as to whether stdout was already
96133         closed; it breaks for the case "echo x | sort >&-".
96134         Quote file name colons.
96135         Do not assume that _("write error") lacks format strings.
96136
96137 2000-05-15  Jim Meyering  <meyering@lucent.com>
96138
96139         * lib/version-etc.c (version_etc_copyright): Update the copyright
96140         string used in all --version output.
96141
96142 2000-05-14  Jim Meyering  <meyering@lucent.com>
96143
96144         * lib/closeout.c (close_stdout_set_file_name): New function.
96145         (close_stdout_status): Use new file-scoped global.
96146         Return right away if fstat says the stdout file descriptor is invalid.
96147         * lib/closeout.h (close_stdout_set_file_name): Declare.
96148
96149 2000-05-10  Jim Meyering  <meyering@lucent.com>
96150
96151         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96152         (close_stdout_set_status): New function.
96153         * lib/closeout.h (close_stdout_set_status): Declare.
96154
96155 2000-05-09  Jim Meyering  <meyering@lucent.com>
96156
96157         * m4/gettext.m4: Rename this...
96158         * m4/libintl.m4: ...to this.
96159
96160 2000-05-08  Jim Meyering  <meyering@lucent.com>
96161
96162         * lib/long-options.c: Don't include closeout.h.
96163         (parse_long_options): Don't call close_stdout for --version.
96164
96165 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96166
96167         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96168         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96169         2.1.3 bug.  This avoids a clash when files like regex.c define
96170         _GNU_SOURCE.
96171
96172 2000-05-06  Jim Meyering  <meyering@lucent.com>
96173
96174         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96175         (AC_REPLACE_FUNCS): Add strnlen.
96176
96177         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96178         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96179
96180         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96181         AC_SEARCH_LIBS call for nanosleep.
96182         (LIB_NANOSLEEP): Set and AC_SUBST.
96183
96184 2000-05-06  Jim Meyering  <meyering@lucent.com>
96185
96186         * lib/strnlen.c: Undefine __strnlen and strnlen.
96187         [!weak_alias]: Define __strnlen to strnlen.
96188
96189         * lib/atexit.c: New file, from libiberty.
96190
96191 2000-05-06  Jim Meyering  <meyering@lucent.com>
96192
96193         * lib/closeout.c (close_stdout_status): Also check for errors on the
96194         stderr stream.
96195
96196 2000-05-05  Jim Meyering  <meyering@lucent.com>
96197
96198         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96199         AC_SEARCH_LIBS call for clock_gettime.
96200         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96201
96202         * m4/search-libs.m4: Update from autoconf.
96203
96204         su doesn't work on Solaris 2.6.
96205         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96206         <shadow.h>.  Reported by Dragos Harabor.
96207
96208 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96209
96210         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96211         memcpy instead of xmalloc, xrealloc, path_concat.
96212         (locale_charset): Treat empty environment variables as absent.
96213         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96214
96215 2000-05-04  Jim Meyering  <meyering@lucent.com>
96216
96217         * lib/getopt.c: Update from glibc.
96218         * lib/obstack.c: Likewise.
96219         * lib/obstack.h: Likewise.
96220         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96221         file
96222
96223         * lib/regex.h: Likewise.
96224         * lib/strndup.c: Likewise.
96225         * lib/strnlen.c: New file, from glibc.
96226
96227 2000-05-03  Jim Meyering  <meyering@lucent.com>
96228
96229         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96230
96231 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96232
96233         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96234         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96235         compile-time test, rather than inspecting host and OS, to
96236         decide whether to define _LARGEFILE_SOURCE.
96237
96238 2000-05-01  Jim Meyering  <meyering@lucent.com>
96239
96240         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96241
96242         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96243         Based on a patch from Bruno Haible.
96244
96245 2000-05-01  Jim Meyering  <meyering@lucent.com>
96246
96247         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96248
96249 2000-04-29  Jim Meyering  <meyering@lucent.com>
96250
96251         * lib/path-concat.c: Declare strdup only if it's not defined.
96252         * lib/canon-host.c: Likewise.
96253
96254 2000-04-28  Jim Meyering  <meyering@lucent.com>
96255
96256         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96257         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96258         is included first, then limits.h is included by locale.h by libintl.h.
96259         From John David Anglin.
96260
96261 2000-04-25  Jim Meyering  <meyering@lucent.com>
96262
96263         * lib/makepath.c (S_IRWXUGO): Define.
96264         (make_path): Always perform explicit chmod if MODE specifies any
96265         of the `special' permission bits.  Prompted by a bug report against
96266         install from Mate Wierdl and Joost van Baal.
96267
96268 2000-04-18  Jim Meyering  <meyering@lucent.com>
96269
96270         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96271         (jm_PREREQ): Use it.
96272
96273 2000-04-18  Jim Meyering  <meyering@lucent.com>
96274
96275         * lib/README: New file.
96276
96277         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96278         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96279
96280 2000-04-17  Jim Meyering  <meyering@lucent.com>
96281
96282         Get it right :-)
96283         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96284         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96285         Suggestion from Akim Demaille.
96286
96287 2000-04-17  Jim Meyering  <meyering@lucent.com>
96288
96289         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96290         the definition of it to rpl_strftime also defined-away the system's
96291         declaration.
96292
96293 2000-04-15  Jim Meyering  <meyering@lucent.com>
96294
96295         Use `C' to denote so-called `contiguous' files, the same way
96296         that tar does.
96297         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96298         (ftypelet): Use S_ISCTG.
96299         From Michael Deutschmann.
96300
96301 2000-04-14  Jim Meyering  <meyering@lucent.com>
96302
96303         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96304         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96305         clobbered.
96306
96307 2000-04-14  Jim Meyering  <meyering@lucent.com>
96308
96309         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96310
96311 2000-04-13  Jim Meyering  <meyering@lucent.com>
96312
96313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96314         AH_VERBATIM to insert required #ifndef into config.h.in.
96315         Suggestion from Akim Demaille.
96316
96317 2000-04-12  Jim Meyering  <meyering@lucent.com>
96318
96319         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96320         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96321         Christian Krackowizer.
96322
96323         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96324         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96325         (AC_SYS_LARGEFILE): Require.
96326         (AM_C_PROTOTYPES): Require.
96327
96328 2000-04-08  Jim Meyering  <meyering@lucent.com>
96329
96330         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96331         names don't conflict.  Reported by Eli Zaretskii.
96332
96333 2000-04-07  Jim Meyering  <meyering@lucent.com>
96334
96335         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96336         sys/types.h, to work around system header problems on AIX 3.2.5.
96337         From Bruno Haible.
96338
96339 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96340
96341         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96342         bug.  Deal with the different error behavior of Irix iconv.
96343
96344 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96345
96346         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96347         IRIX if the installer said otherwise.
96348
96349 2000-04-05  Jim Meyering  <meyering@lucent.com>
96350
96351         Portability tweaks required for ultrix4.3.
96352         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96353         (jm_CHECK_DECLS): Add getutent to the list of functions.
96354         (_jm_DECL_HEADERS): Add utmpx.h.
96355         From John David Anglin.
96356
96357         * m4/strftime.m4: Back out the 2000-04-02 change.
96358         Instead of that change, simply undefine putenv in the test program.
96359
96360 2000-04-05  Jim Meyering  <meyering@lucent.com>
96361
96362         Portability tweaks required for ultrix4.3.
96363         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96364         getutent.
96365         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96366         * lib/canon-host.c: Declare strdup.
96367         * lib/path-concat.c: Likewise.
96368         From John David Anglin.
96369
96370 2000-04-04  Jim Meyering  <meyering@lucent.com>
96371
96372         Be more DOS 8.3-friendly.
96373         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96374         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96375         * lib/Makefile.am: Reflect renaming.
96376         Reported by Eli Zaretskii.
96377
96378         Use a temporary file name that won't clash with `charset.alias'
96379         in the DOS 8.3 name space.
96380         * lib/Makefile.am (charset_tmp): Define.
96381         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96382         (uninstall-local): Likewise.
96383         Reported by Eli Zaretskii.
96384
96385 2000-04-03  Jim Meyering  <meyering@lucent.com>
96386
96387         * m4/gettext.m4: Fix typo in comment.
96388
96389         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96390         textutils/configure.in).  Suggestion from Paul Eggert.
96391         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96392
96393 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96394
96395         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96396         variable in the shell rather than using putenv, which isn't
96397         portable.  This avoids the configure-time inter-test dependency
96398         on the potentially-renamed putenv function.
96399
96400 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96401
96402         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96403         before checking struct stat.st_blksize, so that
96404         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96405
96406 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96407
96408         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96409         since strftime.c uses HAVE_STRFTIME to decide whether to use
96410         the underlying strftime.
96411
96412 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96413
96414         * lib/time/strftime.c (my_strftime): Make sure we call the system
96415         strftime, not ourselves, when invoking the underlying strftime.
96416
96417 2000-03-24  Jim Meyering  <meyering@lucent.com>
96418
96419         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96420         (charset_alias): Define.
96421         (install-exec-local): Factor out common code.
96422         (uninstall-local): Split lines longer than 80.
96423         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
96424         (SUFFIXES): Define.
96425         (.sed.in.sed): New rule.  Don't redirect directly to $@.
96426         (CLEANFILES): Add ref-add.sed and ref-del.sed.
96427
96428 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
96429
96430         * lib/config.charset: Output a line containing "Packages using this
96431         file".
96432         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
96433         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
96434         ref-del.sed): New rules.
96435
96436 2000-03-17  Jim Meyering  <meyering@lucent.com>
96437
96438         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
96439         Otherwise, include <strings.h>
96440
96441 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
96442
96443         * lib/unicodeio.c (utf8_wctomb): New function.
96444         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
96445         format instead of in UCS-4 with platform dependent endianness.
96446
96447 2000-03-10  Jim Meyering  <meyering@lucent.com>
96448
96449         * m4/lib-check.m4: Look for getspnam in -lgen, too.
96450         From Marco Franzen.
96451
96452 2000-03-07  Paul Eggert  <eggert@twinsun.com>
96453
96454         * lib/savedir.c (savedir): Work even if directory size is
96455         negative; this can happen with some screwy NFS configurations.
96456
96457 2000-03-06  Jim Meyering  <meyering@lucent.com>
96458
96459         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96460         if it's NULL (because we ran out of memory).  From Bruno Haible.
96461
96462 2000-03-05  Jim Meyering  <meyering@lucent.com>
96463
96464         * lib/localcharset.c ("path-concat.h"): Include.
96465         (get_charset_aliases): Use path_concat instead of ANSI string
96466         concatenation.
96467
96468         * lib/unicodeio.h (PARAMS): Define.
96469         Use it to guard prototype.
96470
96471 2000-03-04  Jim Meyering  <meyering@lucent.com>
96472
96473         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96474         for lib/localcharset.c.
96475
96476 2000-03-04  Jim Meyering  <meyering@lucent.com>
96477
96478         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96479         installing into it.
96480         (uninstall-local): Uncomment this rule so `make distcheck' works
96481         once again.
96482
96483         * lib/unicodeio.c (<errno.h>): Include it.
96484         (errno): Declare if not defined.
96485
96486         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96487
96488         * lib/config.charset: New version, incorporating remarks from a linux
96489         i18n mailing list.  From Bruno Haible.
96490
96491 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96492
96493         * m4/codeset.m4: New file.
96494         * m4/iconv.m4: New file.
96495         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96496
96497 2000-03-03  Jim Meyering  <meyering@lucent.com>
96498
96499         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96500
96501 2000-03-02  Jim Meyering  <meyering@lucent.com>
96502
96503         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96504         the messages come out on separate lines.
96505
96506         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96507         rather than jm_CHECK_DECLARATIONS.
96508         * m4/decl.m4: Remove now-unused file.
96509
96510         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96511         geteuid.
96512
96513 2000-03-02  Jim Meyering  <meyering@lucent.com>
96514
96515         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96516
96517 2000-03-01  Jim Meyering  <meyering@lucent.com>
96518
96519         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96520         * lib/unicodeio.c: Likewise.
96521
96522 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96523
96524         * lib/config.charset: New file.
96525         * lib/localcharset.c: New file.
96526         * lib/unicodeio.h, lib/unicodeio.c: New files.
96527         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96528         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96529         (noinst_HEADERS): Add unicodeio.h.
96530         (all-local, install-exec-local, charset.alias): New targets.
96531
96532 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96533
96534         * lib/quotearg.c (ALERT_CHAR): New macro.
96535         (quotearg_buffer_restyled): Use it.
96536
96537 2000-02-27  Jim Meyering  <meyering@lucent.com>
96538
96539         * m4/check-decl.m4: Add getenv to the list.
96540
96541 2000-02-27  Jim Meyering  <meyering@lucent.com>
96542
96543         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96544         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96545
96546         * lib/backupfile.c: Guard inclusion of stdlib.h with
96547         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96548         Declare malloc if needed.
96549
96550         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96551         `#ifndef HAVE_DECL..'
96552         now that autoconf always defines the HAVE_DECL_ symbols.
96553         * lib/human.c: Likewise.
96554         * lib/same.c: Likewise.
96555         * lib/strtoumax.c: Likewise.
96556
96557         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96558         declaration check was not run.
96559         * lib/hash.c: Likewise.
96560         * lib/human.c: Likewise.
96561         * lib/same.c: Likewise.
96562         * lib/strtoumax.c: Likewise.
96563
96564         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96565         `.', then first look up the entire `.'-containing string as a login
96566         name.
96567
96568 2000-02-23  Jim Meyering  <meyering@lucent.com>
96569
96570         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96571         in place of my hack.
96572
96573 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96574
96575         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96576         (textint): New typedef.
96577         (parser_control): Member year changed from int to textint.
96578         All uses changed.
96579         (YYSTYPE): Removed; replaced by %union with int and textint members.
96580         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96581         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96582         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96583         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96584         (date, number, to_year): Use width of number in digits, not its value,
96585         to determine whether it's a 2-digit year, or a 2-digit time.
96586         (yylex): Store number of digits of numeric tokens.
96587         Reported by John Kendall.
96588
96589         (parser_control): Changed from struct parser_control to typedef (for
96590         consistency).  All uses changed.
96591
96592         (tID): Removed; not used.
96593         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96594
96595 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96596
96597         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96598         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96599
96600 2000-02-12  Jim Meyering  <meyering@lucent.com>
96601
96602         * lib/userspec.c (ISDIGIT): Define it.
96603         (isdigit): Remove definition.
96604         (is_number): Use ISDIGIT, not isdigit.
96605         <libintl.h>: Include.
96606         (_ and N_): Define.
96607         (parse_user_spec): Mark translatable strings.
96608
96609 2000-02-10  Jim Meyering  <meyering@lucent.com>
96610
96611         With these changes, nanosleep.[ch] are finally enough like the other
96612         lib/* replacement files to compile on a few more losing systems.
96613
96614         * lib/nanosleep.h: Don't include config.h.
96615         Remove prototype from declaration of nanosleep.
96616         (PARAMS): Remove now-unneeded definition.
96617         * lib/nanosleep.c: #undef nanosleep.
96618         (rpl_nanosleep): Rename from nanosleep.
96619
96620 2000-02-10  Jim Meyering  <meyering@lucent.com>
96621
96622         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96623         gnu_nanosleep to rpl_nanosleep.
96624
96625 2000-02-09  Jim Meyering  <meyering@lucent.com>
96626
96627         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96628         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96629
96630 2000-02-08  Akim Demaille  <akim@epita.fr>
96631
96632         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96633         `[' and `]' and remove uses of `changequote'.
96634         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96635         (AC_SYS_LARGEFILE): Likewise.
96636         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96637         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96638         of changequote.
96639         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96640         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96641         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96642         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96643
96644 2000-02-05  Jim Meyering  <meyering@lucent.com>
96645
96646         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96647         Remove explicit use of AC_HEADER_TIME.  It is required by
96648         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96649         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96650         in autoconf whereby the expansion of the latter ended up preceding
96651         the expansion of its prerequisite, AC_HEADER_TIME.
96652         Reported by Volker Borchert.
96653
96654 2000-02-03  Jim Meyering  <meyering@lucent.com>
96655
96656         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96657
96658 2000-02-03  Jim Meyering  <meyering@lucent.com>
96659
96660         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96661         rather than with `#if HAVE_UTMPNAME'.
96662
96663 2000-02-02  Jim Meyering  <meyering@lucent.com>
96664
96665         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96666         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96667         Reported by Eli Zaretskii.
96668
96669 2000-02-01  Jim Meyering  <meyering@lucent.com>
96670
96671         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96672
96673 2000-01-31  Jim Meyering  <meyering@lucent.com>
96674
96675         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96676         functions.  Add the time.h and sys/time.h headers along with the
96677         AC_REQUIRE'ment of AC_HEADER_TIME.
96678
96679 2000-01-31  Jim Meyering  <meyering@lucent.com>
96680
96681         * lib/nanosleep.h (nanosleep): Guard declaration with
96682         `#if ! HAVE_DECL_NANOSLEEP'.
96683         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96684         the declaration in that vendor's sys/timers.h.
96685         Reported by Christian Krackowizer.
96686
96687         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96688         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96689         (ISPRINT): Likewise.
96690         Reported by Tom Tromey.
96691
96692 2000-01-30  Jim Meyering  <meyering@lucent.com>
96693
96694         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96695
96696         * m4/prereq.m4 (utmp_includes): Define.
96697         Check for ut_user and ut_name members in both struct utmpx
96698         and struct utmp.
96699
96700 2000-01-30  Jim Meyering  <meyering@lucent.com>
96701
96702         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96703         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96704         header files where only utmpx.ut_user is declared.
96705
96706         * lib/readutmp.h (UT_USER): Define.
96707
96708 2000-01-29  Jim Meyering  <meyering@lucent.com>
96709
96710         * m4/lib-check.m4: New file containing library-related checks from
96711         fileutils and sh-utils (textutils had none).
96712
96713 2000-01-28  Jim Meyering  <meyering@lucent.com>
96714
96715         * m4/perl.m4: Change format of warning message to look more like that
96716         from the missing script.  Suggestion from François Pinard.
96717
96718 2000-01-25  Jim Meyering  <meyering@lucent.com>
96719
96720         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96721         well as time.h in the compile check.
96722         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96723         Fix typo in cross-compiling case: s/yes/no/.
96724
96725 2000-01-23  Jim Meyering  <meyering@lucent.com>
96726
96727         * m4/jm-macros.m4: Move df-related tests here from
96728         fileutils/configure.in
96729
96730         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96731         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96732
96733         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96734         s/space/ac_fsusage_space/.
96735         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96736
96737         * m4/ftruncate.m4: New file (derived from part of
96738         fileutils/configure.in).
96739         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96740         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96741
96742         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96743         AC_SUBST these here, rather than just in sh-util/configure.in, so
96744         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96745         all the same.
96746         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96747         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96748         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96749         (AC_SUBST(POW_LIBM)): Likewise.
96750         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96751
96752 2000-01-23  Jim Meyering  <meyering@lucent.com>
96753
96754         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96755         obstack.c.
96756
96757 2000-01-22  Jim Meyering  <meyering@lucent.com>
96758
96759         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96760
96761         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96762
96763         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96764         configure.in
96765         (AC_CHECK_HEADERS): Likewise for sh-utils.
96766         (AC_CHECK_HEADERS): Likewise for textutils.
96767         Merge the three lists of headers.
96768
96769         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96770         from fileutils' configure.in.
96771
96772         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96773         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96774         check-decl.m4.
96775
96776         * m4/check-decl.m4: Use #if rather than #ifdef.
96777         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96778         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96779         (_jm_DECL_HEADERS): Define new function.
96780         (jm_CHECK_DECLARATIONS): Require it.
96781
96782 2000-01-22  Jim Meyering  <meyering@lucent.com>
96783
96784         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96785         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96786         Required for some AIX systems.  Reported by Christian Krackowizer.
96787         [TESTING] (main): New function.
96788
96789         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96790         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96791         letters.
96792
96793         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96794         iswprint.
96795
96796         * lib/strverscmp.c (ISDIGIT): Define.
96797         (strverscmp): Use ISDIGIT, not isdigit.
96798
96799 2000-01-19  Jim Meyering  <meyering@lucent.com>
96800
96801         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96802         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96803         defines `struct timespec' in <sys/time.h>
96804
96805         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96806         Thanks to Akim for explaining.
96807
96808 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96809
96810         * lib/nanosleep.c (nanosleep):
96811         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96812         POSIX.1 doesn't require SA_INTERRUPT and some systems
96813         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96814         it's been part of POSIX.1 since day 1 (in 1988).
96815
96816 2000-01-17  Jim Meyering  <meyering@lucent.com>
96817
96818         * lib/interlock: Remove unused file.  Reported by François Pinard.
96819
96820 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96821
96822         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96823         alert, backslash, formfeed, and vertical tab unnecessarily in
96824         shell quoting style.
96825
96826 2000-01-16  Jim Meyering  <meyering@lucent.com>
96827
96828         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96829         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96830         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96831         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96832
96833 2000-01-16  Jim Meyering  <meyering@lucent.com>
96834
96835         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96836         because the latter didn't work.
96837
96838 2000-01-15  Jim Meyering  <meyering@lucent.com>
96839
96840         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96841         (AC_REPLACE_FUNCS): Add memcpy and memset.
96842         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96843         Add strpbrk.
96844         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96845
96846 2000-01-12  Jim Meyering  <meyering@lucent.com>
96847
96848         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96849         (jm_PREREQ): Use it.
96850         (jm_PREREQ_READUTMP): New macro.
96851         (jm_PREREQ): Use it.
96852
96853 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96854
96855         Quote multibyte characters correctly.
96856         * m4/c-bs-a.m4: New file.
96857         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96858         (jm_PREREQ): Use it.
96859
96860 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96861
96862         * m4/uintmax_t.m4: Port to autoconf 2.13.
96863
96864 2000-01-08  Jim Meyering  <meyering@ascend.com>
96865
96866         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96867         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96868
96869 2000-01-04  Jim Meyering  <meyering@ascend.com>
96870
96871         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96872         jm_STRUCT_DIRENT_D_TYPE.
96873         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96874         jm_STRUCT_DIRENT_D_INO.
96875         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96876         jm_STRUCT_UTIMBUF.
96877         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96878         renamings.
96879         * m4/utime.m4: Likewise.
96880
96881         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96882         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96883
96884 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96885
96886         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96887         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96888
96889 2000-01-02  Jim Meyering  <meyering@ascend.com>
96890
96891         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96892         remember if this is necessary.
96893
96894 1999-12-26  Jim Meyering  <meyering@ascend.com>
96895
96896         * m4/jm-macros.m4: Use it here.
96897         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96898
96899 1999-12-23  Jim Meyering  <meyering@ascend.com>
96900
96901         * m4/jm-macros.m4: Check for clock_gettime (moved from
96902         fileutils/configure.in)
96903         Check for gettimeofday.
96904
96905 1999-12-20  Jim Meyering  <meyering@ascend.com>
96906
96907         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96908         autoconf-2.14a-1999-12-20.
96909
96910 1999-12-19  Jim Meyering  <meyering@ascend.com>
96911
96912         * m4/lstat-slash.m4: New file.
96913         * m4/jm-macros.m4: Use the new macro:
96914         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96915
96916 1999-12-07  Jim Meyering  <meyering@ascend.com>
96917
96918         * m4/perl.m4: Require that File::Compare be available, too.
96919         Too many systems seem to lack it.
96920
96921         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96922         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96923
96924 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96925
96926         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96927         problem with the QNX 4.25 shell, which doesn't propagate exit
96928         status of failed commands inside shell assignments.
96929
96930 1999-11-17  Jim Meyering  <meyering@ascend.com>
96931
96932         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96933
96934 1999-11-07  Jim Meyering  <meyering@ascend.com>
96935
96936         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96937
96938 1999-11-06  Jim Meyering  <meyering@ascend.com>
96939
96940         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96941         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96942
96943 1999-11-05  Jim Meyering  <meyering@ascend.com>
96944
96945         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96946         configure.in of textutils, fileutils, and sh-utils into this one
96947         (shared between those packages) file.
96948         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96949         AC_STRUCT_ST_BLKSIZE.
96950
96951 1999-11-03  Jim Meyering  <meyering@ascend.com>
96952
96953         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96954         of AC_CHECK_TYPE checks includes unistd.h.
96955         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96956         Suggestion from Akim Demaille.
96957
96958 1999-10-30  Jim Meyering  <meyering@ascend.com>
96959
96960         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96961         m4-quoted string.
96962         * m4/ls-mntd-fs.m4: Likewise.
96963         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96964         * m4/jm-winsz1.m4: Likewise.
96965
96966         * m4/const.m4: Remove file, since the fix made it into the experimental
96967         version of autoconf.
96968         * m4/mktime.m4: Likewise.
96969
96970         * m4/check-type.m4: Remove file, now that the latest version of
96971         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96972
96973         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96974         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96975         AC_CHECK_TYPE.
96976
96977 1999-10-04  Jim Meyering  <meyering@ascend.com>
96978
96979         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96980
96981 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96982
96983         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96984         2.95.1 bug with HP-UX 10.20.
96985
96986 1999-09-17  Jim Meyering  <meyering@ascend.com>
96987
96988         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96989         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96990         due to missing strdup (against sh-utils-2.0).
96991
96992 1999-08-29  Jim Meyering  <meyering@ascend.com>
96993
96994         * m4/jm-macros.m4: Require jm_BISON.
96995         * m4/bison.m4: New file.
96996
96997 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96998
96999         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
97000         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
97001
97002 1999-08-05  Jim Meyering  <meyering@ascend.com>
97003
97004         * m4/getline.m4: Rename test file from conftestdata to conftest.data
97005         to avoid conflicts with `conftest' on 8+3 filesystems.
97006         Suggestion from Eli Zaretskii.
97007
97008 1999-08-04  Jim Meyering  <meyering@ascend.com>
97009
97010         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
97011         fileutils and sh-utils (textutils's getline test was inadequate).
97012         (AM_FUNC_GETLINE): Run this test.
97013         (AC_CHECK_FUNCS): Check for getdelim.
97014         Reported by Bob Proulx.
97015
97016 1999-08-02  Jim Meyering  <meyering@ascend.com>
97017
97018         * m4/jm-macros.m4: Add a comment.
97019
97020 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97021
97022         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
97023         <inttypes.h> defines strtoumax as a macro (and not as a
97024         function).
97025
97026 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97027
97028         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
97029         that we can shift, multiply and divide unsigned long long
97030         values; Ultrix cc can't do it.
97031
97032 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97033
97034         * m4/mktime.m4: New file, which is a preview of what should appear
97035         in the next public autoconf release.
97036
97037 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97038
97039         * m4/lfs.m4: Remove this file.
97040         * m4/largefile.m4: New file.  It contains the old contents of
97041         lfs.m4, except that all names with prefix AC_LFS have been
97042         changed to use the prefix AC_SYS_LARGEFILE instead, to be
97043         compatible with future autoconf versions.  Also, some minor m4
97044         quoting problems have been fixed.
97045
97046 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97047
97048         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
97049         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
97050         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
97051         and simplify the shell code.
97052
97053 1999-08-01  Jim Meyering  <meyering@ascend.com>
97054
97055         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
97056         m4.
97057
97058 1999-07-20  Jim Meyering  <meyering@ascend.com>
97059
97060         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
97061
97062 1999-07-15  Jim Meyering  <meyering@ascend.com>
97063
97064         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
97065
97066 1999-05-22  Jim Meyering  <meyering@ascend.com>
97067
97068         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
97069
97070 1999-05-20  Jim Meyering  <meyering@ascend.com>
97071
97072         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
97073         Add a colon after each `then' in case $4 is empty.
97074
97075 1999-05-16  Jim Meyering  <meyering@ascend.com>
97076
97077         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
97078
97079 1999-05-10  Jim Meyering  <meyering@ascend.com>
97080
97081         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
97082
97083         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
97084         AC_FUNC_MKTIME.
97085
97086 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
97087
97088         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
97089
97090 1999-05-04  Paul Eggert  <eggert@twinsun.com>
97091
97092         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
97093         not CPPFLAGS, so that linking works correctly in IRIX.
97094
97095 1999-04-30  Paul Eggert  <eggert@twinsun.com>
97096
97097         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
97098
97099 1999-04-20  Paul Eggert  <eggert@twinsun.com>
97100
97101         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
97102         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
97103         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
97104         jm_AC_TYPE_UNSIGNED_LONG_LONG.
97105         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
97106
97107         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
97108
97109 1999-04-20  Jim Meyering  <meyering@ascend.com>
97110
97111         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
97112         AC_REPLACE xstroull if necessary.  From Paul Eggert.
97113         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
97114
97115 1999-04-18  Jim Meyering  <meyering@ascend.com>
97116
97117         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
97118         * m4/jm-macros.m4: Use it.
97119
97120 1999-04-06  Jim Meyering  <meyering@ascend.com>
97121
97122         * m4/strftime.m4: Remove test for %f.
97123
97124 1999-03-29  Jim Meyering  <meyering@ascend.com>
97125
97126         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97127         superset of the AC_TYPE_* checks in the textutils, fileutils,
97128         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97129         AC_TYPE_PID_T.
97130
97131 1999-03-28  Jim Meyering  <meyering@ascend.com>
97132
97133         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97134         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97135         replaced e.g., in the *.sh files of the sh-utils.
97136
97137 1999-03-20  Jim Meyering  <meyering@ascend.com>
97138
97139         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97140         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97141         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97142
97143 1999-03-19  Jim Meyering  <meyering@ascend.com>
97144
97145         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97146
97147 1999-03-12  Jim Meyering  <meyering@ascend.com>
97148
97149         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97150
97151 1999-03-07  Jim Meyering  <meyering@ascend.com>
97152
97153         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97154         declared.
97155
97156 1999-02-17  Jim Meyering  <meyering@ascend.com>
97157
97158         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97159         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97160
97161 1999-02-07  Jim Meyering  <meyering@ascend.com>
97162
97163         * m4/group-member.m4: New file -- extracted from sh-utils'
97164         configure.in.
97165
97166         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97167         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97168
97169 1999-02-06  Jim Meyering  <meyering@ascend.com>
97170
97171         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97172         * m4/fnmatch.m4: Likewise.
97173         * m4/getgroups.m4: Likewise.
97174         * m4/lstat.m4: Likewise.
97175         * m4/malloc.m4: Likewise.
97176         * m4/putenv.m4: Likewise.
97177         * m4/realloc.m4: Likewise.
97178         * m4/regex.m4: Likewise.
97179         * m4/stat.m4: Likewise.
97180         * m4/strftime.m4: Likewise.
97181         Suggestion from Alain Magloire.
97182
97183         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97184         * m4/fnmatch.m4: Likewise.
97185         * m4/getgroups.m4: Likewise.
97186         * m4/getline.m4: Likewise.
97187         * m4/lstat.m4: Likewise.
97188         * m4/malloc.m4: Likewise.
97189         * m4/memcmp.m4: Likewise.
97190         * m4/putenv.m4: Likewise.
97191         * m4/realloc.m4: Likewise.
97192         * m4/regex.m4: Likewise.
97193         * m4/stat.m4: Likewise.
97194         * m4/strftime.m4: Likewise.
97195         Suggestion from Alain Magloire.
97196
97197         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97198         an argument.
97199
97200         * m4/regex.m4: Add a run-time Test for proper operation of
97201         re_compile_pattern.
97202
97203 1999-01-31  Jim Meyering  <meyering@ascend.com>
97204
97205         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97206
97207 1999-01-30  Jim Meyering  <meyering@ascend.com>
97208
97209         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97210
97211         * m4/jm-mktime.m4: Make this a wrapper around the official
97212         AM_FUNC_MKTIME rather than my private copy, now that the official one
97213         is up to date.
97214         * m4/mktime.m4: Remove file.
97215
97216         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97217         * m4/uptime.m4: Likewise.
97218         * m4/uintmax_t.m4: Likewise.
97219
97220 1999-01-28  Jim Meyering  <meyering@ascend.com>
97221
97222         * m4/jm-macros.m4: Use jm_AFS.
97223         * m4/afs.m4: New file (from fileutils' configure.in).
97224
97225         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97226         * m4/chown.m4: Likewise.
97227         * m4/d-ino.m4: Likewise.
97228         * m4/d-type.m4: Likewise.
97229         * m4/fnmatch.m4: Likewise.
97230         * m4/getgroups.m4: Likewise.
97231         * m4/gettext.m4: Likewise.
97232         * m4/jm-mktime.m4: Likewise.
97233         * m4/jm-winsz2.m4: Likewise.
97234         * m4/lcmessage.m4: Likewise.
97235         * m4/ls-mntd-fs.m4: Likewise.
97236         * m4/malloc.m4: Likewise.
97237         * m4/memcmp.m4: Likewise.
97238         * m4/putenv.m4: Likewise.
97239         * m4/realloc.m4: Likewise.
97240         * m4/st_mtim.m4: Likewise.
97241         * m4/strftime.m4: Likewise.
97242
97243 1999-01-16  Jim Meyering  <meyering@ascend.com>
97244
97245         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97246         (ARGMATCH_DIE_DECL): Define.
97247
97248 1999-01-12  Jim Meyering  <meyering@ascend.com>
97249
97250         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97251         Reported by Lars Hecking.
97252
97253 1999-01-10  Jim Meyering  <meyering@ascend.com>
97254
97255         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97256         gross kludge.
97257         * m4/inttypes_h.m4: Likewise.
97258         * m4/lstat.m4: Likewise.
97259         * m4/malloc.m4: Likewise.
97260         * m4/readdir.m4: Likewise.
97261         * m4/realloc.m4: Likewise.
97262         * m4/st_dm_mode.m4: Likewise.
97263         * m4/stat.m4: Likewise.
97264         * m4/utimbuf.m4: Likewise.
97265         * m4/utimes.m4: Likewise.
97266
97267         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97268         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97269         comments in config.h.in are meaningful.
97270
97271         * m4/jm-macros.m4: Require autoconf-2.13 here.
97272
97273         * m4/regex.m4: By default, don't use the included regex.c on systems
97274         with glibc 2.  Suggestion from Uli Drepper.
97275
97276 1999-01-02  Jim Meyering  <meyering@ascend.com>
97277
97278         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97279
97280 1998-12-18  Jim Meyering  <meyering@ascend.com>
97281
97282         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97283         Based on a suggestion from Lars Hecking.
97284
97285 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97286
97287         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97288
97289 1998-11-16  Jim Meyering  <meyering@ascend.com>
97290
97291         * m4/lfs.m4: Double-quote the `uname...` expression.
97292
97293 1998-11-14  Jim Meyering  <meyering@ascend.com>
97294
97295         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97296         * m4/stat.m4: Likewise.
97297
97298 1998-11-03  Jim Meyering  <meyering@ascend.com>
97299
97300         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97301         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97302
97303 1998-10-18  Jim Meyering  <meyering@ascend.com>
97304
97305         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97306
97307 1998-10-17  Jim Meyering  <meyering@ascend.com>
97308
97309         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97310         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97311         calls for those previously hard-coded headers.  Instead, take a new
97312         parameter.
97313         (jm_CHECK_DECLARATIONS): Reflect interface change.
97314         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97315         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97316
97317         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97318
97319 1998-10-14  Jim Meyering  <meyering@ascend.com>
97320
97321         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97322         instead of "TZ=America/Vancouver".  From Paul Eggert.
97323
97324 1998-10-11  Jim Meyering  <meyering@ascend.com>
97325
97326         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97327         This adds a test for a recently added compatibility fix for mktime.c.
97328         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97329
97330 1998-09-27  Jim Meyering  <meyering@ascend.com>
97331
97332         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97333
97334         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97335         ../configure.in, including a change from Gordon Matzigkeit to allow
97336         cross-compiling for the Hurd.
97337
97338         * m4/glibc.m4: New file/macro to test for the GNU C Library
97339         versions 1 and 2.  From Gordon Matzigkeit.
97340         Indent.
97341
97342 1998-09-21  Jim Meyering  <meyering@ascend.com>
97343
97344         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97345
97346 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97347
97348         Port nanosecond-resolution times to UnixWare 2.1.2 and
97349         pedantic Solaris 2.6.
97350
97351         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97352         AC_STRUCT_ST_MTIM.
97353         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97354         Generate name of ns member, instead of just 1 or undef.
97355         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97356
97357 1998-08-15  Jim Meyering  <meyering@ascend.com>
97358
97359         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97360         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97361         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97362         instead of jm_TYPE_SSIZE_T.
97363
97364 1998-08-12  Jim Meyering  <meyering@ascend.com>
97365
97366         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97367
97368 1998-08-02  Jim Meyering  <meyering@ascend.com>
97369
97370         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97371         in acconfig.h manually.
97372
97373 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97374
97375         * m4/st_mtim.m4: New file.
97376
97377 1998-07-28  Jim Meyering  <meyering@ascend.com>
97378
97379         * m4/utimes.m4: Undef stat.
97380
97381 1998-07-25  Jim Meyering  <meyering@ascend.com>
97382
97383         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97384         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97385
97386 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97387
97388         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97389         uid and gid actually remain unchanged.
97390
97391 1998-07-07  Jim Meyering  <meyering@ascend.com>
97392
97393         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97394
97395 1998-07-04  Jim Meyering  <meyering@ascend.com>
97396
97397         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97398         to prove that this macro can be used in packages without regex.c.
97399
97400 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97401
97402         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97403         is to be used.
97404
97405 1998-07-03  Jim Meyering  <meyering@ascend.com>
97406
97407         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97408
97409         * m4/gettext.m4: New file -- from gettext-0.10.35.
97410         * m4/lcmessage.m4: Likewise.
97411         * m4/progtest.m4: Likewise.
97412
97413         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97414         * m4/jm-macros.m4: Require the new macro.
97415
97416 1998-06-29  Jim Meyering  <meyering@ascend.com>
97417
97418         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97419         for the definition of NGROUPS (used in a system header included
97420         by sys/mount.h).
97421
97422 1998-06-28  Jim Meyering  <meyering@ascend.com>
97423
97424         * m4/ls-mntd-fs.m4: New file.
97425         * m4/fstypename.m4: New file.
97426
97427         * m4/jm-macros.m4: Require the new macro.
97428         * m4/jm-glibc-io.m4: New file.
97429
97430 1998-05-19  Jim Meyering  <meyering@ascend.com>
97431
97432         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
97433         * m4/lchown.m4: New file.
97434
97435         * m4/Makefile.am.in: New file.
97436         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
97437
97438 1998-05-14  Jim Meyering  <meyering@ascend.com>
97439
97440         * m4/Makefile.am (EXTRA_DIST): Add them.
97441         * m4/jm-macros.m4: New file.
97442         * m4/utimbuf.m4: New file.
97443
97444 1998-05-12  Jim Meyering  <meyering@ascend.com>
97445
97446         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
97447
97448 1998-05-11  Jim Meyering  <meyering@ascend.com>
97449
97450         * m4/isc-posix.m4: New file.
97451
97452 1998-05-10  Jim Meyering  <meyering@ascend.com>
97453
97454         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
97455
97456 1998-05-09  Jim Meyering  <meyering@ascend.com>
97457
97458         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97459         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97460         with automake.
97461
97462         * m4/ssize_t.m4: New file.
97463         * m4/mktime.m4: Remove file -- the new automake has this now.
97464
97465 1998-04-26  Jim Meyering  <meyering@ascend.com>
97466
97467         * m4/assert.m4: New file.
97468         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97469
97470 1998-04-05  Jim Meyering  <meyering@ascend.com>
97471
97472         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97473         (jm_PREREQ): Use it here.
97474
97475 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97476
97477         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97478         in acconfig.h.
97479
97480 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97481
97482         * m4/prereq.m4: New file.
97483         * m4/error.m4: New file.
97484         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97485
97486 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97487
97488         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97489         cache-check for the same variable -- that defeated the purpose of
97490         the test; the test program was never run.  This was a problem only
97491         on systems with losing getline functions -- HP-UX 10.20 is one.
97492         Reported by Bjorn Helgaas.
97493
97494 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97495
97496         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97497
97498 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97499
97500         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97501
97502         * m4/const.m4: New file.  Use an initializer in this declaration
97503         typedef int charset[2]; const charset x;
97504         Reported by Bob Glickstein.
97505
97506 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97507
97508         * m4/chown.m4: Fix reversed types on -1 args to chown.
97509         From Kaveh Ghazi.
97510
97511 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97512
97513         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97514         Add lseek and memchr.
97515
97516         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97517         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97518         have a 20-character limit on names.
97519
97520 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97521
97522         * m4/inttypes_h.m4: New file.
97523         * m4/uintmax_t.m4: New file.
97524         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97525
97526
97527         -----
97528
97529         Local Variables:
97530         coding: utf-8
97531         End:
97532
97533         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97534
97535         Copying and distribution of this file, with or without
97536         modification, are permitted provided the copyright notice
97537         and this notice are preserved.